Function at 0x4057b1
Capabilities:
Check for time delay via gettickcount
Find taskbar
Move file
Print debug messages
Resolve function by parsing pe exports
Set environment variable

Disassembly:
sub esp, 0x1a0
mov eax, dword [esp + 0x1ac]
test eax, eax
mov dword [esp + 0x50], ecx
jne 0x4057ca
lea eax, [esp + 0x44]
and dword [eax], 0
push ebx
push ebp
push esi
mov ebx, ecx
mov dword [esp + 0x34], eax
push edi
mov dword [esp + 0x14], ebx
test ecx, ecx
je 0x405a06
cmp byte [0x4642f0], 0
mov edi, 0x4565d8
mov ebp, 0x463de0
je 0x405802
push 0
mov ecx, 0x4642d8
call fcn.00442aac
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov esi, eax
sub eax, dword [0x4642ac]
cmp eax, dword [0x463340]
jbe 0x405849
xor eax, eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x40583b
push 1
push 0xffffffffffffffff
call fcn.0040bd90
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov esi, eax
mov dword [0x4642ac], esi
cmp byte [0x46334c], 0
jne 0x40589e
cmp byte [0x46334e], 0
jne 0x40589e
mov eax, dword [0x4642a0]
cmp eax, 0xffffffff
jle 0x40589e
cmp dword [0x463240], eax
jle 0x405898
cmp byte [0x4634a9], 0
mov byte [0x46334c], 1
je 0x40589e
push 0xa
push dword [0x463360]
call dword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x40589e
mov byte [0x4634a9], 0
jmp 0x40589e
inc dword [0x463240]
mov ecx, dword [0x46321c]
cmp ecx, 0xffffffff
jl 0x4058cb
mov eax, dword [0x463218]
jg 0x4058b5
cmp eax, 0xffffffff
jbe 0x4058cb
mov edx, dword [0x46429c]
cmp edx, ecx
jg 0x4058df
jl 0x4058cb
mov ecx, dword [0x464298]
cmp ecx, eax
jae 0x4058df
mov eax, dword [0x46323c]
cmp eax, 0xffffffff
jle 0x4058f3
sub esi, dword [0x4642a8]
cmp esi, eax
jb 0x4058f3
push 1
push 0xa
jmp 0x4058ec
push 1
push 0x8000012f
call fcn.0040bd90
pop ecx
pop ecx
cmp byte [0x463356], 0
jne 0x4058e5
mov eax, dword [0x466bd8]
mov dword [0x46401c], ebx
mov dword [eax*4 + 0x466598], ebx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, dword [0x466bd8]
mov dword [ecx*4 + 0x465ab8], eax
inc ecx
xor esi, esi
cmp ecx, 0x190
mov dword [0x466bd8], ecx
jl 0x405938
mov dword [0x466bd8], esi
cmp byte [ebx], 1
je 0x405950
push esi
push 0xffffffffffffffff
mov ecx, ebx
call fcn.004054cb
cmp eax, 1
jne 0x405a09
mov al, byte [ebx]
cmp al, 0xa
jb 0x405a63
cmp al, 0x21
ja 0x405a63
add dword [0x464298], 1
mov ecx, ebx
adc dword [0x46429c], esi
call fcn.0040905f
cmp eax, esi
je 0x408913
push 3
pop edi
cmp eax, edi
jne 0x4059ed
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1bc]
push edi
call fcn.004057b1
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
je 0x4059e6
cmp dword [esp + 0x1b4], edi
je 0x4089e4
cmp eax, esi
je 0x405a09
cmp eax, 7
je 0x405a09
cmp eax, 8
je 0x405a09
cmp eax, 5
je 0x405a09
cmp eax, 6
je 0x405a09
cmp ecx, esi
jne 0x405a58
mov ebx, dword [ebx + 0x18]
cmp ebx, esi
mov dword [esp + 0x14], ebx
je 0x405a06
cmp byte [ebx], 9
jne 0x4059e6
mov ebx, dword [ebx + 0x18]
mov dword [esp + 0x14], ebx
test ebx, ebx
jmp 0x4057dd
mov ebx, dword [ebx + 0x18]
cmp ebx, esi
mov dword [esp + 0x14], ebx
je 0x405a06
cmp byte [ebx], 9
je 0x405a16
cmp dword [esp + 0x1b4], edi
jne 0x4059e6
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a0
ret 0xc
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1bc]
push edi
call fcn.004057b1
cmp dword [esp + 0x1b4], edi
je 0x40891a
cmp eax, esi
je 0x405a09
cmp eax, 7
je 0x405a09
cmp eax, 8
je 0x405a09
cmp eax, 5
je 0x405a09
cmp eax, 6
je 0x405a09
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x4059df
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx + 0x1c]
jmp 0x408906
movzx eax, al
cmp eax, 0x69
jg 0x405ed0
je 0x408990
sub eax, 8
je 0x405a9d
sub eax, 0x57
je 0x405b2d
dec eax
je 0x405ac8
sub eax, 6
je 0x408956
dec eax
je 0x408923
dec eax
jne 0x405ef9
mov esi, dword [ebx + 0xc]
push 4
xor ebp, ebp
pop edi
cmp esi, edi
mov dword [esp + 0x28], ebp
jne 0x405b73
push ebp
push dword [0x4660f8]
call fcn.00419310
pop ecx
pop ecx
mov dword [esp + 0x28], eax
jmp 0x405c46
add dword [0x464298], 1
adc dword [0x46429c], esi
mov eax, dword [ebx + 0x18]
cmp eax, esi
mov dword [esp + 0x34], eax
jne 0x405af5
push 1
mov ecx, ebx
call fcn.00425310
cmp eax, esi
mov dword [esp + 0x34], eax
je 0x408913
push esi
push esi
push 1
mov ecx, eax
call fcn.004057b1
cmp eax, esi
je 0x405a09
cmp eax, 8
je 0x405a09
cmp dword [esp + 0x1b4], 3
jne 0x40888b
cmp eax, 7
jne 0x405a09
jmp 0x405a06
add dword [0x464298], 1
adc dword [0x46429c], esi
mov eax, dword [ebx + 0x18]
cmp eax, esi
mov dword [esp + 0x34], eax
jne 0x405b5a
push 1
mov ecx, ebx
call fcn.00425310
cmp eax, esi
mov dword [esp + 0x34], eax
je 0x408913
cmp dword [esp + 0x1b4], 3
je 0x40897e
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [eax + 0x1c]
jmp 0x405ec3
xor ecx, ecx
inc ecx
cmp esi, ecx
je 0x405b82
cmp esi, ebp
jne 0x405c2d
movzx eax, byte [ebx + 2]
sub eax, ebp
je 0x405c2a
dec eax
je 0x405bcb
push str.Read
push dword [0x4660f8]
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x405bab
push 5
jmp 0x405be3
push ebp
push dword [0x4660f8]
call fcn.00419310
pop ecx
pop ecx
xor ecx, ecx
cmp eax, ebp
setne cl
mov dword [esp + 0x28], eax
add ecx, 3
mov esi, ecx
jmp 0x405c2d
push ebp
push ecx
push ecx
push ecx
push dword [0x4660f8]
call fcn.00401ab0
add esp, 0x14
test eax, eax
je 0x405bab
push 2
pop esi
mov byte [esp + 0x44], 0
cmp byte [ebx + 2], 1
mov dword [esp + 0x3c], ebp
setb byte [esp + 0x48]
cmp byte [esp + 0x48], 0
mov dword [esp + 0x40], ebp
jne 0x405c65
cmp esi, 3
je 0x405c5d
cmp esi, edi
je 0x405c5d
cmp esi, 5
je 0x405c5d
cmp esi, 6
je 0x405c5d
push dword [0x4660f8]
call fcn.004019fb
pop ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
jmp 0x405c65
push 2
pop esi
cmp esi, 3
mov eax, dword [0x466100]
jne 0x405c42
cmp byte [eax], 0x31
jne 0x405be4
cmp byte [eax + 1], 0
je 0x405c56
cmp esi, edi
jne 0x405be4
mov eax, dword [0x466104]
cmp byte [eax], 0x31
jne 0x405be4
cmp byte [eax + 1], 0
jne 0x405be4
mov byte [esp + 0x44], 1
jmp 0x405be9
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
cmp byte [ebx], 8
jne 0x405c79
mov eax, dword [esp + 0x3c]
or eax, dword [esp + 0x40]
jne 0x405c79
mov byte [esp + 0x48], 1
cmp esi, 3
jne 0x405ca7
cmp byte [ebx + 2], 1
jbe 0x405cb1
push dword [0x4660fc]
call fcn.00414ca2
mov edi, eax
cmp edi, ebp
pop ecx
jne 0x405cdb
push dword [0x4660fc]
push ebp
push str.Parameter_2_invalid__The_current_thread_will_exit.
jmp 0x4089d5
cmp esi, edi
jne 0x405cd9
cmp byte [ebx + 2], 2
ja 0x405cb6
xor edi, edi
inc edi
jmp 0x405cdb
push dword [0x466100]
call fcn.00414ca2
mov edi, eax
cmp edi, ebp
pop ecx
jne 0x405cdb
push dword [0x466100]
push ebp
push str.Parameter_3_invalid__The_current_thread_will_exit.
jmp 0x4089d5
xor edi, edi
mov eax, dword [0x463224]
and dword [esp + 0x24], 0
and dword [0x463224], 0
cmp esi, 6
mov ebp, dword [0x463220]
mov dword [esp + 0x70], eax
mov eax, dword [0x463228]
mov dword [esp + 0x2c], eax
mov eax, dword [0x46322c]
mov dword [esp + 0x64], eax
mov eax, dword [0x463230]
mov dword [esp + 0x58], eax
mov eax, dword [0x463234]
mov byte [esp + 0x13], 0
mov dword [esp + 0x1c], eax
mov dword [0x463220], 1
jne 0x405d6b
push 0x459380
push dword [0x466100]
call fcn.00441849
pop ecx
pop ecx
test eax, eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x17]
push eax
push dword [esp + 0x1c0]
mov ecx, ebx
je 0x405d61
call fcn.00409b29
jmp 0x405e49
call fcn.00409d1b
jmp 0x405e49
cmp esi, 5
jne 0x405dbd
push 0x45937c
push dword [0x4660fc]
call fcn.0043dee8
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x405db5
push dword [0x466100]
lea eax, [esp + 0x28]
push edi
push eax
lea eax, [esp + 0x1f]
push eax
push dword [esp + 0x1c8]
mov ecx, ebx
call fcn.00418d44
push edi
mov esi, eax
call fcn.0043dd70
pop ecx
jmp 0x405e4b
xor esi, esi
inc esi
jmp 0x405e4b
cmp esi, 4
jne 0x405e19
lea eax, [esp + 0x33]
push eax
push dword [0x4660f8]
call fcn.00419310
test eax, eax
pop ecx
pop ecx
mov dword [esp + 0x18], eax
je 0x405db5
push dword [0x4660fc]
mov ecx, ebx
push eax
push dword [esp + 0x30]
lea eax, [esp + 0x30]
push dword [esp + 0x50]
push edi
push eax
lea eax, [esp + 0x2b]
push eax
push dword [esp + 0x1d4]
call fcn.00418fa1
cmp byte [esp + 0x33], 0
mov esi, eax
je 0x405e4b
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x405e4b
push dword [esp + 0x48]
lea eax, [esp + 0x28]
push dword [esp + 0x44]
mov ecx, ebx
push dword [esp + 0x44]
push dword [0x4660f8]
push dword [esp + 0x54]
push edi
push esi
push eax
lea eax, [esp + 0x33]
push eax
push dword [esp + 0x1dc]
call fcn.00408d4e
mov esi, eax
test esi, esi
mov eax, dword [esp + 0x70]
mov dword [0x463224], eax
mov eax, dword [esp + 0x2c]
mov dword [0x463228], eax
mov eax, dword [esp + 0x64]
mov dword [0x46322c], eax
mov eax, dword [esp + 0x58]
mov dword [0x463230], eax
mov eax, dword [esp + 0x1c]
mov dword [0x463220], ebp
mov dword [0x463234], eax
je 0x408989
cmp esi, 7
je 0x408989
cmp esi, 8
je 0x408989
cmp byte [esp + 0x13], 0
jne 0x4059e6
cmp dword [esp + 0x1b4], 3
mov eax, dword [esp + 0x24]
je 0x40897e
test eax, eax
je 0x4059df
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebx + 0x1c]
jne 0x40897e
mov ebx, eax
jmp 0x4059e2
sub eax, 0x6a
je 0x4089ef
dec eax
je 0x408893
dec eax
je 0x4089c0
sub eax, 0x21
je 0x4087e3
sub eax, 0x48
je 0x408994
mov esi, dword [0x466148]
xor edx, edx
inc edx
add dword [0x464298], edx
adc dword [0x46429c], 0
mov al, byte [ebx]
movzx ecx, al
dec ecx
cmp ecx, 0xd5
ja case.0x405f21.8
jmp dword [ecx*4 + 0x4089f6]
mov ecx, ebx
call fcn.00401257
jmp 0x4087c8
cmp byte [ebx + 2], 1
jbe 0x405f91
mov eax, dword [ebx + 4]
cmp byte [eax + 0xd], 0
jne case.0x405f21.3
mov eax, dword [0x46614c]
test eax, eax
je 0x405f91
mov dl, byte [eax + 0xf]
cmp dl, 2
jne 0x405f60
mov ecx, dword [eax + 4]
mov cl, byte [ecx + 0xd]
jmp 0x405f63
mov cl, byte [eax + 0xd]
test cl, 1
je 0x405f75
push eax
mov ecx, esi
call fcn.004431ff
jmp 0x4087c8
cmp dl, 2
jne 0x405f80
mov eax, dword [eax + 4]
mov dl, byte [eax + 0xf]
cmp dl, 5
jne 0x405f91
mov ecx, esi
call fcn.00442fd3
jmp 0x4087c8
push 1
push 0
push 0xffffffffffffffff
push dword [0x4660fc]
mov ecx, esi
jmp 0x407aa3
xor ebp, ebp
inc ebp
push ebp
push ebp
push 0
push ebp
push dword [0x4660fc]
call fcn.00401ab0
add esp, 0x14
push ebp
push ebp
push 0
push ebp
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00401c84
push eax
call fcn.00401ab0
mov dword [esp + 0x30], eax
mov eax, dword [0x466100]
mov al, byte [eax]
add esp, 0x14
test al, al
je 0x4060f1
movsx eax, al
push eax
call fcn.00441cd7
push eax
push 0x459208
call fcn.00453c30
add esp, 0xc
test eax, eax
je 0x4060f1
cmp dword [esp + 0x18], 0
jne 0x406013
mov eax, ebp
jmp 0x4087d0
push dword [0x4660fc]
call fcn.00401220
fstp qword [esp + 0x20]
pop ecx
mov ecx, esi
call fcn.00401c84
cmp byte [eax], 0
je 0x406050
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call fcn.00401c84
push eax
call fcn.00439184
test eax, eax
pop ecx
pop ecx
jne 0x406071
push ebp
push eax
push 0xffffffffffffffff
jmp 0x4064ea
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.DLL_FileTimeToLocalFileTime]
mov eax, dword [0x466100]
movsx eax, byte [eax]
push eax
call fcn.00441cd7
cmp eax, 0x44
fld qword [esp + 0x20]
pop ecx
je 0x4060b0
cmp eax, 0x48
je 0x4060a8
cmp eax, 0x4d
je 0x4060a0
cmp eax, 0x53
jne 0x4060b6
fmul qword [0x459200]
jmp 0x4060b6
fmul qword [0x4591f8]
jmp 0x4060b6
fmul qword [0x4591f0]
jmp 0x4060b6
fmul qword [0x4591e8]
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
call fcn.0045468c
push 1
push 0
add edi, eax
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xc0]
adc ebp, edx
push eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebp
call fcn.00439065
add esp, 0xc
jmp 0x4064b3
cmp dword [esp + 0x18], 2
je 0x406128
cmp dword [esp + 0x1c], 2
je 0x406128
mov ecx, esi
call fcn.00401c84
push eax
call fcn.004019fb
push dword [0x4660fc]
mov edi, eax
mov ebp, edx
call fcn.004019fb
add edi, eax
adc ebp, edx
pop ecx
pop ecx
push ebp
push edi
jmp 0x4065fd
mov ecx, esi
call fcn.00401c84
push eax
call fcn.00401220
fstp qword [esp + 0x20]
push dword [0x4660fc]
call fcn.00401220
fadd qword [esp + 0x24]
jmp 0x40764a
mov eax, dword [0x466100]
mov al, byte [eax]
test al, al
je 0x4061f5
movsx eax, al
push eax
call fcn.00441cd7
push eax
push 0x459208
call fcn.00453c30
add esp, 0xc
test eax, eax
je 0x4061f5
lea eax, [esp + 0x32]
push eax
mov ecx, esi
call fcn.00401c84
push eax
push dword [0x4660fc]
call fcn.004390ef
add esp, 0xc
cmp byte [esp + 0x32], 0
mov edi, eax
mov ebp, edx
je 0x4061ad
push 1
push 0
push 0xffffffffffffffff
push 0x4565d8
jmp 0x405f9d
mov eax, dword [0x466100]
movsx eax, byte [eax]
push eax
call fcn.00441cd7
cmp eax, 0x44
pop ecx
je 0x4061de
cmp eax, 0x48
je 0x4061d5
cmp eax, 0x4d
jne 0x406121
push 0
push 0x3c
jmp 0x4061e5
push 0
push 0xe10
jmp 0x4061e5
push 0
push 0x15180
push ebp
push edi
call fcn.004545e0
mov edi, eax
mov ebp, edx
jmp 0x406121
xor edi, edi
inc edi
push edi
push edi
push 0
push edi
push dword [0x4660fc]
call fcn.00401ab0
add esp, 0x14
push edi
push edi
push 0
push edi
mov ecx, esi
mov ebp, eax
call fcn.00401c84
push eax
call fcn.00401ab0
add esp, 0x14
cmp ebp, 2
je 0x406251
cmp eax, 2
je 0x406251
mov ecx, esi
call fcn.00401c84
push eax
call fcn.004019fb
push dword [0x4660fc]
mov edi, eax
mov ebp, edx
call fcn.004019fb
sub edi, eax
sbb ebp, edx
jmp 0x40611f
mov ecx, esi
call fcn.00401c84
push eax
call fcn.00401220
fstp qword [esp + 0x20]
push dword [0x4660fc]
call fcn.00401220
fsubr qword [esp + 0x24]
jmp 0x40764a
xor edi, edi
inc edi
push edi
push edi
push 0
push edi
push dword [0x4660fc]
call fcn.00401ab0
add esp, 0x14
push edi
push edi
push 0
push edi
mov ecx, esi
mov ebp, eax
call fcn.00401c84
push eax
call fcn.00401ab0
add esp, 0x14
cmp ebp, 2
je 0x4062da
cmp eax, 2
je 0x4062da
mov ecx, esi
call fcn.00401c84
push eax
call fcn.004019fb
push dword [0x4660fc]
mov edi, eax
mov ebp, edx
call fcn.004019fb
pop ecx
pop ecx
push edx
push eax
push ebp
push edi
call fcn.004545a0
push edx
jmp 0x4065fc
mov ecx, esi
call fcn.00401c84
push eax
call fcn.00401220
fstp qword [esp + 0x20]
push dword [0x4660fc]
call fcn.00401220
fmul qword [esp + 0x24]
jmp 0x40764a
xor edi, edi
inc edi
push edi
push edi
push 0
push edi
push dword [0x4660fc]
call fcn.00401ab0
add esp, 0x14
push edi
push edi
push 0
push edi
mov ecx, esi
mov ebp, eax
call fcn.00401c84
push eax
call fcn.00401ab0
add esp, 0x14
cmp ebp, 2
je 0x40636b
cmp eax, 2
je 0x40636b
push dword [0x4660fc]
call fcn.004019fb
mov ebp, eax
or eax, edx
pop ecx
mov dword [esp + 0x78], edx
mov ecx, esi
je 0x406390
call fcn.00401c84
push eax
call fcn.004019fb
pop ecx
push dword [esp + 0x78]
push ebp
push edx
push eax
call fcn.004545e0
jmp 0x4062d4
push dword [0x4660fc]
call fcn.00401220
fstp qword [esp + 0x20]
fld qword [0x458b30]
pop ecx
fld qword [esp + 0x1c]
mov ecx, esi
fucompp
fnstsw ax
test ah, 0x44
jp 0x40639c
push edi
push 0
push 0xffffffffffffffff
push 0
jmp 0x407aa3
call fcn.00401c84
push eax
call fcn.00401220
fdiv qword [esp + 0x20]
jmp 0x407649
push dword [0x466100]
call fcn.0040198d
mov edi, eax
test edi, edi
pop ecx
jge 0x4063c6
xor edi, edi
jmp 0x4063d5
push 2
mov ecx, ebx
call fcn.0041d507
cmp edi, eax
jle 0x4063d5
mov edi, eax
push 1
push 0
push edi
jmp 0x405f97
push dword [0x466100]
call fcn.0040198d
mov edi, eax
test edi, edi
pop ecx
jge 0x4063f3
xor edi, edi
push 2
mov ecx, ebx
call fcn.0041d507
cmp edi, eax
jbe 0x406402
mov edi, eax
push 1
push 0
sub eax, edi
add eax, dword [0x4660fc]
push edi
jmp 0x4064b3
cmp byte [ebx + 2], 4
jb 0x40643a
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
je 0x40643a
push dword [0x466104]
call fcn.0040198d
mov ebp, eax
cmp ebp, 1
pop ecx
jge 0x40643f
jmp 0x40648b
mov ebp, 0x7fffffff
push dword [0x466100]
call fcn.0040198d
mov edi, eax
mov eax, dword [0x466108]
movsx eax, byte [eax]
push eax
call fcn.00441cd7
cmp eax, 0x4c
pop ecx
pop ecx
jne 0x406476
cmp edi, 1
jl 0x40648b
xor eax, eax
inc eax
sub eax, ebp
add edi, eax
cmp edi, 1
jge 0x40647e
lea ebp, [edi + ebp - 1]
cmp edi, 1
jge 0x40647e
xor edi, edi
inc edi
push 2
mov ecx, ebx
call fcn.0041d507
cmp eax, edi
jae 0x406498
push 1
push 0
push 0xffffffffffffffff
push 0
jmp 0x405f9d
xor ecx, ecx
inc ecx
sub ecx, edi
add eax, ecx
cmp ebp, eax
jbe 0x4064a5
mov ebp, eax
mov eax, dword [0x4660fc]
push 1
push 0
push ebp
lea eax, [edi + eax - 1]
push eax
jmp 0x405f9d
push dword [0x466100]
call fcn.0040198d
mov edi, eax
test edi, edi
pop ecx
jge 0x4064cd
xor edi, edi
push 2
mov ecx, ebx
call fcn.0041d507
cmp edi, eax
jbe 0x4064dc
mov edi, eax
push 1
sub eax, edi
push 0
push eax
mov eax, dword [0x4660fc]
add edi, eax
push edi
jmp 0x405f9d
push dword [0x466100]
call fcn.0040198d
mov edi, eax
test edi, edi
pop ecx
jge 0x406504
xor edi, edi
push 2
mov ecx, ebx
call fcn.0041d507
cmp edi, eax
jbe 0x406513
mov edi, eax
push 1
push 0
sub eax, edi
push eax
jmp 0x405f97
mov ecx, esi
call fcn.00401c84
mov edi, eax
cmp edi, dword [0x4660fc]
jne 0x406541
mov al, byte [esi + 0xf]
cmp al, 2
jne 0x40653d
mov eax, dword [esi + 4]
mov al, byte [eax + 0xf]
cmp al, 3
je 0x406578
push 1
push 0
push 2
mov ecx, ebx
call fcn.0041d507
push eax
push 0
mov ecx, esi
call fcn.00401525
cmp eax, 1
jne 0x408913
mov ecx, esi
call fcn.00401c84
push dword [0x4660fc]
mov edi, eax
push edi
call fcn.004538d0
pop ecx
pop ecx
mov eax, dword [0x466100]
mov al, byte [eax]
test al, al
je 0x4065a6
movsx eax, al
push eax
call fcn.00441cd7
cmp eax, 0x54
pop ecx
jne 0x4065a6
mov eax, dword [0x466100]
cmp byte [eax + 1], 0
jne 0x4065a6
push edi
call fcn.00419e53
pop ecx
jmp 0x4065ba
cmp byte [ebx], 0x31
push edi
jne 0x4065b4
call dword [sym.imp.USER32.dll_CharLowerA]
jmp 0x4065ba
call dword [sym.imp.USER32.dll_CharUpperA]
push 0
mov ecx, esi
call fcn.0041d4c8
jmp 0x4087c8
mov ecx, dword [0x46614c]
test ecx, ecx
je 0x4065f1
cmp byte [ecx + 0xf], 2
jne 0x4065e0
mov eax, dword [ecx + 4]
mov al, byte [eax + 0xd]
jmp 0x4065e3
mov al, byte [ecx + 0xd]
test al, 1
je 0x4065f1
call fcn.00401c69
mov eax, dword [eax]
inc eax
jmp 0x4065fa
push 2
mov ecx, ebx
call fcn.0041d507
push 0
push eax
mov ecx, esi
call fcn.004018bb
jmp 0x4087c8
mov edi, dword [0x466104]
mov al, byte [edi]
or dword [esp + 0x18], 0xffffffff
test al, al
mov dword [esp + 0x1c], edi
je 0x40664e
movsx eax, al
push eax
call fcn.00441cd7
push eax
push 0x4591e4
call fcn.00453c30
add esp, 0xc
test eax, eax
je 0x40664e
lea eax, [edi + 1]
cmp byte [eax], 0
je 0x40664e
push eax
call fcn.0040198d
pop ecx
mov dword [esp + 0x28], eax
jmp 0x406656
mov dword [esp + 0x28], 1
cmp dword [esp + 0x28], 0
jle 0x40678d
mov eax, dword [0x466100]
cmp byte [eax], 0
jne 0x40669b
and dword [esp + 0x18], 0
mov eax, 0x45671c
mov ecx, dword [0x463c78]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.00401525
push dword [esp + 0x18]
mov ecx, esi
call fcn.0040185b
mov ebx, dword [esp + 0x14]
jmp 0x4087c8
push dword [0x466108]
mov ebx, dword [0x4660fc]
mov dword [esp + 0x30], eax
call fcn.0040198d
mov edi, eax
test edi, edi
pop ecx
jge 0x4066bb
xor edi, edi
test edi, edi
je 0x4066cc
mov ecx, dword [esp + 0x14]
push 2
call fcn.0041d507
mov ebp, eax
jmp 0x4066cf
xor ebp, ebp
inc ebp
cmp edi, ebp
jge 0x40678d
mov eax, dword [esp + 0x1c]
mov al, byte [eax]
cmp al, 0x31
je 0x40673f
movsx eax, al
push eax
call fcn.00441cd7
cmp eax, 0x52
pop ecx
je 0x40673f
mov ecx, dword [esp + 0x14]
push 3
call fcn.0041d507
xor ebp, ebp
mov dword [esp + 0x1c], eax
inc ebp
lea eax, [edi + ebx]
mov cl, byte [0x463351]
test cl, cl
push dword [esp + 0x2c]
push eax
jne 0x40671b
call fcn.00438b16
jmp 0x40672c
cmp cl, 2
jne 0x406727
call fcn.004389f6
jmp 0x40672c
call fcn.00453b90
test eax, eax
pop ecx
pop ecx
je 0x40678d
cmp ebp, dword [esp + 0x28]
je 0x40677d
inc ebp
add eax, dword [esp + 0x1c]
jmp 0x406705
test edi, edi
je 0x406756
sub ebp, edi
add ebp, ebx
mov al, byte [ebp]
mov dword [esp + 0x68], ebp
mov byte [esp + 0x31], al
mov byte [ebp], 0
push dword [esp + 0x28]
movzx eax, byte [0x463351]
push eax
push dword [esp + 0x34]
push ebx
call fcn.00438ce3
add esp, 0x10
test edi, edi
je 0x40677d
mov cl, byte [esp + 0x31]
mov edx, dword [esp + 0x68]
mov byte [edx], cl
test eax, eax
je 0x40678d
sub eax, ebx
mov dword [esp + 0x18], eax
jns 0x406670
mov eax, 0x457f24
jmp 0x406675
mov ecx, ebx
call fcn.0041c803
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
call fcn.0041fccd
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00429804
jmp 0x4087c8
push dword [0x4660f8]
mov ecx, ebx
call fcn.004294a0
jmp 0x4087c8
push dword [0x4660fc]
mov ecx, ebx
push dword [0x4660f8]
call fcn.004289a2
jmp 0x4087c8
push 0
push dword [0x466118]
push dword [0x466114]
call fcn.0040198d
pop ecx
push eax
push dword [0x466110]
call fcn.0040198d
pop ecx
push eax
push dword [0x46610c]
call fcn.0040198d
pop ecx
push eax
push dword [0x466108]
call fcn.0040198d
pop ecx
push eax
push dword [0x466104]
call fcn.0040198d
pop ecx
push eax
push dword [0x466100]
call fcn.0040198d
pop ecx
push eax
mov ecx, ebx
call fcn.004210b7
jmp 0x4087c8
push dword [0x466110]
push dword [0x46610c]
call fcn.0040198d
pop ecx
push eax
push dword [0x466108]
call fcn.0040198d
pop ecx
push eax
push dword [0x466104]
call fcn.0040198d
pop ecx
push eax
push dword [0x466100]
call fcn.0040198d
pop ecx
push eax
mov ecx, ebx
call fcn.0042075b
jmp 0x4087c8
push dword [0x466104]
push dword [0x466100]
call fcn.0040198d
pop ecx
push eax
push dword [0x4660fc]
call fcn.0040198d
pop ecx
push eax
mov ecx, ebx
call fcn.004216c6
jmp 0x4087c8
push 0
push dword [0x46333c]
cmp al, 0x42
sete al
push eax
push dword [0x4660f8]
call fcn.00412921
add esp, 0x10
jmp 0x4087a6
xor eax, eax
cmp dword [0x46333c], 3
push 0
sete al
lea eax, [eax + eax + 1]
push eax
jmp 0x40691d
push 0
push 2
push 0
jmp 0x4068f1
xor eax, eax
push eax
push eax
jmp 0x4068f0
push dword [0x4660f8]
call fcn.00411ce0
jmp 0x407cc3
push edi
push edi
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
jmp 0x40699e
push dword [0x46610c]
push dword [0x466104]
push dword [0x466110]
push dword [0x466108]
push edi
push edi
jmp 0x406951
push edi
push edi
push dword [0x466104]
push dword [0x466100]
push edi
push edi
push dword [0x4660fc]
push dword [0x4660f8]
push edi
push eax
call fcn.00411d3b
add esp, 0x28
jmp 0x4087c8
push dword [0x466108]
call fcn.004019fb
pop ecx
push eax
mov ecx, ebx
call fcn.00427834
jmp 0x4087c8
cmp al, 0x6e
push 0
sete al
push 0
push eax
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
push 0x463218
call fcn.0043babe
add esp, 0x20
test eax, eax
je 0x4087a6
mov eax, dword [0x46326c]
cmp eax, 0xffffffff
jle 0x4087a6
cmp eax, 0x19
jge 0x406a24
cmp byte [0x464499], 0
je 0x406a24
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x4087a6
push 1
push eax
call fcn.0040bd90
pop ecx
pop ecx
jmp 0x4087a6
push 9
push 0x4591d8
push dword [0x4660f8]
call fcn.0044188c
add esp, 0xc
test eax, eax
jne 0x406a65
mov eax, dword [0x4660fc]
cmp byte [eax], 0
jne 0x406a65
mov eax, dword [0x466104]
cmp byte [eax], 0
mov byte [esp + 0x11], 1
je 0x406a6a
mov byte [esp + 0x11], 0
mov al, byte [esp + 0x11]
neg al
sbb eax, eax
and eax, 0xffffffec
add eax, 0x14
mov esi, eax
mov al, byte [ebx]
cmp al, 0x7a
je 0x406ac5
cmp al, 0x7b
je 0x406ac5
mov eax, dword [0x466100]
cmp byte [eax], 0
je 0x406afb
mov al, byte [ebx]
cmp al, 0x7a
je 0x406b35
cmp al, 0x7b
je 0x406b37
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
push eax
call fcn.00427a0a
jmp 0x4087c8
mov eax, dword [0x466100]
cmp byte [eax], 0
je 0x406aec
push eax
call fcn.00401220
fmul qword [0x4591d0]
pop ecx
call fcn.0045468c
mov esi, eax
test esi, esi
jne 0x406aec
mov esi, 0x1f4
mov eax, dword [0x466108]
cmp byte [eax], 0
je 0x406afb
mov byte [esp + 0x11], 0
cmp byte [esp + 0x11], 0
je 0x406a8e
mov eax, dword [0x4660f8]
add eax, 9
push 0
push eax
call fcn.00401a9c
pop ecx
push eax
mov ecx, ebp
call fcn.0044dabe
test eax, eax
je 0x406a8e
xor ecx, ecx
mov cl, byte [ebx]
push esi
push ecx
mov ecx, eax
call fcn.0044db10
jmp 0x4087c8
cmp al, 0x7b
sete al
push eax
push dword [0x466108]
push dword [0x466104]
push esi
push dword [0x4660fc]
push dword [0x4660f8]
push 0x463218
call fcn.0043bc92
add esp, 0x1c
jmp 0x4069f4
push dword [0x4660fc]
mov ecx, ebx
call fcn.004233e6
jmp 0x4087c8
push dword [0x4660fc]
push dword [0x4660f8]
call dword [sym.imp.KERNEL32.DLL_SetEnvironmentVariableA]
test eax, eax
jmp 0x407a8a
lea eax, [esp + 0x8c]
push eax
push 0x3a98
push 1
push str.Environment
xor esi, esi
push esi
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
test eax, eax
mov ecx, dword [0x463c78]
push 1
push esi
push 0xffffffffffffffff
je 0x407966
push 0x45671c
jmp 0x407aa3
push dword [0x4660fc]
mov ecx, ebx
push dword [0x4660f8]
call fcn.0042b7ac
jmp 0x4087c8
cmp byte [0x4644a1], 0
je case.0x405f21.3
cmp byte [ebx + 2], 1
jae 0x406c25
xor eax, eax
cmp dword [0x4642b0], eax
je case.0x405f21.3
mov ecx, dword [0x4642b8]
mov word [ecx], ax
mov ecx, dword [0x4642b4]
mov word [ecx], ax
mov ecx, dword [0x4642b0]
mov word [ecx], ax
mov eax, edx
jmp 0x4087d0
mov eax, dword [0x4642b0]
test eax, eax
jne 0x406c6a
push 0x606
call fcn.0043e9ea
xor ebp, ebp
cmp eax, ebp
pop ecx
mov dword [0x4642b0], eax
jne 0x406c50
push edi
push ebp
push str.Out_of_memory.__The_current_thread_will_exit.
jmp 0x4083db
lea ecx, [eax + 0x404]
mov dword [0x4642b4], ecx
add ecx, 0x404
mov dword [0x4642b8], ecx
jmp 0x406c6c
xor ebp, ebp
mov esi, dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov edi, 0x101
push edi
push eax
push 0xffffffffffffffff
push dword [0x4660f8]
push ebp
push ebp
call esi
push edi
push dword [0x4642b4]
push 0xffffffffffffffff
push dword [0x4660fc]
push ebp
push ebp
call esi
push edi
push dword [0x4642b8]
push 0xffffffffffffffff
push dword [0x466100]
push ebp
push ebp
call esi
jmp 0x4087a6
push str.UseErrorLevel
push dword [0x466100]
call fcn.00438b16
test eax, eax
pop ecx
pop ecx
mov ecx, ebp
je 0x406d0e
xor eax, eax
mov al, 3
cmp al, byte [ebx + 2]
sbb eax, eax
and eax, dword [0x466154]
xor esi, esi
push eax
push 1
push 1
push esi
push dword [0x466100]
push esi
push dword [0x4660fc]
push esi
push dword [0x4660f8]
call fcn.0040d321
test eax, eax
mov eax, 0x45671c
jne 0x406d06
mov eax, str.ERROR
push 1
push esi
jmp 0x407a9a
xor eax, eax
mov al, 3
cmp al, byte [ebx + 2]
sbb eax, eax
and eax, dword [0x466154]
push eax
push 1
xor eax, eax
push eax
push eax
push dword [0x466100]
push 1
push dword [0x4660fc]
push eax
push dword [0x4660f8]
call fcn.0040d321
jmp 0x4087c8
mov ecx, ebx
call fcn.00427ae2
jmp 0x4087c8
cmp byte [ebx + 2], 2
mov ecx, ebx
jbe 0x406d91
push dword [0x466114]
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00439db8
jmp 0x4087c8
push edi
push edi
push edi
push edi
push dword [0x4660fc]
push dword [0x4660f8]
push edi
push edi
jmp 0x406d87
push dword [0x466120]
mov ecx, ebx
push dword [0x46611c]
push dword [0x466118]
push dword [0x466114]
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042c347
jmp 0x4087c8
cmp al, 0x47
sete al
mov ecx, ebx
push eax
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00422748
jmp 0x4087c8
push 0
push 1
push dword [0x466104]
call fcn.00410458
add esp, 0xc
test al, al
mov byte [esp + 0x54], al
jne 0x406e55
push dword [0x466104]
push 0
push str.Invalid_mouse_button__The_current_thread_will_exit.
jmp 0x4083db
mov eax, dword [0x466108]
cmp byte [eax], 0
je 0x406e68
push eax
call fcn.0040198d
pop ecx
jmp 0x406e6b
xor eax, eax
inc eax
push dword [0x466114]
mov ecx, ebx
push dword [0x466110]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
push dword [0x46610c]
push eax
push dword [esp + 0x70]
call fcn.00421825
jmp 0x4087c8
push dword [0x466118]
mov ecx, ebx
push dword [0x466114]
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.004225a6
jmp 0x4087c8
push dword [0x466118]
mov ecx, ebx
push dword [0x466114]
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
call fcn.00422354
jmp 0x4087c8
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.00421d98
jmp 0x4087c8
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00421ca1
jmp 0x4087c8
push dword [0x46610c]
mov ecx, ebx
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.004227d4
jmp 0x4087c8
push dword [0x46610c]
mov ecx, ebx
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.0042249f
jmp 0x4087c8
push dword [0x466110]
mov ecx, ebx
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042a06f
jmp 0x4087c8
push dword [0x466114]
mov ecx, ebx
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.0042a705
jmp 0x4087c8
push dword [0x46610c]
mov ecx, ebx
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.00429713
jmp 0x4087c8
push dword [0x466114]
mov ecx, ebx
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00429766
jmp 0x4087c8
cmp al, 0x88
sete al
mov ecx, ebx
push eax
call fcn.00428690
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00428434
jmp 0x4087c8
push dword [0x46610c]
mov ecx, ebx
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00439ecf
jmp 0x4087c8
cmp byte [ebx + 2], 1
mov ecx, ebx
jbe 0x407116
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0043a4c9
jmp 0x4087c8
push edi
push edi
push dword [0x4660f8]
push edi
push edi
jmp 0x40710c
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.00439d0e
jmp 0x4087c8
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.004398da
jmp 0x4087c8
push dword [0x46610c]
mov ecx, ebx
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.004394a8
jmp 0x4087c8
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.00439c02
jmp 0x4087c8
push dword [0x466114]
mov ecx, ebx
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
call fcn.00439aca
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
call fcn.00429a1b
jmp 0x4087c8
push 0
push 0x1a3
jmp 0x407204
push 0
push 0x1a0
push 0x111
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x4069fc
mov ecx, dword [0x4660f8]
cmp byte [ecx], 0
jne 0x407239
and dword [0x464244], 0
jmp case.0x405f21.3
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x40725e
push ecx
mov ecx, ebp
call fcn.0044d9db
test eax, eax
jne 0x40725e
push dword [0x4660f8]
push 0
push str.Target_label_does_not_exist.__The_current_thread_will_exit.
jmp 0x4083db
mov dword [0x464244], eax
jmp 0x4087a6
push dword [ebx + 0xc]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0040e8fa
add esp, 0x10
jmp 0x4087c8
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x4072a4
push dword [0x4660f8]
mov ecx, ebp
call fcn.0044d9db
mov esi, eax
test esi, esi
je 0x40724c
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4072ea
push 0
push eax
call fcn.00414dbb
test eax, eax
pop ecx
pop ecx
mov dword [esp + 0x18], eax
jne 0x4072f1
push eax
push 1
push 1
push 1
push dword [0x4660fc]
call fcn.00401ab0
add esp, 0x14
test eax, eax
jne 0x4072f1
push dword [0x4660fc]
push eax
push str.Parameter_2_invalid
jmp 0x4083db
and dword [esp + 0x18], 0
jmp 0x4072f6
mov eax, dword [0x4660fc]
mov ecx, dword [esp + 0x18]
dec ecx
je 0x407323
dec ecx
je 0x40731d
cmp byte [eax], 0
mov edi, dword [0x466100]
jne 0x407314
cmp byte [edi], 0
je 0x407314
mov cl, 1
jmp 0x407316
xor cl, cl
push ecx
push 1
push edi
push eax
jmp 0x40732e
push 0
push 0
jmp 0x407327
push 0
push 1
push dword [0x466100]
push edi
mov ecx, ebp
push esi
call fcn.00419efa
jmp 0x4087a6
push 7
push dword [0x4660f8]
call fcn.00414dbb
cmp eax, 2
setne al
test al, al
pop ecx
pop ecx
mov byte [0x46334e], al
je 0x40736c
mov dword [0x463340], 0x10
mov byte [0x46334c], 0
jmp 0x40737d
mov dword [0x463340], 5
mov byte [0x46334c], 1
cmp byte [0x4634a9], 0
je 0x4087a6
push 0xa
push dword [0x463360]
call dword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x4087a6
mov byte [0x4634a9], 0
jmp 0x4087a6
push dword [0x4660f8]
call fcn.00415158
dec eax
pop ecx
je 0x407430
dec eax
je 0x4073f2
dec eax
jne 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4073e6
push eax
call fcn.004019fb
or eax, edx
pop ecx
jne 0x4073e6
mov byte [0x46334d], 1
jmp 0x4087a6
mov byte [0x46334d], 0
jmp 0x4087a6
mov eax, dword [0x4660f8]
cmp byte [eax], 0
je 0x40740d
push dword [0x4660fc]
call fcn.0040198d
pop ecx
mov dword [0x4642a4], eax
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4087a6
push dword [0x466100]
call fcn.0040198d
mov dword [0x4642a0], eax
jmp 0x406a2d
push dword [0x4660fc]
call fcn.0040198d
mov dword [0x463244], eax
jmp 0x406a2d
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x407465
push 1
push dword [0x4660f8]
mov ecx, ebp
call fcn.0044dabe
mov esi, eax
test esi, esi
je 0x408913
mov ecx, dword [0x466104]
xor eax, eax
cmp byte [ecx], al
je 0x407492
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x407492
push ecx
mov ecx, ebp
call fcn.0044d9db
test eax, eax
jne 0x40748f
push dword [0x466104]
jmp 0x407252
mov eax, dword [eax + 4]
push dword [0x46610c]
mov ecx, esi
push dword [0x466108]
push eax
push dword [0x466100]
push dword [0x4660fc]
call fcn.0044de3d
jmp 0x4087c8
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x4074d6
push esi
push dword [0x4660f8]
mov ecx, ebp
call fcn.0044dabe
mov esi, eax
test esi, esi
je 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4074f5
push 0x457f60
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x4074f5
mov al, 1
jmp 0x4074f7
xor al, al
push eax
mov ecx, esi
call fcn.0044e010
jmp 0x4087a6
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x407523
push esi
push dword [0x4660f8]
mov ecx, ebp
call fcn.0044dabe
mov esi, eax
test esi, esi
je 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x40756c
push 0x459168
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x40754d
push eax
push 0x7a
mov ecx, esi
call fcn.0044db10
jmp 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x40756c
push 0x457f60
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x40756c
mov al, 1
jmp 0x40756e
xor al, al
push eax
mov ecx, esi
call fcn.0044df70
jmp 0x4087a6
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
call fcn.00425389
jmp 0x4087c8
test esi, esi
jne 0x4075ad
push dword [0x4660fc]
call fcn.004019fb
push eax
call fcn.00413f78
jmp 0x406a2c
xor ebp, ebp
push ebp
xor edi, edi
inc edi
push edi
push ebp
push edi
push dword [0x4660fc]
call fcn.00401ab0
add esp, 0x14
cmp eax, 2
je 0x4075e0
push ebp
push edi
push ebp
push edi
push dword [0x466100]
call fcn.00401ab0
add esp, 0x14
cmp eax, 2
jne 0x407659
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4075f3
push eax
call fcn.00401220
pop ecx
jmp 0x4075f5
fldz
mov eax, dword [0x466100]
fstp qword [esp + 0x1c]
cmp byte [eax], 0
je 0x40760c
push eax
call fcn.00401220
pop ecx
jmp 0x407612
fld qword [0x459160]
fst qword [esp + 0x58]
fld qword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x407633
fld qword [esp + 0x1c]
fld st(1)
fstp qword [esp + 0x1c]
fst qword [esp + 0x58]
fstp st(0)
fstp st(0)
call fcn.00413f1c
fld qword [esp + 0x58]
push ecx
fsub qword [esp + 0x20]
fmulp st(1)
fadd qword [esp + 0x20]
push ecx
mov ecx, esi
fstp qword [esp]
call fcn.0041d730
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407670
push eax
call fcn.0040198d
pop ecx
mov dword [esp + 0x14], eax
jmp 0x407674
mov dword [esp + 0x14], ebp
mov eax, dword [0x466100]
cmp byte [eax], 0
je 0x407689
push eax
call fcn.0040198d
pop ecx
mov edi, eax
jmp 0x40768e
mov edi, 0x7fffffff
cmp dword [esp + 0x14], edi
jle 0x40769e
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], edi
mov edi, eax
call fcn.00413eda
mov ecx, eax
mov eax, edi
cdq
mov edi, eax
mov eax, dword [esp + 0x14]
mov ebp, edx
cdq
sub edi, eax
sbb ebp, edx
add edi, 1
adc ebp, 0
push ebp
push edi
push 0
push ecx
call fcn.004544e0
add eax, dword [esp + 0x14]
mov ecx, esi
jmp 0x4079a0
push 1
push dword [0x4660fc]
mov ecx, ebx
call fcn.00423207
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00422a5b
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
call fcn.00422c18
jmp 0x4087c8
mov eax, dword [0x466104]
cmp byte [eax], 0
je 0x40772e
push eax
call fcn.0040198d
pop ecx
dec eax
jmp 0x407730
xor eax, eax
cdq
test edx, edx
mov edi, eax
jg 0x407743
jl 0x40773d
test edi, edi
jae 0x407743
xor edi, edi
and dword [esp + 0x20], edi
mov eax, dword [0x4660fc]
cmp byte [eax], 0
mov dword [esp + 0x18], 1
je 0x407766
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00415861
pop ecx
pop ecx
mov esi, eax
jmp 0x407769
push 4
pop esi
mov eax, dword [0x466100]
cmp byte [eax], 0
je 0x40777c
push eax
call fcn.00415a4a
pop ecx
jmp 0x407781
mov eax, 0x50030001
push edi
push eax
mov al, byte [ebx]
push dword [esp + 0x20]
sub al, 0x93
neg al
push esi
mov ecx, ebx
sbb eax, eax
and eax, dword [0x4660f8]
push eax
call fcn.00428f61
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4077b7
push eax
call fcn.0040198d
pop ecx
dec eax
jmp 0x4077b9
xor eax, eax
cdq
test edx, edx
jg 0x4077ca
jl 0x4077c4
test eax, eax
jae 0x4077ca
xor eax, eax
and dword [esp + 0x20], eax
cmp byte [ebx], 0x95
mov ecx, ebx
push eax
jne 0x4077dc
call fcn.00428db3
jmp 0x4087c8
push dword [0x4660f8]
call fcn.004293a5
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407801
push eax
call fcn.004019fb
pop ecx
mov esi, eax
jmp 0x407806
mov esi, 0x96
mov eax, dword [0x4660f8]
cmp byte [eax], 0
je 0x407819
push eax
call fcn.004019fb
pop ecx
jmp 0x40781e
mov eax, 0x20b
push esi
push eax
call dword [sym.imp.KERNEL32.DLL_Beep]
jmp 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x40784b
push str.wait
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
je 0x407860
mov eax, dword [0x4660fc]
push 0x457f24
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
je 0x407860
xor al, al
jmp 0x407864
xor eax, eax
mov al, 1
push eax
push dword [0x4660f8]
mov ecx, ebx
call fcn.00428e24
jmp 0x4087c8
cmp byte [ebx + 2], 2
mov ecx, ebx
sbb eax, eax
and eax, dword [0x463230]
push eax
push dword [0x4660f8]
push dword [0x4660fc]
call fcn.0042342c
jmp 0x4087c8
push dword [0x4660fc]
mov ecx, ebx
call fcn.00423c01
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
call fcn.00423e53
jmp 0x4087c8
mov ecx, ebx
call fcn.004236e2
jmp 0x4087c8
push dword [0x4660f8]
mov ecx, ebx
call fcn.0042b3d0
jmp 0x4087c8
push dword [0x4660f8]
mov ecx, ebx
call fcn.0042b469
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00423ab9
jmp 0x4087c8
xor esi, esi
push esi
push dword [0x466100]
call fcn.0040198d
dec eax
neg eax
sbb al, al
inc al
pop ecx
push eax
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042ba9d
add esp, 0x10
cmp eax, esi
jne 0x407952
push 1
push esi
push 0xffffffffffffffff
push 0x45671c
jmp 0x407a9d
cmp byte [0x46428f], 0
mov ecx, dword [0x463c78]
je 0x4079a0
push 1
push esi
push 0xffffffffffffffff
push 0x457f24
jmp 0x407aa3
push 1
push dword [0x466100]
call fcn.0040198d
dec eax
neg eax
sbb al, al
inc al
pop ecx
push eax
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042ba9d
mov ecx, dword [0x463c78]
add esp, 0x10
push eax
call fcn.0040185b
jmp 0x4087c8
push dword [0x466100]
call fcn.0040198d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042b9b8
jmp 0x407a39
mov eax, dword [0x466100]
movsx eax, byte [eax]
push eax
call fcn.00441cd7
cmp eax, 0x52
pop ecx
jne 0x407a1c
push dword [0x4660fc]
push dword [0x4660f8]
call dword [sym.imp.KERNEL32.DLL_MoveFileA]
test eax, eax
mov eax, 0x45671c
jne 0x407a05
mov eax, 0x457f24
mov ecx, dword [0x463c78]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.00401525
jmp 0x4087a6
push dword [0x466100]
call fcn.0040198d
push eax
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042c057
add esp, 0x10
jmp 0x407a88
push dword [0x4660f8]
mov ecx, ebx
call fcn.004235f9
jmp 0x4087c8
mov eax, dword [0x4660f8]
cmp byte [eax], 0
jne 0x407a67
push 1
push 0
push 0xffffffffffffffff
push 0x457f24
jmp 0x407a9d
push dword [0x4660fc]
call fcn.0040198d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4660f8]
call fcn.0042c191
add esp, 0xc
test al, al
mov eax, 0x45671c
jne 0x407a96
mov eax, 0x457f24
push 1
push 0
push 0xffffffffffffffff
push eax
mov ecx, dword [0x463c78]
call fcn.00401525
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407abb
mov edi, eax
jmp 0x407ac7
mov eax, dword [0x463228]
test eax, eax
je 0x407ac7
lea edi, [eax + 0x2c]
push edi
mov ecx, ebx
call fcn.00423875
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407ae2
mov edi, eax
jmp 0x407aee
mov eax, dword [0x463228]
test eax, eax
je 0x407aee
lea edi, [eax + 0x2c]
push 0
push dword [0x466104]
call fcn.0040198d
dec eax
neg eax
sbb al, al
inc al
pop ecx
push eax
push dword [0x466100]
call fcn.00414ca2
pop ecx
push eax
push edi
push dword [0x4660f8]
mov ecx, ebx
call fcn.00424453
jmp 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407b32
mov edi, eax
jmp 0x407b3e
mov eax, dword [0x463228]
test eax, eax
je 0x407b3e
lea edi, [eax + 0x2c]
mov eax, dword [0x466100]
movsx eax, byte [eax]
push eax
push edi
mov ecx, ebx
call fcn.004239dd
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407b62
mov edi, eax
jmp 0x407b6e
mov eax, dword [0x463228]
test eax, eax
je 0x407b6e
lea edi, [eax + 0x2c]
push 0
push dword [0x466108]
call fcn.0040198d
dec eax
neg eax
sbb al, al
inc al
pop ecx
push eax
push dword [0x466104]
call fcn.00414ca2
pop ecx
push eax
mov eax, dword [0x466100]
movsx eax, byte [eax]
push eax
push edi
push dword [0x4660f8]
mov ecx, ebx
call fcn.0042498a
jmp 0x4087a6
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407bbb
mov edi, eax
jmp 0x407bc7
mov eax, dword [0x463228]
test eax, eax
je 0x407bc7
lea edi, [eax + 0x2c]
push dword [0x466100]
mov ecx, ebx
push edi
call fcn.004238ff
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407be8
mov edi, eax
jmp 0x407bf4
mov eax, dword [0x463228]
test eax, eax
je 0x407bf4
lea edi, [eax + 0x2c]
push edi
mov ecx, ebx
call fcn.0042b2c6
jmp 0x4087c8
push dword [0x4660f8]
call fcn.0044690b
jmp 0x406a2d
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.00423fb3
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
call fcn.0042b4da
jmp 0x4087c8
push dword [0x4660f8]
mov ecx, ebx
call fcn.0042afd5
jmp 0x4087c8
push dword [0x466118]
mov ecx, ebx
push dword [0x466114]
push dword [0x466110]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0042ae63
jmp 0x4087c8
push 0
push 4
jmp 0x407cbd
push 0
push 1
jmp 0x407cbd
push 0
push 2
jmp 0x407cbd
push 0
push 3
call fcn.0044ab6c
pop ecx
pop ecx
jmp 0x4087c8
mov eax, dword [0x463268]
cmp eax, 0x63
jae 0x407ce2
mov eax, dword [eax*4 + 0x463a80]
test eax, eax
je 0x407ce2
mov eax, dword [eax]
jmp 0x407ce4
xor eax, eax
mov cl, byte [ebx + 2]
test cl, cl
push eax
jne 0x407d01
push ecx
fldz
push ecx
fstp qword [esp]
push 0
push 0x10000
push str.Press_OK_to_continue.
jmp 0x407d44
cmp cl, 1
jne 0x407d1c
push ecx
fldz
push ecx
fstp qword [esp]
push 0
push 0x10000
push dword [0x4660f8]
jmp 0x407d44
push dword [0x466104]
call fcn.00401220
push ecx
fstp qword [esp]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.0040198d
pop ecx
push eax
push dword [0x466100]
call fcn.0043b595
xor ecx, ecx
add esp, 0x18
test eax, eax
setne cl
mov eax, ecx
jmp 0x4087c8
mov eax, dword [0x466114]
cmp byte [eax], 0
je 0x407d71
push eax
call fcn.0040198d
pop ecx
mov dword [esp + 0x18], eax
jmp 0x407d79
mov dword [esp + 0x18], CreateStatusWindowA
mov eax, dword [0x466110]
cmp byte [eax], 0
je 0x407d90
push eax
call fcn.0040198d
pop ecx
mov dword [esp + 0x2c], eax
jmp 0x407d98
mov dword [esp + 0x2c], CreateStatusWindowA
mov eax, dword [0x46610c]
cmp byte [eax], 0
je 0x407dad
push eax
call fcn.0040198d
pop ecx
mov ebp, eax
jmp 0x407db2
mov ebp, 0x80000000
mov eax, dword [0x466108]
cmp byte [eax], 0
je 0x407dc7
push eax
call fcn.0040198d
pop ecx
mov edi, eax
jmp 0x407dcc
mov edi, 0x80000000
push dword [0x466120]
push dword [0x46611c]
call fcn.00401220
mov eax, dword [0x466104]
movsx eax, byte [eax]
push ecx
fstp qword [esp]
push dword [esp + 0x24]
push dword [esp + 0x3c]
push ebp
push edi
push eax
call fcn.00441cd7
cmp eax, 0x48
sete al
pop ecx
push eax
push dword [0x466100]
push dword [0x4660fc]
push esi
call fcn.004257e4
add esp, 0x2c
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407e30
push eax
call fcn.0040198d
pop ecx
mov esi, eax
jmp 0x407e32
xor esi, esi
mov eax, dword [0x4660f8]
cmp byte [eax], 0
je 0x407e45
push eax
call fcn.0040198d
pop ecx
jmp 0x407e4a
mov eax, 0xc8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push esi
push eax
call fcn.0042766b
jmp 0x4087c8
mov eax, dword [0x463368]
test eax, eax
je 0x407e84
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x407e84
push dword [0x463368]
call dword [sym.imp.USER32.dll_DestroyWindow]
and dword [0x463368], 0
jmp 0x4087a6
push 0
push edi
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
jmp 0x407ed9
push 1
push dword [0x4660f8]
push dword [0x46610c]
push dword [0x466108]
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
mov ecx, ebx
call fcn.0042672c
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00429d4c
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00429fcb
jmp 0x4087c8
mov ecx, ebx
call fcn.0040abfb
jmp 0x4087c8
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x407f74
push str.Screen
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
je 0x407f74
push str.Relative
push dword [0x4660fc]
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x4087a6
mov byte [esp + 0x11], al
jmp 0x407f79
mov byte [esp + 0x11], 1
push dword [0x4660f8]
call fcn.00414463
test al, al
pop ecx
je 0x4087a6
cmp byte [esp + 0x11], 0
je 0x407f9f
or byte [0x463350], al
jmp 0x4087a6
not al
and byte [0x463350], al
jmp 0x4087a6
push dword [0x4660f8]
call fcn.0040198d
cmp al, 0x64
pop ecx
mov byte [0x46334f], al
jbe 0x4087a6
mov byte [0x46334f], 2
jmp 0x4087a6
push dword [0x46333c]
push dword [0x4660f8]
call fcn.00414ffd
pop ecx
pop ecx
mov dword [0x46333c], eax
jmp 0x4087a6
push str.Play
push dword [0x466100]
call fcn.00441849
pop ecx
test eax, eax
mov eax, dword [0x4660f8]
pop ecx
jne 0x408038
cmp byte [eax], 0
je 0x40801a
push eax
call fcn.0040198d
pop ecx
mov dword [0x463278], eax
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4087a6
push eax
call fcn.0040198d
mov dword [0x463280], eax
jmp 0x406a2d
cmp byte [eax], 0
je 0x408049
push eax
call fcn.0040198d
pop ecx
mov dword [0x463274], eax
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x4087a6
push eax
call fcn.0040198d
mov dword [0x46327c], eax
jmp 0x406a2d
push str.Play
push dword [0x4660fc]
call fcn.00441849
test eax, eax
pop ecx
pop ecx
push dword [0x4660f8]
jne 0x408092
call fcn.0040198d
mov dword [0x463288], eax
jmp 0x406a2d
call fcn.0040198d
mov dword [0x463284], eax
jmp 0x406a2d
push dword [0x4660f8]
call fcn.0040198d
pop ecx
mov dword [0x46326c], eax
jmp 0x4087a6
push dword [0x4660f8]
call fcn.0040198d
pop ecx
mov dword [0x463270], eax
jmp 0x4087a6
push 0x459128
push dword [0x4660f8]
call fcn.00438b16
test eax, eax
pop ecx
pop ecx
push dword [0x4660f8]
je 0x408107
or dword [0x463218], 0xffffffff
or dword [0x46321c], 0xffffffff
call fcn.0040198d
pop ecx
mov dword [0x46323c], eax
jmp 0x4087a6
or dword [0x46323c], 0xffffffff
call fcn.004019fb
mov dword [0x463218], eax
or eax, edx
pop ecx
mov dword [0x46321c], edx
jne 0x4087a6
and dword [0x46321c], 0
mov dword [0x463218], 0xa
jmp 0x4087a6
push 7
push dword [0x4660f8]
call fcn.00414dbb
cmp eax, 7
pop ecx
pop ecx
je 0x4087a6
cmp eax, 1
sete al
mov byte [0x463352], al
jmp 0x4087a6
push dword [0x4660f8]
call fcn.004151ad
dec eax
pop ecx
je 0x4081da
dec eax
je 0x4081cb
dec eax
je 0x4081bc
dec eax
je 0x4081ad
dec eax
je 0x4081a1
dec eax
je 0x408195
push dword [0x4660f8]
push 0
push str.Requires_1_2_3_Slow_Fast__The_current_thread_will_exit.
jmp 0x4083db
mov byte [0x463349], 0
jmp 0x4087a6
mov byte [0x463349], 1
jmp 0x4087a6
mov dword [0x463238], 4
jmp 0x4087a6
mov dword [0x463238], 3
jmp 0x4087a6
mov dword [0x463238], 2
jmp 0x4087a6
xor eax, eax
inc eax
mov dword [0x463238], eax
jmp 0x4087d0
push str.Float
push dword [0x4660f8]
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x408297
push 2
mov ecx, ebx
call fcn.0041d507
cmp eax, 0x1e
jae 0x4087a6
push dword [0x4660fc]
call fcn.004019fb
push 0x2e
push dword [0x4660fc]
mov ebp, eax
mov dword [esp + 0x8c], edx
call fcn.00453c30
mov esi, eax
add esp, 0xc
test esi, esi
je 0x408249
lea eax, [esi + 1]
push eax
call fcn.004019fb
pop ecx
jmp 0x40824d
xor eax, eax
xor edx, edx
add eax, ebp
adc edx, dword [esp + 0x80]
add eax, 2
adc edx, 0
mov dword [esp + 0x20], edx
js 0x408273
jg 0x4087a6
cmp eax, 0xff
ja 0x4087a6
test esi, esi
jne 0x40827c
mov edi, 0x4590ec
push edi
push dword [0x4660fc]
push str.___s_sf
push 0x46328c
call fcn.0044118f
jmp 0x4068fc
push str.Integer
push dword [0x4660f8]
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x4087a6
mov eax, dword [0x4660fc]
mov al, byte [eax]
cmp al, 0x44
je 0x4082d8
cmp al, 0x48
je 0x4082cc
cmp al, 0x64
je 0x4082d8
cmp al, 0x68
jne 0x4087a6
mov byte [0x463354], 1
jmp 0x4087a6
mov byte [0x463354], 0
jmp 0x4087a6
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
call fcn.00424d62
jmp 0x4087c8
push dword [0x466108]
mov ecx, ebp
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00436cad
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebp
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00434e2a
jmp 0x4087c8
push dword [0x466100]
mov ecx, ebx
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00432674
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
call fcn.0043332a
jmp 0x4087c8
xor esi, esi
push esi
push dword [0x4660f8]
call fcn.00414ec0
sub eax, esi
pop ecx
pop ecx
je 0x4083cf
dec eax
je 0x4083b8
dec eax
je 0x4083a9
sub eax, 3
je 0x4083c5
dec eax
dec eax
jmp 0x4083bf
cmp byte [0x4634ae], 0
je 0x4087a6
jmp 0x4083c5
cmp byte [0x4634ae], 0
jne 0x4087a6
call fcn.00419ead
jmp 0x4087a6
push dword [0x4660f8]
push esi
push str.Parameter_1_invalid
mov ecx, ebx
call fcn.0044a6b8
jmp 0x4087c8
push dword [0x4660fc]
call fcn.0040198d
test eax, eax
setne al
pop ecx
push eax
push 0
push dword [0x4660f8]
call fcn.00414e69
pop ecx
pop ecx
push eax
mov ecx, ebx
call fcn.0041400d
jmp 0x4087c8
push 7
push dword [0x4660f8]
call fcn.00414dbb
cmp eax, 7
pop ecx
pop ecx
je 0x4087a6
cmp eax, 1
sete al
mov byte [0x463353], al
jmp 0x4087a6
push dword [0x4660f8]
call fcn.00415077
cmp al, 4
pop ecx
mov byte [0x463351], al
jne 0x4087a6
mov byte [0x463351], 0
jmp 0x4087a6
push 7
push dword [0x4660f8]
call fcn.00414dbb
cmp eax, 7
pop ecx
pop ecx
je 0x4087a6
cmp eax, 1
sete al
mov byte [0x46334a], al
jmp 0x4087a6
push 7
push dword [0x4660f8]
call fcn.00414dbb
cmp eax, 7
pop ecx
pop ecx
je 0x4087a6
cmp eax, 1
sete al
mov byte [0x46334b], al
jmp 0x4087a6
push dword [0x4660f8]
call fcn.00414094
cmp eax, 1
pop ecx
je 0x40850f
cmp eax, 2
je 0x40850b
cmp eax, 7
jle 0x4087a6
cmp eax, 0xb
jle 0x408501
cmp eax, 0xc
je 0x4084f0
cmp eax, 0xd
jne 0x4087a6
mov byte [0x463d8b], 0
jmp 0x4087a6
mov byte [0x463d8b], 1
call fcn.0040f6bc
jmp 0x4087a6
mov dword [0x46110c], eax
jmp 0x4087a6
push 0
jmp 0x408511
push 1
call fcn.00419e04
jmp 0x406a2d
push dword [0x4660f8]
push str._a_a_a_v
push 0x90
jmp 0x40854c
push dword [0x4660f8]
push 0x461104
push 0x14
jmp 0x40854c
push dword [0x4660f8]
push 0x461108
push 0x91
call fcn.0042880a
add esp, 0xc
jmp 0x4087c8
push 1
mov ecx, ebp
call fcn.00419ddb
jmp 0x4087a6
push dword [0x4660f8]
call fcn.0040198d
cmp eax, 0x19
pop ecx
jge 0x406a24
test eax, eax
jle 0x406a24
jmp 0x406a0f
push dword [0x466108]
mov ecx, ebx
push dword [0x466104]
push dword [0x466100]
push dword [0x4660fc]
call fcn.00419ccc
jmp 0x4087c8
push dword [0x466104]
mov ecx, ebx
push dword [0x466100]
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00419d5b
jmp 0x4087c8
cmp byte [ebx + 2], 3
mov ecx, ebx
sbb eax, eax
not eax
and eax, dword [0x466100]
push eax
push dword [0x4660fc]
push dword [0x4660f8]
call fcn.00419c4e
jmp 0x4087c8
mov cl, byte [ebx + 2]
cmp cl, 2
jae 0x408623
mov eax, dword [0x46322c]
test eax, eax
je 0x408623
lea ecx, [eax + 0x10c]
push ecx
lea ecx, [eax + 8]
push ecx
push dword [eax + 4]
mov ecx, ebx
call fcn.00419684
jmp 0x4087c8
cmp cl, 4
ja 0x408658
push dword [0x4660fc]
call fcn.0041947a
test eax, eax
pop ecx
jne 0x408658
lea eax, [esp + 0x12]
push eax
push dword [0x4660fc]
call fcn.00419310
pop ecx
pop ecx
push dword [0x466104]
push dword [0x466100]
jmp 0x408676
lea eax, [esp + 0x12]
push eax
push dword [0x466100]
call fcn.00419310
pop ecx
pop ecx
push dword [0x466108]
push dword [0x466104]
mov esi, eax
mov ecx, ebx
push esi
call fcn.00419684
jmp 0x408782
cmp byte [ebx + 2], 2
jae 0x4086ba
mov eax, dword [0x46322c]
test eax, eax
je 0x4086ba
push dword [0x4660f8]
lea ecx, [eax + 0x10c]
push ecx
lea ecx, [eax + 8]
push ecx
push dword [eax + 4]
mov ecx, ebx
push dword [eax + 0x210]
call fcn.004199c4
jmp 0x4087c8
lea eax, [esp + 0x12]
push eax
push dword [0x4660fc]
call fcn.00419310
pop ecx
pop ecx
push dword [0x466108]
mov esi, eax
push dword [0x466104]
push dword [0x466100]
push esi
push dword [0x4660f8]
call fcn.0041947a
pop ecx
push eax
mov ecx, ebx
call fcn.004199c4
jmp 0x408782
cmp byte [ebx + 2], 1
jae 0x40875a
mov eax, dword [0x46322c]
test eax, eax
je 0x40875a
cmp dword [eax + 0x210], 0xfffffffe
lea ecx, [eax + 0x10c]
push ecx
jne 0x40874a
add eax, 8
push eax
push 0x45853c
lea eax, [esp + 0xb8]
push 0x104
push eax
call fcn.0040a9c1
add esp, 0x14
push edi
lea eax, [esp + 0xb0]
push eax
mov eax, dword [0x46322c]
push dword [eax + 4]
jmp 0x408751
lea ecx, [eax + 8]
push ecx
push dword [eax + 4]
mov ecx, ebx
call fcn.004195be
jmp 0x4087c8
lea eax, [esp + 0x12]
push eax
push dword [0x4660f8]
call fcn.00419310
pop ecx
pop ecx
push dword [0x466100]
mov esi, eax
push dword [0x4660fc]
mov ecx, ebx
push esi
call fcn.004195be
cmp byte [esp + 0x12], 0
mov edi, eax
je 0x408796
test esi, esi
je 0x408796
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x4087c8
push dword [0x4660f8]
call dword [sym.imp.KERNEL32.DLL_OutputDebugStringA]
xor eax, eax
inc eax
jmp 0x4087d0
push dword [0x4660f8]
call fcn.0040198d
push eax
call fcn.0042c21e
neg al
pop ecx
pop ecx
sbb eax, eax
neg eax
jmp 0x4087c8
xor eax, eax
test eax, eax
je 0x405a09
cmp dword [esp + 0x1b4], 3
je 0x405a09
jmp 0x40888b
add dword [0x464298], 1
mov eax, dword [esp + 0x60]
push 0
pop edi
adc dword [0x46429c], edi
mov esi, dword [eax + 0xc]
cmp esi, edi
jne 0x40880e
push edi
push dword [0x4660f8]
mov ecx, ebp
call fcn.0044dabe
mov esi, eax
xor ebp, ebp
inc ebp
cmp esi, edi
je 0x40887d
mov eax, dword [0x4660fc]
cmp byte [eax], 0
je 0x408834
push 0x457f60
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x408834
mov al, 1
jmp 0x408836
xor al, al
lea ecx, [esp + 0x34]
push ecx
push edi
push eax
mov ecx, esi
call fcn.0044dc42
cmp dword [esp + 0x34], edi
je 0x40887d
push dword [esp + 0x34]
mov ecx, ebx
call fcn.00427801
test eax, eax
je 0x408913
mov ecx, dword [esp + 0x34]
push edi
push edi
push 1
call fcn.004057b1
mov ebp, eax
cmp ebp, edi
je 0x4089b9
cmp ebp, 8
je 0x4089b9
cmp dword [esp + 0x1b4], 3
je 0x4089b0
mov ebx, dword [ebx + 0x14]
jmp 0x4059e2
cmp dword [ebx + 0xc], esi
jne 0x4059df
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1bc]
push 2
call fcn.004057b1
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
je 0x4059e6
cmp dword [esp + 0x1b4], 3
je 0x4089e4
cmp eax, esi
je 0x405a09
cmp eax, 7
je 0x405a09
cmp eax, 8
je 0x405a09
cmp eax, 5
je 0x405a09
cmp eax, 6
je 0x405a09
cmp ecx, esi
je 0x4059df
mov eax, dword [ebx + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x4089e1
mov ebx, ecx
jmp 0x4059e2
xor eax, eax
jmp 0x405a09
mov ecx, dword [esp + 0x24]
jmp 0x4089e4
mov eax, dword [0x4621d0]
cmp word [eax], si
jne 0x40894e
cmp dword [0x465034], esi
jne 0x40894e
cmp dword [0x463490], esi
jne 0x40894e
cmp dword [0x463494], esi
jne 0x40894e
cmp byte [0x4634a4], 0
je 0x408994
push 8
pop eax
jmp 0x405a09
mov eax, dword [esp + 0x1b8]
cmp eax, esi
je 0x408969
mov ecx, dword [0x4660f8]
mov dword [eax], ecx
mov eax, dword [esp + 0x1b4]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
jmp 0x405a09
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
jmp 0x405a06
mov eax, esi
jmp 0x405a09
push 5
jmp 0x408950
push dword [0x4660f8]
call fcn.0040198d
pop ecx
push eax
push esi
push 9
mov ecx, ebp
call fcn.00415d8b
jmp 0x405a09
cmp ebp, 7
je 0x405a06
mov eax, ebp
jmp 0x405a09
cmp dword [esp + 0x1b4], 2
je 0x405a06
push edi
push esi
push str.A__return__must_be_encountered_prior_to_this___.__The_current_thread_will_exit.
mov ecx, ebx
call fcn.0044a6b8
jmp 0x405a09
xor eax, eax
inc eax
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
jmp 0x405a09
push 6
jmp 0x408950