Function OnClick
System::Call user32::GetWindowText(p$_1_,t.s,i1024)
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\System.dll
; SetDetailsPrint lastused
; Push user32::GetWindowText(p$_1_,t.s,i1024)
; CallInstDLL $PLUGINSDIR\System.dll Call
Pop $
0
StrCpy $_3_ $
0
Bamer::P $
0
;; Is Alphanumeric?
; Call Initialize_____Plugins
; AllowSkipFiles off
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $
0
; CallInstDLL $PLUGINSDIR\Bamer.dll P
Pop $R0
StrCmp $R0
0
0
label_658
Goto boom
label_658:
StrLen $
1
$
0
IntCmp $
1
100
0
boom boom ;;
Input
size should be
100
Bamer::B $
0
$
1
;; Modified Base64 decode
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $
1
; Push $
0
; CallInstDLL $PLUGINSDIR\Bamer.dll B
Pop $
2
;; $
2
=
decoded data
StrCpy $
3
$
2
11
0
;; $
3
=
first
11
char of decoded data
Push $
3
Call CheckPart1 ;; Must
return
true
Pop $R0
StrCmp $R0
False
0
label_673
Goto boom
label_673:
Push $
3
Call func_125 ;; $
3
=
$
3
+
"00010"
, pad
11
bytes key to
16
bytes
Pop $
3
StrCpy $
4
$
2
64
11
;; data[
11
:
11
+
64
]
StrLen $R0 $
4
StrCmp $R0
64
label_680
Goto boom
label_680:
Bamer::A $
4
64
$
3
;; ModifiedAESDecrypt(data[
11
:
11
+
64
],
64
, $
3
)
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $
3
; Push
64
; Push $
4
; CallInstDLL $PLUGINSDIR\Bamer.dll A
Pop $R0
StrCmp $R0
0
0
label_690 ;; Must
return
1
Goto boom
label_690:
Pop $R1 ;; Decrypted data[
11
:
11
+
64
]
StrCpy $
5
$R1
11
0
;; first
11
bytes
StrCpy $_6_ $
5
Push $
5
Call func_133 ;; CheckPart2First11Bytes, Answer: WelcomeHave
Pop $R0
StrCmp $R0
False
0
label_698
Goto boom
label_698:
StrCpy $
6
$R1
53
11
;;
next
53
bytes
Bamer::C
36
4
$
6
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $
6
; Push
4
; Push
36
; CallInstDLL $PLUGINSDIR\Bamer.dll C
Pop $R2
Push $_6_ ;; $_6_
=
"WelcomeHave"
Call func_615
Pop $
5
;; $
5
=
"WelcomeToHaveFun"
(
len
=
16
)
Bamer::G $
5
$R2
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $R2
; Push $
5
; CallInstDLL $PLUGINSDIR\Bamer.dll G
Pop $R0
StrCmp $R0
0
0
label_719
Goto boom
label_719:
Bamer::F $_3_ ;; FinalCheck: FNVHash(entire_input)
=
=
0x400D49F3
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $_3_
; CallInstDLL $PLUGINSDIR\Bamer.dll F
Pop $R0
StrCmp $R0
0
0
win
Goto boom
win:
StrLen $R1 XX
+
2IHcragE
=
;; You win!
Bamer::B XX
+
2IHcragE
=
$R1
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $R1
; Push XX
+
2IHcragE
=
; CallInstDLL $PLUGINSDIR\Bamer.dll B
Pop $R2
MessageBox MB_OK $R2
Return
boom:
StrLen $R1 U0JtakdiZX6wc1UxIR
=
=
Bamer::B U0JtakdiZX6wc1UxIR
=
=
$R1 ;; Wrong answer!
; Call Initialize_____Plugins
;
File
$PLUGINSDIR\Bamer.dll
; SetDetailsPrint lastused
; Push $R1
; Push U0JtakdiZX6wc1UxIR
=
=
; CallInstDLL $PLUGINSDIR\Bamer.dll B
Pop $R2
MessageBox MB_OK|MB_ICONINFORMATION $R2
FunctionEnd