Function at 0x402cee
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, 0x4a0
mov eax, dword [esp + 0x4ac]
push ebx
push ebp
xor ebp, ebp
cmp eax, ebp
push esi
push edi
mov dword [esp + 0x60], ecx
jne 0x402d0d
lea eax, [esp + 0x64]
cmp ecx, ebp
mov dword [eax], ebp
mov ebx, dword [0x464108]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], ebx
mov edi, ecx
je 0x402f19
mov esi, dword [esp + 0x60]
cmp dword [0x4671f0], ebp
je 0x402d3e
push ebp
mov ecx, 0x4671d8
call fcn.0044310a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x464108]
mov ecx, eax
sub ecx, dword [0x4671ac]
cmp ecx, dword [edx + 0xac]
jbe 0x402d86
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0xa4]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x402d7b
push 1
push 0xffffffffffffffff
call fcn.0040dca7
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4671ac], eax
cmp byte [ebx + 0xc0], 0
jne 0x402db7
cmp byte [ebx + 0xc2], 0
jne 0x402db7
mov edx, dword [0x4671a0]
cmp edx, 0xffffffff
jle 0x402db7
mov ecx, dword [ebx + 0x28]
cmp ecx, edx
jle 0x402db3
mov byte [ebx + 0xc0], 1
jmp 0x402db7
inc ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 4]
cmp ecx, 0xffffffff
mov edx, dword [ebx]
jl 0x402de0
jg 0x402dc8
cmp edx, 0xffffffff
jbe 0x402de0
mov ebp, dword [0x46719c]
cmp ebp, ecx
jg 0x402df4
jl 0x402dde
mov ecx, dword [0x467198]
cmp ecx, edx
jae 0x402df4
xor ebp, ebp
mov ecx, dword [ebx + 0x24]
cmp ecx, 0xffffffff
jle 0x402e0a
sub eax, dword [0x4671a8]
cmp eax, ecx
jb 0x402e0a
jmp 0x402df6
xor ebp, ebp
push 1
push 0xa
jmp 0x402e03
push 1
push 0x8000012f
call fcn.0040dca7
pop ecx
pop ecx
cmp byte [ebx + 0xca], 0
jne 0x402dfc
mov eax, dword [0x469b90]
mov dword [0x466f1c], edi
mov dword [eax*4 + 0x469550], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x469b90]
mov dword [ecx*4 + 0x468e68], eax
inc ecx
cmp ecx, 0x190
mov dword [0x469b90], ecx
jl 0x402e4d
mov dword [0x469b90], ebp
mov al, byte [edi]
cmp al, 1
je 0x402e6c
cmp al, 0x69
je 0x402e6c
push ebp
push 0xffffffffffffffff
mov ecx, edi
call fcn.004029df
mov esi, eax
cmp esi, 1
jne 0x406039
mov al, byte [edi]
cmp al, 0xa
jb 0x402fb5
cmp al, 0x21
ja 0x402fb5
add dword [0x467198], 1
mov ecx, edi
adc dword [0x46719c], ebp
call fcn.004064ac
cmp eax, 3
jne 0x402f29
mov ecx, dword [edi + 0x14]
cmp byte [ecx], 0x6c
jne 0x402ec8
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x4bc]
push 2
call fcn.00402cee
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x20]
cmp edx, ecx
mov esi, eax
je 0x402ea3
jmp 0x402ee1
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x4bc]
push 3
call fcn.00402cee
mov edx, dword [esp + 0x20]
mov esi, eax
cmp edx, edi
je 0x402f0f
cmp dword [esp + 0x4b4], 3
je 0x406043
cmp esi, 1
jne 0x406039
cmp edx, ebp
jne 0x402fa2
mov edi, dword [edi + 0x18]
cmp byte [edi], 9
jne 0x402f0f
mov edi, dword [edi + 0x18]
xor ebp, ebp
cmp edi, ebp
jne 0x402d2b
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4a0
ret 0xc
mov edi, dword [edi + 0x18]
cmp byte [edi], 9
je 0x402f3d
cmp dword [esp + 0x4b4], 3
je 0x402f19
jmp 0x402f0f
mov ecx, dword [edi + 0x14]
cmp byte [ecx], 0x6c
jne 0x402f6a
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x4bc]
push 2
call fcn.00402cee
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x20]
cmp edx, ecx
mov esi, eax
je 0x402f45
jmp 0x402f83
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x4bc]
push 3
call fcn.00402cee
mov edx, dword [esp + 0x20]
mov esi, eax
cmp dword [esp + 0x4b4], 3
je 0x406043
cmp esi, 1
jne 0x406039
cmp edx, ebp
je 0x402f0c
mov eax, dword [edx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x406040
mov edi, edx
jmp 0x402f0f
movzx eax, al
cmp eax, 0x6a
jg 0x403414
je 0x4060c4
cmp eax, 8
je 0x402ffb
cmp eax, 0x5f
je 0x40307c
cmp eax, 0x60
je 0x40301f
cmp eax, 0x66
je 0x40607e
cmp eax, 0x67
je 0x40604b
jle 0x40343d
cmp eax, 0x69
jg 0x40343d
mov ebp, dword [edi + 0xc]
cmp ebp, 4
jne 0x4030da
push 0
push dword [0x4694a8]
call fcn.00419f17
pop ecx
pop ecx
mov dword [esp + 0x54], eax
jmp 0x403181
add dword [0x467198], 1
adc dword [0x46719c], ebp
mov eax, dword [edi + 0x18]
cmp eax, ebp
mov dword [esp + 0x2c], eax
jne 0x40304c
push 1
mov ecx, edi
call fcn.00425436
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x4060e3
mov ecx, eax
call fcn.00406481
mov esi, eax
cmp esi, ebp
je 0x406039
cmp esi, 8
je 0x406039
cmp dword [esp + 0x4b4], 3
je 0x4060ea
mov edi, dword [edi + 0x14]
jmp 0x402f0f
add dword [0x467198], 1
adc dword [0x46719c], ebp
mov eax, dword [edi + 0x18]
cmp eax, ebp
mov dword [esp + 0x2c], eax
jne 0x4030a9
push 1
mov ecx, edi
call fcn.00425436
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x4060e3
cmp dword [esp + 0x4b4], 3
mov dword [ebx + 0x98], eax
mov ecx, dword [esp + 0x2c]
je 0x4030cc
mov eax, dword [ecx + 4]
mov edx, dword [edi + 0x1c]
cmp edx, dword [eax + 0x1c]
je 0x40340d
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
jmp 0x402f19
cmp ebp, 1
ja 0x403148
movzx eax, byte [edi + 1]
sub eax, 0
je 0x403145
dec eax
je 0x403126
push str.Read
push dword [0x4694a8]
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne 0x403105
push 5
jmp 0x403142
push 0
push dword [0x4694a8]
call fcn.00419f17
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x54], eax
add ecx, 3
mov ebp, ecx
jmp 0x403148
push 0
push 1
push 1
push 1
push dword [0x4694a8]
call fcn.00401fec
add esp, 0x14
test eax, eax
je 0x403105
push 2
pop ebp
jmp 0x4031c3
push 2
pop ebp
cmp ebp, 3
jne 0x40317c
cmp byte [edi + 1], 1
ja 0x40315d
mov dword [esp + 0x4c], 1
jmp 0x403175
push dword [0x4694ac]
call fcn.00416a1a
test eax, eax
pop ecx
mov dword [esp + 0x4c], eax
je 0x4060a6
mov eax, dword [0x4694b0]
jmp 0x4031ae
cmp ebp, 4
jne 0x4031c3
cmp byte [edi + 1], 2
ja 0x403191
mov dword [esp + 0x4c], 1
jmp 0x4031a9
push dword [0x4694b0]
call fcn.00416a1a
test eax, eax
pop ecx
mov dword [esp + 0x4c], eax
je 0x4060b5
mov eax, dword [0x4694b4]
cmp byte [eax], 0x31
jne 0x4031be
cmp byte [eax + 1], 0
mov byte [esp + 0x48], 1
je 0x4031c3
mov byte [esp + 0x48], 0
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [ebx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], eax
mov eax, ebp
dec eax
dec eax
mov byte [esp + 0x12], 0
mov dword [ebx + 8], 1
mov dword [ebx + 0xc], edx
je 0x403350
dec eax
je 0x403328
dec eax
je 0x4032d3
dec eax
je 0x403281
dec eax
je 0x403244
dec eax
jne 0x403398
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x16]
push eax
push dword [esp + 0x4c0]
mov ecx, edi
call fcn.004016b8
jmp 0x403396
push 0x45c070
push dword [0x4694b0]
call fcn.00441ec1
pop ecx
pop ecx
test eax, eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x16]
push eax
push dword [esp + 0x4c0]
mov ecx, edi
je 0x403277
call fcn.00409d5f
jmp 0x403396
call fcn.00409f76
jmp 0x403396
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x4032cb
push 0x45c06c
push eax
call fcn.0043e5e6
mov ebp, eax
test ebp, ebp
pop ecx
pop ecx
je 0x4032cb
push dword [0x4694b0]
lea eax, [esp + 0x24]
push ebp
push eax
lea eax, [esp + 0x1e]
push eax
push dword [esp + 0x4c8]
mov ecx, edi
call fcn.004198d6
push ebp
mov esi, eax
call fcn.0043e46e
pop ecx
jmp 0x403398
xor esi, esi
inc esi
jmp 0x403398
lea eax, [esp + 0x41]
push eax
push dword [0x4694a8]
call fcn.00419f17
mov ebp, eax
test ebp, ebp
pop ecx
pop ecx
je 0x4032cb
push dword [0x4694ac]
lea eax, [esp + 0x24]
push ebp
push dword [esp + 0x5c]
mov ecx, edi
push dword [esp + 0x54]
push dword [esp + 0x5c]
push eax
lea eax, [esp + 0x2a]
push eax
push dword [esp + 0x4d4]
call fcn.00419ba3
cmp byte [esp + 0x41], 0
mov esi, eax
je 0x403398
push ebp
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x403398
push dword [0x4694a8]
lea eax, [esp + 0x24]
push dword [esp + 0x4c]
mov ecx, edi
push dword [esp + 0x54]
push eax
lea eax, [esp + 0x22]
push eax
push dword [esp + 0x4cc]
call fcn.0040a197
jmp 0x403396
cmp byte [edi + 1], 0
jbe 0x403371
push 0
mov ecx, edi
call fcn.00408e81
cmp byte [edi], 8
jne 0x40336a
mov ecx, eax
or ecx, edx
je 0x403373
mov byte [esp + 0x50], 0
jmp 0x403378
xor eax, eax
mov byte [esp + 0x50], 1
push dword [esp + 0x50]
mov ecx, edi
push edx
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x22]
push eax
push dword [esp + 0x4cc]
call fcn.0040177d
mov esi, eax
test esi, esi
mov eax, dword [esp + 0x70]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x1c], eax
je 0x406039
cmp esi, 7
je 0x406039
cmp esi, 8
je 0x406039
cmp byte [esp + 0x12], 0
jne 0x402f0f
cmp dword [esp + 0x4b4], 3
mov eax, dword [esp + 0x20]
je 0x4030cf
test eax, eax
je 0x402f0c
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [edi + 0x1c]
jne 0x4030cf
mov edi, eax
jmp 0x402f0f
sub eax, 0x6b
je 0x40612b
dec eax
je 0x405fdc
dec eax
je 0x4060f8
sub eax, 0x21
je 0x405f45
sub eax, 0x48
je 0x4060c8
mov ebx, dword [0x4694f8]
mov esi, dword [0x464108]
xor ebp, ebp
inc ebp
add dword [0x467198], ebp
push 0
pop edx
adc dword [0x46719c], edx
mov al, byte [edi]
movzx ecx, al
dec ecx
cmp ecx, 0xd6
mov dword [esp + 0x34], ebx
ja case.0x403478.8
movzx ecx, byte [ecx + 0x4063aa]
jmp dword [ecx*4 + 0x406132]
mov ecx, edi
call fcn.004013a5
jmp 0x404f80
cmp byte [edi + 1], 1
mov esi, dword [0x4694ac]
jbe 0x4034fc
mov eax, dword [edi + 4]
cmp byte [eax + 0x11], 0
jne case.0x403478.3
mov eax, dword [eax + 0x1c]
cmp eax, edx
je 0x4034bc
push dword [eax + 4]
push dword [eax]
mov ecx, ebx
call fcn.00401d8e
jmp 0x404f80
mov eax, dword [0x4694fc]
cmp eax, edx
je 0x4034fc
cmp byte [esi], 0
jne 0x4034fc
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4034d7
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
dec ecx
je 0x4034ed
dec ecx
dec ecx
jne 0x4034fa
mov ecx, ebx
call fcn.00443639
jmp 0x404f80
push eax
mov ecx, ebx
call fcn.00401aef
jmp 0x404f80
xor edx, edx
push ebp
push edx
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.0040187e
jmp 0x404f80
mov eax, dword [edi + 4]
cmp dword [eax + 0x1c], edx
je 0x403527
cmp byte [eax + 0x11], 0
jne 0x403527
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
xor esi, esi
jmp 0x40357c
mov eax, dword [0x4694fc]
cmp eax, edx
mov dword [esp + 0x18], edx
je 0x403557
mov ecx, dword [0x4694ac]
cmp byte [ecx], 0
jne 0x403557
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x40354c
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
xor edx, edx
cmp cl, 1
jne 0x403557
mov esi, eax
jmp 0x403559
xor esi, esi
cmp esi, edx
push ebp
je 0x403567
mov ecx, esi
call fcn.00402131
jmp 0x403578
push ebp
push edx
push ebp
push dword [0x4694ac]
call fcn.00401fec
add esp, 0x14
mov dword [esp + 0x14], eax
push ebp
mov ecx, ebx
call fcn.00402131
mov dword [esp + 0x34], eax
mov eax, dword [0x4694b0]
mov al, byte [eax]
test al, al
je 0x4036be
movsx eax, al
push eax
call fcn.0044234f
push eax
push 0x45be90
call fcn.00457650
add esp, 0xc
test eax, eax
je 0x4036be
cmp dword [esp + 0x14], 0
je case.0x403478.3
cmp dword [esp + 0x18], 0
je 0x4035d2
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x4035ed
test esi, esi
je 0x4035e1
push 0
mov ecx, esi
call fcn.004023aa
jmp 0x4035ed
push dword [0x4694ac]
call fcn.00401225
pop ecx
push ebp
fstp qword [esp + 0x28]
mov ecx, ebx
call fcn.00401e91
cmp byte [eax], 0
je 0x40361d
lea eax, [esp + 0x58]
push eax
push ebp
mov ecx, ebx
call fcn.00401e91
push eax
call fcn.004397ff
test eax, eax
pop ecx
pop ecx
jne 0x40363e
push ebp
jmp 0x4037e8
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [0x4694b0]
movsx eax, byte [eax]
push eax
call fcn.0044234f
cmp eax, 0x44
fld qword [esp + 0x28]
pop ecx
je 0x40367d
cmp eax, 0x48
je 0x403675
cmp eax, 0x4d
je 0x40366d
cmp eax, 0x53
jne 0x403683
fmul qword [0x45be88]
jmp 0x403683
fmul qword [0x45be80]
jmp 0x403683
fmul qword [0x45be78]
jmp 0x403683
fmul qword [0x45be70]
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
call fcn.00457f8c
push 1
push 0
add esi, eax
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xc4]
adc ebp, edx
push eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebp
call fcn.004396e0
add esp, 0xc
jmp 0x403c8e
cmp dword [esp + 0x14], 2
je 0x403712
cmp dword [esp + 0x34], 2
je 0x403712
cmp dword [esp + 0x18], 0
je 0x4036e0
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x4036ff
test esi, esi
je 0x4036ef
push 0
mov ecx, esi
call fcn.00401caf
jmp 0x4036fb
push dword [0x4694ac]
call fcn.00401f32
pop ecx
mov esi, eax
mov ebp, edx
push 0
mov ecx, ebx
call fcn.00401caf
add eax, esi
adc edx, ebp
push edx
jmp 0x403dd0
xor ebp, ebp
cmp dword [esp + 0x18], ebp
je 0x403724
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x40373e
cmp esi, ebp
je 0x403732
push ebp
mov ecx, esi
call fcn.004023aa
jmp 0x40373e
push dword [0x4694ac]
call fcn.00401225
pop ecx
push ebp
fstp qword [esp + 0x28]
mov ecx, ebx
call fcn.004023aa
fadd qword [esp + 0x24]
push ecx
push ecx
mov ecx, ebx
fstp qword [esp]
call fcn.0040c65c
jmp 0x404f80
mov eax, dword [0x4694b0]
mov al, byte [eax]
test al, al
je 0x40383c
movsx eax, al
push eax
call fcn.0044234f
push eax
push 0x45be90
call fcn.00457650
add esp, 0xc
test eax, eax
je 0x40383c
mov eax, dword [0x4694fc]
test eax, eax
mov esi, dword [0x4694ac]
je 0x4037b3
cmp byte [esi], 0
jne 0x4037b3
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4037ae
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x4037b5
xor eax, eax
test eax, eax
je 0x4037c3
push ebp
mov ecx, eax
call fcn.00401e91
mov esi, eax
lea eax, [esp + 0x42]
push eax
push 1
mov ecx, ebx
call fcn.00401e91
push eax
push esi
call fcn.0043976a
add esp, 0xc
cmp byte [esp + 0x42], 0
mov esi, eax
mov ebp, edx
je 0x4037f6
push 1
push 0
push 0xffffffffffffffff
push 0x4595d8
jmp 0x403501
mov eax, dword [0x4694b0]
movsx eax, byte [eax]
push eax
call fcn.0044234f
cmp eax, 0x44
pop ecx
je 0x403823
cmp eax, 0x48
je 0x40381a
cmp eax, 0x4d
jne 0x403835
push 0
push 0x3c
jmp 0x40382a
push 0
push 0xe10
jmp 0x40382a
push 0
push 0x15180
push ebp
push esi
call fcn.00457ee0
mov esi, eax
mov ebp, edx
push ebp
push esi
jmp 0x4034b0
mov eax, dword [edi + 4]
xor ecx, ecx
cmp dword [eax + 0x1c], ecx
je 0x403857
cmp byte [eax + 0x11], cl
jne 0x403857
mov dword [esp + 0x18], ebp
mov esi, ebp
mov dword [esp + 0x14], ecx
jmp 0x4038ab
mov eax, dword [0x4694fc]
cmp eax, ecx
mov esi, dword [0x4694ac]
mov dword [esp + 0x18], ecx
je 0x403887
cmp byte [esi], 0
jne 0x403887
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x40387c
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x403887
mov dword [esp + 0x14], eax
jmp 0x40388c
and dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
test ecx, ecx
push ebp
je 0x40389c
call fcn.00402131
jmp 0x4038a9
push ebp
push 0
push ebp
push esi
call fcn.00401fec
add esp, 0x14
mov esi, eax
push ebp
mov ecx, ebx
call fcn.00402131
cmp esi, 2
je 0x403904
cmp eax, 2
je 0x403904
cmp dword [esp + 0x18], 0
je 0x4038d1
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x4038f2
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4038e2
push 0
call fcn.00401caf
jmp 0x4038ee
push dword [0x4694ac]
call fcn.00401f32
pop ecx
mov esi, eax
mov ebp, edx
push 0
mov ecx, ebx
call fcn.00401caf
sub eax, esi
sbb edx, ebp
jmp 0x40370c
xor esi, esi
cmp dword [esp + 0x18], esi
je 0x403916
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x403932
mov ecx, dword [esp + 0x14]
cmp ecx, esi
je 0x403926
push esi
call fcn.004023aa
jmp 0x403932
push dword [0x4694ac]
call fcn.00401225
pop ecx
push esi
fstp qword [esp + 0x28]
mov ecx, ebx
call fcn.004023aa
fsub qword [esp + 0x24]
jmp 0x40374e
mov eax, dword [edi + 4]
cmp dword [eax + 0x1c], edx
je 0x403961
cmp byte [eax + 0x11], 0
jne 0x403961
mov dword [esp + 0x18], ebp
mov esi, ebp
mov dword [esp + 0x14], edx
jmp 0x4039b3
mov eax, dword [0x4694fc]
cmp eax, edx
mov esi, dword [0x4694ac]
mov dword [esp + 0x18], edx
je 0x403991
cmp byte [esi], 0
jne 0x403991
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x403986
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
xor edx, edx
cmp cl, 1
mov dword [esp + 0x14], eax
je 0x403995
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x14]
cmp ecx, edx
push ebp
je 0x4039a5
call fcn.00402131
jmp 0x4039b1
push ebp
push edx
push ebp
push esi
call fcn.00401fec
add esp, 0x14
mov esi, eax
push ebp
mov ecx, ebx
call fcn.00402131
cmp esi, 2
je 0x403a11
cmp eax, 2
je 0x403a11
cmp dword [esp + 0x18], 0
je 0x4039d9
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x4039fa
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4039ea
push 0
call fcn.00401caf
jmp 0x4039f6
push dword [0x4694ac]
call fcn.00401f32
pop ecx
mov esi, eax
mov ebp, edx
push 0
mov ecx, ebx
call fcn.00401caf
push ebp
push esi
push edx
push eax
call fcn.00457ea0
jmp 0x40370c
xor esi, esi
cmp dword [esp + 0x18], esi
je 0x403a23
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x403a3f
mov ecx, dword [esp + 0x14]
cmp ecx, esi
je 0x403a33
push esi
call fcn.004023aa
jmp 0x403a3f
push dword [0x4694ac]
call fcn.00401225
pop ecx
push esi
fstp qword [esp + 0x28]
mov ecx, ebx
call fcn.004023aa
fmul qword [esp + 0x24]
jmp 0x40374e
mov eax, dword [edi + 4]
cmp dword [eax + 0x1c], edx
je 0x403a6e
cmp byte [eax + 0x11], 0
jne 0x403a6e
mov dword [esp + 0x18], ebp
mov esi, ebp
mov dword [esp + 0x14], edx
jmp 0x403ac0
mov eax, dword [0x4694fc]
cmp eax, edx
mov esi, dword [0x4694ac]
mov dword [esp + 0x18], edx
je 0x403a9e
cmp byte [esi], 0
jne 0x403a9e
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x403a93
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
xor edx, edx
cmp cl, 1
mov dword [esp + 0x14], eax
je 0x403aa2
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x14]
cmp ecx, edx
push ebp
je 0x403ab2
call fcn.00402131
jmp 0x403abe
push ebp
push edx
push ebp
push esi
call fcn.00401fec
add esp, 0x14
mov esi, eax
push ebp
mov ecx, ebx
call fcn.00402131
cmp esi, 2
je 0x403b3b
cmp eax, 2
je 0x403b3b
cmp dword [esp + 0x18], 0
je 0x403aea
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
jmp 0x403b0d
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x403afb
push 0
call fcn.00401caf
jmp 0x403b07
push dword [0x4694ac]
call fcn.00401f32
pop ecx
mov esi, eax
mov dword [esp + 0x6c], edx
mov eax, esi
or eax, dword [esp + 0x6c]
mov ecx, ebx
jne 0x403b23
push ebp
push 0
push 0xffffffffffffffff
push 0
jmp 0x403503
push 0
call fcn.00401caf
push dword [esp + 0x6c]
push esi
push edx
push eax
call fcn.00457ee0
jmp 0x40370c
xor esi, esi
cmp dword [esp + 0x18], esi
je 0x403b4d
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x403b69
mov ecx, dword [esp + 0x14]
cmp ecx, esi
je 0x403b5d
push esi
call fcn.004023aa
jmp 0x403b69
push dword [0x4694ac]
call fcn.00401225
pop ecx
fstp qword [esp + 0x24]
mov ecx, ebx
fld qword [0x45bd58]
fld qword [esp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jp 0x403b8c
push ebp
push esi
push 0xffffffffffffffff
push esi
jmp 0x403503
push esi
call fcn.004023aa
fdiv qword [esp + 0x24]
jmp 0x40374e
push 2
mov ecx, edi
call fcn.00408e81
mov esi, eax
test esi, esi
jge 0x403bae
xor esi, esi
jmp 0x403bbc
push ebp
mov ecx, edi
call fcn.0040c3ca
cmp esi, eax
jle 0x403bbc
mov esi, eax
push ebp
push 0
push esi
jmp 0x403cea
push 2
mov ecx, edi
call fcn.00408e81
mov esi, eax
test esi, esi
jge 0x403bd6
xor esi, esi
push ebp
mov ecx, edi
call fcn.0040c3ca
cmp esi, eax
jbe 0x403be4
mov esi, eax
push ebp
push 0
sub eax, esi
add eax, dword [0x4694ac]
push esi
jmp 0x403c8e
cmp byte [edi + 1], 4
jb 0x403c18
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x34]
cmp byte [eax], 0
je 0x403c18
push 3
mov ecx, edi
call fcn.00408e81
mov ebp, eax
cmp ebp, 1
jge 0x403c1d
jmp 0x403c66
mov ebp, 0x7fffffff
push 2
mov ecx, edi
call fcn.00408e81
mov esi, eax
mov eax, dword [0x4694b8]
movsx eax, byte [eax]
push eax
call fcn.0044234f
cmp eax, 0x4c
pop ecx
jne 0x403c51
cmp esi, 1
jl 0x403c66
xor eax, eax
inc eax
sub eax, ebp
add esi, eax
cmp esi, 1
jge 0x403c59
lea ebp, [esi + ebp - 1]
cmp esi, 1
jge 0x403c59
xor esi, esi
inc esi
push 1
mov ecx, edi
call fcn.0040c3ca
cmp eax, esi
jae 0x403c73
push 1
push 0
push 0xffffffffffffffff
push 0
jmp 0x403501
xor ecx, ecx
inc ecx
sub ecx, esi
add eax, ecx
cmp ebp, eax
jbe 0x403c80
mov ebp, eax
mov eax, dword [0x4694ac]
push 1
push 0
push ebp
lea eax, [esi + eax - 1]
push eax
jmp 0x403501
push 2
mov ecx, edi
call fcn.00408e81
mov esi, eax
test esi, esi
jge 0x403ca5
xor esi, esi
push ebp
mov ecx, edi
call fcn.0040c3ca
cmp esi, eax
jbe 0x403cb3
mov esi, eax
push ebp
sub eax, esi
push 0
push eax
mov eax, dword [0x4694ac]
add esi, eax
jmp 0x403500
push 2
mov ecx, edi
call fcn.00408e81
mov esi, eax
test esi, esi
jge 0x403cd6
xor esi, esi
push ebp
mov ecx, edi
call fcn.0040c3ca
cmp esi, eax
jbe 0x403ce4
mov esi, eax
push ebp
push 0
sub eax, esi
push eax
push dword [0x4694ac]
jmp 0x403501
push ebp
mov ecx, ebx
call fcn.00401e91
mov esi, eax
cmp esi, dword [0x4694ac]
jne 0x403d18
mov al, byte [ebx + 0x17]
test al, al
jne 0x403d14
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x403d4d
push ebp
xor esi, esi
push esi
push ebp
mov ecx, edi
call fcn.0040c3ca
push eax
push esi
mov ecx, ebx
call fcn.0040187e
cmp eax, ebp
jne 0x406039
push ebp
mov ecx, ebx
call fcn.00401e91
push dword [0x4694ac]
mov esi, eax
push esi
call fcn.004572f0
pop ecx
pop ecx
mov eax, dword [0x4694b0]
mov al, byte [eax]
test al, al
je 0x403d7b
movsx eax, al
push eax
call fcn.0044234f
cmp eax, 0x54
pop ecx
jne 0x403d7b
mov eax, dword [0x4694b0]
cmp byte [eax + 1], 0
jne 0x403d7b
push esi
call fcn.0041aa7e
pop ecx
jmp 0x403d8f
cmp byte [edi], 0x31
push esi
jne 0x403d89
call dword [sym.imp.USER32.dll_CharLowerA]
jmp 0x403d8f
call dword [sym.imp.USER32.dll_CharUpperA]
push 0
mov ecx, ebx
call fcn.0040c389
jmp 0x404f80
mov ecx, dword [0x4694fc]
cmp ecx, edx
je 0x403dc6
cmp byte [ecx + 0x17], 0
jne 0x403db5
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x15]
jmp 0x403db8
mov al, byte [ecx + 0x15]
test al, 1
je 0x403dc6
call fcn.00401dcf
mov eax, dword [eax]
inc eax
jmp 0x403dce
push ebp
mov ecx, edi
call fcn.0040c3ca
push 0
push eax
jmp 0x4034b0
mov ebx, dword [0x4694b4]
mov al, byte [ebx]
or dword [esp + 0x30], 0xffffffff
test al, al
mov dword [esp + 0x24], ebx
je 0x403e1b
movsx eax, al
push eax
call fcn.0044234f
push eax
push 0x45be6c
call fcn.00457650
add esp, 0xc
test eax, eax
je 0x403e1b
lea eax, [ebx + 1]
cmp byte [eax], 0
je 0x403e1b
push eax
call fcn.0040137d
pop ecx
mov dword [esp + 0x18], eax
jmp 0x403e1f
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x18], 0
jle 0x403f68
mov eax, dword [0x4694b0]
cmp byte [eax], 0
jne 0x403e69
and dword [esp + 0x30], 0
mov eax, 0x459724
mov ecx, dword [0x466b78]
xor esi, esi
inc esi
push esi
push 0
push 0xffffffffffffffff
push eax
call fcn.0040187e
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
cdq
push 0x18
push edx
push eax
call fcn.00401c4f
jmp 0x405f2b
mov ecx, dword [0x4694ac]
mov dword [esp + 0x44], ecx
push 4
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.00408e81
mov ebp, eax
test ebp, ebp
jge 0x403e8a
xor ebp, ebp
test ebp, ebp
je 0x403e99
push 1
mov ecx, edi
call fcn.0040c3ca
mov ebx, eax
jmp 0x403e9c
xor ebx, ebx
inc ebx
cmp ebp, ebx
jge 0x403f68
mov eax, dword [esp + 0x24]
mov al, byte [eax]
cmp al, 0x31
je 0x403f0f
movsx eax, al
push eax
call fcn.0044234f
cmp eax, 0x52
pop ecx
je 0x403f0f
push 2
mov ecx, edi
call fcn.0040c3ca
mov ebx, eax
mov eax, dword [esp + 0x44]
xor esi, esi
inc esi
add eax, ebp
mov ecx, dword [0x464108]
mov cl, byte [ecx + 0xc5]
test cl, cl
push dword [esp + 0x14]
push eax
jne 0x403eed
call fcn.00439191
jmp 0x403efe
cmp cl, 2
jne 0x403ef9
call fcn.00439071
jmp 0x403efe
call fcn.004575b0
test eax, eax
pop ecx
pop ecx
je 0x403f68
cmp esi, dword [esp + 0x18]
je 0x403f56
inc esi
add eax, ebx
jmp 0x403ed1
test ebp, ebp
je 0x403f29
sub ebx, ebp
add ebx, dword [esp + 0x44]
mov al, byte [ebx]
mov dword [esp + 0x80], ebx
mov byte [esp + 0x43], al
mov byte [ebx], 0
push dword [esp + 0x18]
movzx eax, byte [esi + 0xc5]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x50]
call fcn.0043935e
add esp, 0x10
test ebp, ebp
je 0x403f56
mov ecx, dword [esp + 0x80]
mov dl, byte [esp + 0x43]
mov byte [ecx], dl
test eax, eax
je 0x403f68
sub eax, dword [esp + 0x44]
mov dword [esp + 0x30], eax
jns 0x403e39
mov eax, 0x45af3c
jmp 0x403e3e
mov ecx, edi
call fcn.0041d115
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0041fd27
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00429b29
jmp 0x404f80
push dword [0x4694a8]
mov ecx, edi
call fcn.004297c5
jmp 0x404f80
push dword [0x4694ac]
mov ecx, edi
push dword [0x4694a8]
call fcn.00428aee
jmp 0x404f80
push edx
push dword [0x4694c8]
mov ecx, edi
push 7
call fcn.00408e81
push eax
push 6
mov ecx, edi
call fcn.00408e81
push eax
push 5
mov ecx, edi
call fcn.00408e81
push eax
push 4
mov ecx, edi
call fcn.00408e81
push eax
push 3
mov ecx, edi
call fcn.00408e81
push eax
push 2
mov ecx, edi
call fcn.00408e81
push eax
mov ecx, edi
call fcn.0042110b
jmp 0x404f80
push dword [0x4694c0]
mov ecx, edi
push 5
call fcn.00408e81
push eax
push 4
mov ecx, edi
call fcn.00408e81
push eax
push 3
mov ecx, edi
call fcn.00408e81
push eax
push 2
mov ecx, edi
call fcn.00408e81
push eax
mov ecx, edi
call fcn.004207ac
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push 2
call fcn.00408e81
push eax
push ebp
mov ecx, edi
call fcn.00408e81
push eax
mov ecx, edi
call fcn.0042171b
jmp 0x404f80
cmp al, 0x42
sete al
push edx
push dword [esi + 0xa8]
push eax
push dword [0x4694a8]
call fcn.004145c8
add esp, 0x10
jmp case.0x403478.3
xor eax, eax
cmp dword [esi + 0xa8], 3
push edx
sete al
lea eax, [eax + eax + 1]
push eax
jmp 0x4040d3
push edx
push 2
jmp 0x4040d3
push edx
push edx
push edx
jmp 0x4040a5
push dword [0x4694a8]
call fcn.00413969
pop ecx
jmp 0x404f80
mov ecx, 0x4595d8
push ecx
push ecx
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
push eax
call fcn.004139c9
add esp, 0x28
jmp 0x404f80
push dword [0x4694bc]
mov ecx, 0x4595d8
push dword [0x4694b4]
push dword [0x4694c0]
push dword [0x4694b8]
push ecx
push ecx
jmp 0x404106
mov ecx, 0x4595d8
push ecx
push ecx
push dword [0x4694b4]
push dword [0x4694b0]
push ecx
push ecx
push dword [0x4694ac]
push dword [0x4694a8]
push ecx
jmp 0x404118
push 4
mov ecx, edi
call fcn.00408e81
push eax
mov ecx, edi
call fcn.0042795e
jmp 0x404f80
push edx
cmp al, 0x6f
sete al
push edx
push eax
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
push esi
call fcn.0043c1bc
add esp, 0x20
test eax, eax
je case.0x403478.3
mov eax, dword [0x464108]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle case.0x403478.3
cmp eax, 0x19
jge 0x4041dd
cmp byte [0x467399], 0
je 0x4041dd
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp case.0x403478.3
push ebp
push eax
call fcn.0040dca7
pop ecx
pop ecx
jmp case.0x403478.3
push 9
push 0x45be60
push dword [0x4694a8]
call fcn.00441f04
add esp, 0xc
test eax, eax
jne 0x40421d
mov eax, dword [0x4694ac]
cmp byte [eax], 0
jne 0x40421d
mov eax, dword [0x4694b4]
cmp byte [eax], 0
mov byte [esp + 0x1f], 1
je 0x404222
mov byte [esp + 0x1f], 0
mov bl, byte [esp + 0x1f]
mov al, byte [edi]
neg bl
sbb ebx, ebx
and ebx, 0xffffffec
add ebx, 0x14
cmp al, 0x7b
je 0x40427b
cmp al, 0x7c
je 0x40427b
mov eax, dword [0x4694b0]
cmp byte [eax], 0
je 0x4042b3
mov al, byte [edi]
cmp al, 0x7b
je 0x4042f0
cmp al, 0x7c
je 0x4042f2
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
push eax
call fcn.00427b36
jmp 0x404f80
mov eax, dword [0x4694b0]
cmp byte [eax], 0
je 0x4042a4
push 2
mov ecx, edi
call fcn.00408f15
fmul qword [0x45be58]
call fcn.00457f8c
mov ebx, eax
test ebx, ebx
jne 0x4042a4
mov ebx, 0x1f4
mov eax, dword [0x4694b8]
cmp byte [eax], 0
je 0x4042b3
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x1f], 0
je 0x404244
mov eax, dword [0x4694a8]
add eax, 9
push 0
push eax
call fcn.00401ed8
pop ecx
push eax
mov ecx, 0x466ce0
call fcn.0044f412
test eax, eax
je 0x404244
xor ecx, ecx
mov cl, byte [edi]
push ebx
push ecx
mov ecx, eax
call fcn.0044f464
jmp 0x404f80
cmp al, 0x7c
sete al
push eax
push dword [0x4694b8]
push dword [0x4694b4]
push ebx
push dword [0x4694ac]
push dword [0x4694a8]
push esi
call fcn.0043c390
add esp, 0x1c
jmp 0x4041aa
push dword [0x4694ac]
mov ecx, edi
call fcn.00423473
jmp 0x404f80
push dword [0x4694ac]
push dword [0x4694a8]
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jmp 0x405227
lea eax, [esp + 0x90]
push eax
push 0x3a98
push ebp
push str.Environment
push edx
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
test eax, eax
mov ecx, dword [0x466b78]
push ebp
push 0
push 0xffffffffffffffff
je 0x40510c
jmp 0x4050f4
push dword [0x4694ac]
mov ecx, edi
push dword [0x4694a8]
call fcn.0042bbd1
jmp 0x404f80
cmp byte [0x4673a1], 0
je case.0x403478.3
cmp byte [edi + 1], 1
jae 0x4043d7
cmp dword [0x4671b0], edx
mov esi, ebp
je 0x405f2b
mov eax, dword [0x4671b8]
mov word [eax], dx
mov eax, dword [0x4671b4]
mov word [eax], dx
mov eax, dword [0x4671b0]
mov word [eax], dx
jmp 0x405f2b
mov eax, dword [0x4671b0]
cmp eax, edx
jne 0x404423
push 0x606
call fcn.0043f0e8
test eax, eax
pop ecx
mov dword [0x4671b0], eax
jne 0x40440b
push 0x4595d8
push eax
push str.Out_of_memory.__The_current_thread_will_exit.
mov ecx, edi
call fcn.0044ba99
jmp 0x404f80
lea ecx, [eax + 0x202]
mov dword [0x4671b4], ecx
add ecx, 0x202
mov dword [0x4671b8], ecx
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, 0x101
push ebx
push eax
push 0xffffffffffffffff
push dword [0x4694a8]
push 0
push 0
call esi
push ebx
push dword [0x4671b4]
push 0xffffffffffffffff
push dword [0x4694ac]
push 0
push 0
call esi
push ebx
push dword [0x4671b8]
push 0xffffffffffffffff
push dword [0x4694b0]
push 0
push 0
call esi
jmp case.0x403478.3
push str.UseErrorLevel
push dword [0x4694b0]
call fcn.00439191
test eax, eax
pop ecx
pop ecx
mov ecx, 0x466ce0
je 0x4044cb
xor eax, eax
mov al, 3
cmp al, byte [edi + 1]
sbb eax, eax
and eax, dword [0x469504]
xor esi, esi
push eax
push ebp
push ebp
push esi
push dword [0x4694b0]
push esi
push dword [0x4694ac]
push esi
push dword [0x4694a8]
call fcn.0040ee00
test eax, eax
mov eax, 0x459724
jne 0x4044c4
mov eax, str.ERROR
push ebp
push esi
jmp 0x405236
xor eax, eax
mov al, 3
cmp al, byte [edi + 1]
sbb eax, eax
and eax, dword [0x469504]
push eax
push ebp
xor eax, eax
push eax
push eax
push dword [0x4694b0]
push ebp
push dword [0x4694ac]
push eax
push dword [0x4694a8]
call fcn.0040ee00
jmp 0x404f80
mov ecx, edi
call fcn.00427c18
jmp 0x404f80
cmp byte [edi + 1], 2
mov ecx, edi
jbe 0x404544
push dword [0x4694c4]
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
jmp 0x40455b
mov eax, 0x4595d8
push eax
push eax
push eax
push eax
push dword [0x4694ac]
push dword [0x4694a8]
push eax
push eax
call fcn.0043a496
jmp 0x404f80
push dword [0x4694d0]
mov ecx, edi
push dword [0x4694cc]
push dword [0x4694c8]
push dword [0x4694c4]
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042c75b
jmp 0x404f80
cmp al, 0x47
sete al
mov ecx, edi
push eax
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.004227cf
jmp 0x404f80
push edx
push ebp
push dword [0x4694b4]
call fcn.00412025
add esp, 0xc
test al, al
mov byte [esp + 0x84], al
jne 0x404616
push dword [0x4694b4]
push 0
push str.Invalid_mouse_button__The_current_thread_will_exit.
jmp 0x4043ff
mov eax, dword [0x4694b8]
cmp byte [eax], 0
je 0x40462b
push 4
mov ecx, edi
call fcn.00408e81
jmp 0x40462d
mov eax, ebp
push dword [0x4694c4]
mov ecx, edi
push dword [0x4694c0]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
push dword [0x4694bc]
push eax
push dword [esp + 0xa0]
call fcn.0042187f
jmp 0x404f80
push dword [0x4694c8]
mov ecx, edi
push dword [0x4694c4]
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042262a
jmp 0x404f80
push dword [0x4694c8]
mov ecx, edi
push dword [0x4694c4]
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
call fcn.004223d6
jmp 0x404f80
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.00421e16
jmp 0x404f80
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00421d1c
jmp 0x404f80
push dword [0x4694bc]
mov ecx, edi
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042285b
jmp 0x404f80
push dword [0x4694bc]
mov ecx, edi
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0042251d
jmp 0x404f80
push dword [0x4694c0]
mov ecx, edi
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042a3c1
jmp 0x404f80
push dword [0x4694c4]
mov ecx, edi
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0042aab4
jmp 0x404f80
push dword [0x4694bc]
mov ecx, edi
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.00429a38
jmp 0x404f80
push dword [0x4694c4]
mov ecx, edi
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00429a8b
jmp 0x404f80
cmp al, 0x89
sete al
mov ecx, edi
push eax
call fcn.004287cd
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00428575
jmp 0x404f80
push dword [0x4694bc]
mov ecx, edi
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0043a5b0
jmp 0x404f80
cmp byte [edi + 1], 1
mov ecx, edi
jbe 0x4048d3
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
jmp 0x4048e2
mov eax, 0x4595d8
push eax
push eax
push dword [0x4694a8]
push eax
push eax
call fcn.0043abaa
jmp 0x404f80
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0043a3e6
jmp 0x404f80
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.00439f8a
jmp 0x404f80
push dword [0x4694bc]
mov ecx, edi
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.00439b34
jmp 0x404f80
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0043a2d5
jmp 0x404f80
push dword [0x4694c4]
mov ecx, edi
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
call fcn.0043a18b
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
call fcn.00429d54
jmp 0x404f80
push edx
push 0x1a3
jmp 0x4049cc
push edx
push 0x1a0
push 0x111
push edx
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x4041b2
mov ecx, dword [0x4694a8]
cmp byte [ecx], 0
jne 0x4049ff
mov dword [0x467144], edx
jmp case.0x403478.3
mov eax, dword [edi + 0xc]
cmp eax, edx
jne 0x404a20
push ecx
mov ecx, 0x466ce0
call fcn.0044f32f
test eax, eax
jne 0x404a20
push dword [0x4694a8]
jmp 0x404c3d
mov dword [0x467144], eax
jmp case.0x403478.3
push dword [edi + 0xc]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.004104b2
add esp, 0x10
jmp 0x404f80
mov ebx, dword [edi + 0xc]
cmp ebx, edx
mov esi, 0x466ce0
jne 0x404a6b
push dword [0x4694a8]
mov ecx, esi
call fcn.0044f32f
mov ebx, eax
test ebx, ebx
je 0x404a15
mov ecx, dword [0x4694ac]
cmp byte [ecx], 0
je 0x404aab
push 0
push ecx
call fcn.00416b33
test eax, eax
pop ecx
pop ecx
jne 0x404aaf
push eax
push ebp
push ebp
push ebp
push dword [0x4694ac]
call fcn.00401fec
add esp, 0x14
test eax, eax
jne 0x404ad3
push dword [0x4694ac]
push eax
push str.Parameter_2_invalid
jmp 0x4043ff
xor eax, eax
jmp 0x404ab5
mov ecx, dword [0x4694ac]
test eax, eax
jle 0x404ad9
cmp eax, 2
jg 0x404ad9
cmp eax, ebp
sete al
push 0
push eax
push dword [0x4694b0]
push 0x4595d8
jmp 0x404af2
mov ecx, dword [0x4694ac]
cmp byte [ecx], 0
mov eax, dword [0x4694b0]
jne 0x404aec
cmp byte [eax], 0
je 0x404aec
mov dl, 1
jmp 0x404aee
xor dl, dl
push edx
push ebp
push eax
push ecx
mov ecx, esi
push ebx
call fcn.0041ab25
jmp case.0x403478.3
mov eax, dword [0x4694a8]
cmp byte [eax], 0
push 0x10
pop ebx
je 0x404b2c
push 0x45b378
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x404b2c
push 0
mov ecx, edi
call fcn.00408e81
mov ebx, eax
test ebx, ebx
je 0x404b2e
mov eax, ebp
test al, al
mov byte [esi + 0xc2], al
je 0x404b55
or dword [esi], 0xffffffff
or dword [esi + 4], 0xffffffff
or dword [esi + 0x24], 0xffffffff
mov dword [esi + 0xac], ebx
mov byte [esi + 0xc0], 0
jmp case.0x403478.3
mov dword [esi + 0xac], 5
mov byte [esi + 0xc0], 1
jmp case.0x403478.3
push dword [0x4694a8]
call fcn.00416ed0
dec eax
pop ecx
je 0x404be3
dec eax
je 0x404bab
dec eax
jne case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404b9e
push ebp
mov ecx, edi
call fcn.00408e81
or eax, edx
jne 0x404b9e
mov eax, ebp
jmp 0x404ba0
xor eax, eax
mov byte [esi + 0xc1], al
jmp case.0x403478.3
mov eax, dword [0x4694a8]
cmp byte [eax], 0
je 0x404bc2
push ebp
mov ecx, edi
call fcn.00408e81
mov dword [0x4671a4], eax
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je case.0x403478.3
push 2
mov ecx, edi
call fcn.00408e81
mov dword [0x4671a0], eax
jmp case.0x403478.3
push ebp
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x2c], eax
jmp case.0x403478.3
mov esi, dword [edi + 0xc]
cmp esi, edx
jne 0x404c15
push ebp
push dword [0x4694a8]
mov ecx, 0x466ce0
call fcn.0044f412
mov esi, eax
test esi, esi
je 0x406037
mov ecx, dword [0x4694b4]
xor eax, eax
cmp byte [ecx], al
je 0x404c49
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x404c49
push ecx
mov ecx, 0x466ce0
call fcn.0044f32f
test eax, eax
jne 0x404c49
push dword [0x4694b4]
push 0
push str.Target_label_does_not_exist.__The_current_thread_will_exit.
jmp 0x4043ff
push dword [0x4694bc]
mov ecx, esi
push dword [0x4694b8]
push eax
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0044f792
jmp 0x404f80
mov esi, dword [edi + 0xc]
cmp esi, edx
jne 0x404c90
push edx
push dword [0x4694a8]
mov ecx, 0x466ce0
call fcn.0044f412
mov esi, eax
test esi, esi
je case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404caf
push 0x45af80
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne 0x404caf
mov al, 1
jmp 0x404cb1
xor al, al
push eax
mov ecx, esi
call fcn.0044f969
jmp case.0x403478.3
mov esi, dword [edi + 0xc]
cmp esi, edx
jne 0x404ce0
push edx
push dword [0x4694a8]
mov ecx, 0x466ce0
call fcn.0044f412
mov esi, eax
test esi, esi
je case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404d29
push 0x45bdf0
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne 0x404d0a
push eax
push 0x7b
mov ecx, esi
call fcn.0044f464
jmp case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404d29
push 0x45af80
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne 0x404d29
mov al, 1
jmp 0x404d2b
xor al, al
push eax
mov ecx, esi
call fcn.0044f8c5
jmp case.0x403478.3
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
call fcn.0042549f
jmp 0x404f80
cmp ebx, edx
jne 0x404d67
push ebp
mov ecx, edi
call fcn.00408e81
push eax
call fcn.00415c93
jmp 0x4041e5
push edx
push ebp
push edx
push ebp
push dword [0x4694ac]
call fcn.00401fec
add esp, 0x14
cmp eax, 2
je 0x404d97
xor esi, esi
push esi
push ebp
push esi
push ebp
push dword [0x4694b0]
call fcn.00401fec
add esp, 0x14
cmp eax, 2
jne 0x404e07
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404dab
push ebp
mov ecx, edi
call fcn.00408f15
jmp 0x404dad
fldz
mov eax, dword [0x4694b0]
fstp qword [esp + 0x24]
cmp byte [eax], 0
je 0x404dc6
push 2
mov ecx, edi
call fcn.00408f15
jmp 0x404dcc
fld qword [0x45bde8]
fst qword [esp + 0x34]
fld qword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x404ded
fld qword [esp + 0x24]
fld st(1)
fstp qword [esp + 0x24]
fst qword [esp + 0x34]
fstp st(0)
fstp st(0)
call fcn.00415c37
fld qword [esp + 0x34]
fsub qword [esp + 0x24]
fmulp st(1)
fadd qword [esp + 0x24]
jmp 0x40374e
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404e1b
push ebp
mov ecx, edi
call fcn.00408e81
mov esi, eax
mov eax, dword [0x4694b0]
cmp byte [eax], 0
je 0x404e32
push 2
mov ecx, edi
call fcn.00408e81
mov ebx, eax
jmp 0x404e37
mov ebx, 0x7fffffff
cmp esi, ebx
jle 0x404e41
mov eax, esi
mov esi, ebx
mov ebx, eax
call fcn.00415bf5
mov ecx, eax
mov eax, ebx
cdq
mov ebx, eax
mov ebp, edx
mov eax, esi
cdq
sub ebx, eax
sbb ebp, edx
add ebx, 1
adc ebp, 0
push ebp
push ebx
push 0
push ecx
call fcn.00457de0
mov ecx, dword [esp + 0x34]
add eax, esi
cdq
push 0x18
push edx
push eax
call fcn.00401c4f
xor esi, esi
inc esi
jmp 0x405f2b
push ebp
push dword [0x4694ac]
mov ecx, edi
call fcn.00423294
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00422ae5
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
call fcn.00422ca2
jmp 0x404f80
mov eax, dword [0x4694b4]
cmp byte [eax], 0
je 0x404edd
push 3
mov ecx, edi
call fcn.00408e81
dec eax
jmp 0x404edf
xor eax, eax
cdq
test edx, edx
mov ebx, eax
jg 0x404ef2
jl 0x404eec
test ebx, ebx
jae 0x404ef2
xor ebx, ebx
and dword [esp + 0x28], ebx
mov eax, dword [0x4694ac]
cmp byte [eax], 0
mov dword [esp + 0x34], ebp
je 0x404f11
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.004175d9
pop ecx
pop ecx
mov esi, eax
jmp 0x404f14
push 4
pop esi
mov eax, dword [0x4694b0]
cmp byte [eax], 0
je 0x404f27
push eax
call fcn.004177c2
pop ecx
jmp 0x404f2c
mov eax, 0x50030001
push ebx
push eax
mov al, byte [edi]
push dword [esp + 0x3c]
sub al, 0x94
neg al
push esi
mov ecx, edi
sbb eax, eax
and eax, dword [0x4694a8]
push eax
call fcn.00429286
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404f60
push ebp
mov ecx, edi
call fcn.00408e81
dec eax
jmp 0x404f62
xor eax, eax
cdq
test edx, edx
jg 0x404f73
jl 0x404f6d
test eax, eax
jae 0x404f73
xor eax, eax
and dword [esp + 0x28], eax
cmp byte [edi], 0x96
mov ecx, edi
push eax
jne 0x404f87
call fcn.004290d8
mov esi, eax
jmp 0x405f23
push dword [0x4694a8]
call fcn.004296ca
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404faa
push ebp
mov ecx, edi
call fcn.00408e81
mov esi, eax
jmp 0x404faf
mov esi, 0x96
mov eax, dword [0x4694a8]
cmp byte [eax], 0
je 0x404fc4
push 0
mov ecx, edi
call fcn.00408e81
jmp 0x404fc9
mov eax, 0x20b
push esi
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
jmp case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x404ff6
push str.wait
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x40500b
mov eax, dword [0x4694ac]
push 0x45af3c
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x40500b
xor al, al
jmp 0x40500f
xor eax, eax
mov al, 1
push eax
push dword [0x4694a8]
mov ecx, edi
call fcn.00429149
jmp 0x404f80
cmp byte [edi + 1], 2
jae 0x40502d
mov esi, dword [esi + 0x18]
jmp 0x40502f
xor esi, esi
push esi
push dword [0x4694a8]
mov ecx, edi
push dword [0x4694ac]
call fcn.004234b9
jmp 0x404f80
push dword [0x4694ac]
mov ecx, edi
call fcn.00423cb4
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
call fcn.00423f09
jmp 0x404f80
mov ecx, edi
call fcn.0042377f
jmp 0x404f80
push dword [0x4694a8]
mov ecx, edi
call fcn.0042b7db
jmp 0x404f80
push dword [0x4694a8]
mov ecx, edi
call fcn.0042b874
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00423b6d
jmp 0x404f80
push edx
push 2
mov ecx, edi
call fcn.00408e81
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042bf0c
mov ecx, dword [0x466b78]
add esp, 0x10
test eax, eax
jne 0x4050fe
push ebp
push eax
push 0xffffffffffffffff
push 0x459724
jmp 0x403503
cmp byte [0x46718f], 0
je 0x405142
push ebp
push 0
push 0xffffffffffffffff
push 0x45af3c
jmp 0x403503
push ebp
push 2
mov ecx, edi
call fcn.00408e81
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042bf0c
mov ecx, dword [0x466b78]
add esp, 0x10
cdq
push 0x18
push edx
push eax
call fcn.00401c4f
jmp case.0x403478.3
push 2
mov ecx, edi
call fcn.00408e81
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042be28
add esp, 0xc
jmp 0x405225
mov eax, dword [0x4694b0]
movsx eax, byte [eax]
push eax
call fcn.0044234f
cmp eax, 0x52
pop ecx
jne 0x4051c5
push dword [0x4694ac]
push dword [0x4694a8]
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
mov eax, 0x459724
jne 0x4051af
mov eax, 0x45af3c
mov ecx, dword [0x466b78]
push ebp
push 0
push 0xffffffffffffffff
push eax
call fcn.0040187e
jmp case.0x403478.3
push 2
mov ecx, edi
call fcn.00408e81
push eax
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042c49c
jmp 0x405173
push dword [0x4694a8]
mov ecx, edi
call fcn.00423694
jmp 0x404f80
mov eax, dword [0x4694a8]
cmp byte [eax], 0
push ebp
jne 0x405209
push edx
push 0xffffffffffffffff
push 0x45af3c
jmp 0x405239
mov ecx, edi
call fcn.00408e81
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4694a8]
call fcn.0042c5be
pop ecx
pop ecx
test al, al
mov eax, 0x459724
jne 0x405233
mov eax, 0x45af3c
push ebp
push 0
push 0xffffffffffffffff
push eax
mov ecx, dword [0x466b78]
jmp 0x403503
mov eax, dword [0x4694ac]
cmp byte [eax], 0
jne 0x40525d
mov esi, dword [esi + 0x10]
cmp esi, edx
lea eax, [esi + 0x2c]
jne 0x40525d
mov eax, 0x4595d8
push eax
mov ecx, edi
call fcn.00423929
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x405278
mov esi, eax
jmp 0x405289
mov esi, dword [esi + 0x10]
cmp esi, edx
je 0x405284
add esi, 0x2c
jmp 0x405289
mov esi, 0x4595d8
push edx
push 3
mov ecx, edi
call fcn.00408e81
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4694b0]
call fcn.00416a1a
pop ecx
push eax
push esi
push dword [0x4694a8]
mov ecx, edi
call fcn.00424520
jmp case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
jne 0x4052d4
mov esi, dword [esi + 0x10]
cmp esi, edx
lea eax, [esi + 0x2c]
jne 0x4052d4
mov eax, 0x4595d8
mov ecx, dword [0x4694b0]
movsx ecx, byte [ecx]
push ecx
push eax
mov ecx, edi
call fcn.00423a91
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x4052f9
mov esi, eax
jmp 0x40530a
mov esi, dword [esi + 0x10]
cmp esi, edx
je 0x405305
add esi, 0x2c
jmp 0x40530a
mov esi, 0x4595d8
push edx
push 4
mov ecx, edi
call fcn.00408e81
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x4694b4]
call fcn.00416a1a
pop ecx
push eax
mov eax, dword [0x4694b0]
movsx eax, byte [eax]
push eax
push esi
push dword [0x4694a8]
mov ecx, edi
call fcn.00424a68
jmp case.0x403478.3
mov eax, dword [0x4694ac]
cmp byte [eax], 0
jne 0x40535e
mov esi, dword [esi + 0x10]
cmp esi, edx
lea eax, [esi + 0x2c]
jne 0x40535e
mov eax, 0x4595d8
push dword [0x4694b0]
mov ecx, edi
push eax
call fcn.004239b3
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
jne 0x40538a
mov esi, dword [esi + 0x10]
cmp esi, edx
lea eax, [esi + 0x2c]
jne 0x40538a
mov eax, 0x4595d8
push eax
mov ecx, edi
call fcn.0042b6d1
jmp 0x404f80
push dword [0x4694a8]
call fcn.00447a9a
jmp 0x4041e5
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0042406f
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0042b8e5
jmp 0x404f80
push dword [0x4694a8]
mov ecx, edi
call fcn.0042b3d7
jmp 0x404f80
push dword [0x4694c8]
mov ecx, edi
push dword [0x4694c4]
push dword [0x4694c0]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042b265
jmp 0x404f80
push edx
push 4
jmp 0x40544e
push edx
push ebp
jmp 0x40544e
push edx
push 2
jmp 0x40544e
push edx
push 3
call fcn.0044bf59
pop ecx
jmp 0x4040e1
mov esi, dword [esi + 0x50]
cmp esi, 0x63
jae 0x405470
mov eax, dword [esi*4 + 0x466980]
cmp eax, edx
je 0x405470
mov eax, dword [eax]
jmp 0x405472
xor eax, eax
mov cl, byte [edi + 1]
test cl, cl
push eax
jne 0x40548e
push ecx
fldz
push ecx
fstp qword [esp]
push edx
push 0x10000
push str.Press_OK_to_continue.
jmp 0x4054cc
cmp cl, 1
jne 0x4054a8
push ecx
fldz
push ecx
fstp qword [esp]
push edx
push 0x10000
push dword [0x4694a8]
jmp 0x4054cc
push 3
mov ecx, edi
call fcn.00408f15
push ecx
push ecx
fstp qword [esp]
push dword [0x4694ac]
mov ecx, edi
push 0
call fcn.00408e81
push eax
push dword [0x4694b0]
call fcn.0043bc63
xor ecx, ecx
add esp, 0x18
test eax, eax
setne cl
mov esi, ecx
jmp 0x405f23
mov eax, dword [0x4694c4]
cmp byte [eax], 0
je 0x405500
push 7
mov ecx, edi
call fcn.00408e81
mov dword [esp + 0x34], eax
mov esi, 0x80000000
jmp 0x405509
mov esi, 0x80000000
mov dword [esp + 0x34], esi
mov eax, dword [0x4694c0]
cmp byte [eax], 0
je 0x405522
push 6
mov ecx, edi
call fcn.00408e81
mov dword [esp + 0x30], eax
jmp 0x405526
mov dword [esp + 0x30], esi
mov eax, dword [0x4694bc]
cmp byte [eax], 0
je 0x40553d
push 5
mov ecx, edi
call fcn.00408e81
mov ebp, eax
jmp 0x40553f
mov ebp, esi
mov eax, dword [0x4694b8]
cmp byte [eax], 0
je 0x405554
push 4
mov ecx, edi
call fcn.00408e81
mov esi, eax
push dword [0x4694d0]
mov ecx, edi
push 9
call fcn.00408f15
mov eax, dword [0x4694b4]
movsx eax, byte [eax]
push ecx
push ecx
fstp qword [esp]
push dword [esp + 0x40]
push dword [esp + 0x40]
push ebp
push esi
push eax
call fcn.0044234f
cmp eax, 0x48
sete al
pop ecx
push eax
push dword [0x4694b0]
push dword [0x4694ac]
push ebx
call fcn.004258c5
add esp, 0x2c
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x4055b8
push ebp
mov ecx, edi
call fcn.00408e81
mov esi, eax
jmp 0x4055ba
xor esi, esi
mov eax, dword [0x4694a8]
cmp byte [eax], 0
je 0x4055cf
push 0
mov ecx, edi
call fcn.00408e81
jmp 0x4055d4
mov eax, 0xc8
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push esi
push eax
call fcn.00427790
jmp 0x404f80
mov eax, dword [0x46625c]
cmp eax, edx
je 0x40560e
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40560e
push dword [0x46625c]
call dword [sym.imp.USER32.dll_DestroyWindow]
and dword [0x46625c], 0
jmp case.0x403478.3
push edx
push 0x4595d8
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
mov ecx, edi
call fcn.0042684e
jmp 0x404f80
push ebp
push dword [0x4694a8]
push dword [0x4694bc]
push dword [0x4694b8]
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
jmp 0x40563e
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042a099
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0042a31d
jmp 0x404f80
mov ecx, edi
call fcn.0040c6ff
jmp 0x404f80
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x4056fe
push str.Screen
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x4056fe
push str.Relative
push dword [0x4694ac]
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne case.0x403478.3
xor bl, bl
jmp 0x405700
mov bl, 1
push dword [0x4694a8]
call fcn.004161ae
test al, al
pop ecx
je case.0x403478.3
test bl, bl
je 0x405723
or byte [esi + 0xc4], al
jmp case.0x403478.3
not al
and byte [esi + 0xc4], al
jmp case.0x403478.3
push edx
mov ecx, edi
call fcn.00408e81
add esi, 0xc3
cmp al, 0x64
mov byte [esi], al
jbe case.0x403478.3
mov byte [esi], 2
jmp case.0x403478.3
add esi, 0xa8
push dword [esi]
push dword [0x4694a8]
call fcn.00416d75
pop ecx
pop ecx
mov dword [esi], eax
jmp case.0x403478.3
push str.Play
push dword [0x4694b0]
call fcn.00441ec1
pop ecx
test eax, eax
mov eax, dword [0x4694a8]
pop ecx
jne 0x4057b6
cmp byte [eax], 0
je 0x405798
push 0
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x60], eax
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je case.0x403478.3
push ebp
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x68], eax
jmp case.0x403478.3
cmp byte [eax], 0
je 0x4057c7
push 0
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x5c], eax
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je case.0x403478.3
push ebp
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x64], eax
jmp case.0x403478.3
push str.Play
push dword [0x4694ac]
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
mov ecx, edi
push 0
jne 0x40580c
call fcn.00408e81
mov dword [esi + 0x70], eax
jmp case.0x403478.3
call fcn.00408e81
mov dword [esi + 0x6c], eax
jmp case.0x403478.3
push edx
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x54], eax
jmp case.0x403478.3
push edx
mov ecx, edi
call fcn.00408e81
mov dword [esi + 0x58], eax
jmp case.0x403478.3
push 0x45bdb0
push dword [0x4694a8]
call fcn.00439191
test eax, eax
pop ecx
pop ecx
mov ecx, edi
push 0
je 0x405867
or dword [esi], 0xffffffff
or dword [esi + 4], 0xffffffff
call fcn.00408e81
mov dword [esi + 0x24], eax
jmp case.0x403478.3
or dword [esi + 0x24], 0xffffffff
call fcn.00408e81
mov dword [esi], eax
or eax, edx
mov dword [esi + 4], edx
jne case.0x403478.3
and dword [esi + 4], 0
mov dword [esi], 0xa
jmp case.0x403478.3
push 7
push dword [0x4694a8]
call fcn.00416b33
cmp eax, 7
pop ecx
pop ecx
je case.0x403478.3
cmp eax, ebp
sete al
mov byte [esi + 0xc6], al
jmp case.0x403478.3
push dword [0x4694a8]
call fcn.00416f25
dec eax
pop ecx
je 0x405920
dec eax
je 0x405914
dec eax
je 0x405908
dec eax
je 0x4058fc
dec eax
je 0x4058f0
dec eax
je 0x4058e4
push dword [0x4694a8]
push 0
push str.Requires_1_2_3_Slow_Fast__The_current_thread_will_exit.
jmp 0x4043ff
mov byte [esi + 0xbd], 0
jmp case.0x403478.3
mov byte [esi + 0xbd], 1
jmp case.0x403478.3
mov dword [esi + 0x20], 4
jmp case.0x403478.3
mov dword [esi + 0x20], 3
jmp case.0x403478.3
mov dword [esi + 0x20], 2
jmp case.0x403478.3
mov dword [esi + 0x20], ebp
jmp case.0x403478.3
push 5
push str.Float
push dword [0x4694a8]
call fcn.00441f04
add esp, 0xc
test eax, eax
jne 0x405a03
push ebp
mov ecx, edi
call fcn.0040c3ca
cmp eax, 0x1e
jae case.0x403478.3
push ebp
mov ecx, edi
call fcn.00408e81
push 0x2e
push dword [0x4694ac]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
call fcn.00457650
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x40598d
lea eax, [ebx + 1]
push eax
call fcn.00401f32
pop ecx
jmp 0x405991
xor eax, eax
xor edx, edx
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x7c]
add eax, 2
adc edx, 0
mov dword [esp + 0x28], edx
js 0x4059b6
jg case.0x403478.3
cmp eax, 0xff
ja case.0x403478.3
push 0
push ebp
push ebp
push ebp
push dword [0x4694ac]
call fcn.00401fec
add esp, 0x14
test eax, eax
mov ecx, 0x45bd74
jne 0x4059d7
mov ecx, 0x4595d8
test ebx, ebx
mov eax, 0x4595d8
jne 0x4059e5
mov eax, 0x45bd70
push ecx
push eax
push dword [0x4694ac]
add esi, 0x74
push str.___s_s_s
push esi
call fcn.0040a5ef
add esp, 0x14
jmp case.0x403478.3
push 7
push str.Integer
push dword [0x4694a8]
call fcn.00441f04
add esp, 0xc
test eax, eax
jne case.0x403478.3
mov eax, dword [0x4694ac]
mov al, byte [eax]
cmp al, 0x44
je 0x405a47
cmp al, 0x48
je 0x405a3b
cmp al, 0x64
je 0x405a47
cmp al, 0x68
jne case.0x403478.3
mov byte [esi + 0xc8], 1
jmp case.0x403478.3
mov byte [esi + 0xc8], 0
jmp case.0x403478.3
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
call fcn.00424e51
jmp 0x404f80
push dword [0x4694b8]
mov ecx, 0x466ce0
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0043727e
jmp 0x404f80
push dword [0x4694b4]
mov ecx, 0x466ce0
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.004353c8
jmp 0x404f80
push dword [0x4694b0]
mov ecx, edi
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.00432af0
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.004337ad
jmp 0x404f80
push edx
push dword [0x4694a8]
call fcn.00416c38
sub eax, 0
pop ecx
pop ecx
je 0x405b43
dec eax
je 0x405b2c
dec eax
je 0x405b1d
sub eax, 3
je 0x405b39
dec eax
dec eax
jmp 0x405b33
cmp byte [0x4663a4], 0
je case.0x403478.3
jmp 0x405b39
cmp byte [0x4663a4], 0
jne case.0x403478.3
call fcn.0041aad8
jmp case.0x403478.3
push dword [0x4694a8]
push 0
push str.Parameter_1_invalid
jmp 0x4043ff
push ebp
mov ecx, edi
call fcn.00408e81
test eax, eax
setne al
push eax
push 0
push dword [0x4694a8]
call fcn.00416be1
pop ecx
pop ecx
push eax
mov ecx, edi
call fcn.00415d3c
jmp 0x404f80
push 7
push dword [0x4694a8]
call fcn.00416b33
cmp eax, 7
pop ecx
pop ecx
je case.0x403478.3
cmp eax, ebp
sete al
mov byte [esi + 0xc7], al
jmp case.0x403478.3
push dword [0x4694a8]
call fcn.00416def
add esi, 0xc5
cmp al, 4
pop ecx
mov byte [esi], al
jne case.0x403478.3
mov byte [esi], 0
jmp case.0x403478.3
push 7
push dword [0x4694a8]
call fcn.00416b33
cmp eax, 7
pop ecx
pop ecx
je case.0x403478.3
cmp eax, ebp
sete al
mov byte [esi + 0xbe], al
jmp case.0x403478.3
push 7
push dword [0x4694a8]
call fcn.00416b33
cmp eax, 7
pop ecx
pop ecx
je case.0x403478.3
cmp eax, ebp
sete al
mov byte [esi + 0xbf], al
jmp case.0x403478.3
push dword [0x4694a8]
call fcn.00415ddf
cmp eax, ebp
pop ecx
je 0x405c77
cmp eax, 2
je 0x405c73
cmp eax, 7
jle case.0x403478.3
cmp eax, 0xb
jle 0x405c69
cmp eax, 0xc
je 0x405c58
cmp eax, 0xd
jne case.0x403478.3
mov byte [0x466c8b], 0
jmp case.0x403478.3
mov byte [0x466c8b], 1
call fcn.00411284
jmp case.0x403478.3
mov dword [0x464118], eax
jmp case.0x403478.3
push 0
jmp 0x405c78
push ebp
call fcn.0041aa2f
jmp 0x4041e5
push dword [0x4694a8]
push str._a_a_a_v
push 0x90
call fcn.00428956
add esp, 0xc
jmp 0x404f80
push dword [0x4694a8]
push 0x464110
push 0x14
jmp 0x405c92
push dword [0x4694a8]
push 0x464114
push 0x91
jmp 0x405c92
push ebp
mov ecx, 0x466ce0
call fcn.0041aa06
jmp case.0x403478.3
push edx
mov ecx, edi
call fcn.00408e81
cmp eax, 0x19
jge 0x4041dd
test eax, eax
jle 0x4041dd
jmp 0x4041c8
push dword [0x4694b8]
mov ecx, edi
push dword [0x4694b4]
push dword [0x4694b0]
push dword [0x4694ac]
call fcn.0041a8f7
jmp 0x404f80
push dword [0x4694b4]
mov ecx, edi
push dword [0x4694b0]
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0041a986
jmp 0x404f80
cmp byte [edi + 1], 3
mov ecx, edi
sbb eax, eax
not eax
and eax, dword [0x4694b0]
push eax
push dword [0x4694ac]
push dword [0x4694a8]
call fcn.0041a879
jmp 0x404f80
mov al, byte [edi + 1]
cmp al, 2
jae 0x405d85
mov esi, dword [esi + 0x14]
cmp esi, edx
je 0x405d85
lea eax, [esi + 0x408]
push eax
lea eax, [esi + 8]
push eax
push dword [esi + 4]
mov ecx, edi
call fcn.0041a296
jmp 0x404f80
cmp al, 4
ja 0x405db9
push dword [0x4694ac]
call fcn.0041a081
test eax, eax
pop ecx
jne 0x405db9
lea eax, [esp + 0x13]
push eax
push dword [0x4694ac]
call fcn.00419f17
pop ecx
pop ecx
push dword [0x4694b4]
push dword [0x4694b0]
jmp 0x405dd7
lea eax, [esp + 0x13]
push eax
push dword [0x4694b0]
call fcn.00419f17
pop ecx
pop ecx
push dword [0x4694b8]
push dword [0x4694b4]
mov ebx, eax
mov ecx, edi
push ebx
call fcn.0041a296
jmp 0x405ee1
cmp byte [edi + 1], 2
jae 0x405e19
mov esi, dword [esi + 0x14]
cmp esi, edx
je 0x405e19
push dword [0x4694a8]
lea eax, [esi + 0x408]
push eax
lea eax, [esi + 8]
push eax
push dword [esi + 4]
mov ecx, edi
push dword [esi + 0x808]
call fcn.0041a5ef
jmp 0x404f80
lea eax, [esp + 0x13]
push eax
push dword [0x4694ac]
call fcn.00419f17
pop ecx
pop ecx
push dword [0x4694b8]
mov ebx, eax
push dword [0x4694b4]
push dword [0x4694b0]
push ebx
push dword [0x4694a8]
call fcn.0041a081
pop ecx
push eax
mov ecx, edi
call fcn.0041a5ef
jmp 0x405ee1
cmp byte [edi + 1], 1
jae 0x405eb9
mov eax, dword [esi + 0x14]
cmp eax, edx
je 0x405eb9
cmp dword [eax + 0x808], 0xfffffffe
lea ecx, [eax + 0x408]
push ecx
jne 0x405eb3
add eax, 8
push eax
push 0x45b4d4
lea eax, [esp + 0xbc]
push 0x400
push eax
call fcn.0040a513
add esp, 0x14
lea eax, [esp + 0xb0]
push 0x4595d8
push eax
mov eax, dword [esi + 0x14]
push dword [eax + 4]
mov ecx, edi
call fcn.0041a1c5
jmp 0x404f80
lea ecx, [eax + 8]
push ecx
jmp 0x405ea4
lea eax, [esp + 0x13]
push eax
push dword [0x4694a8]
call fcn.00419f17
pop ecx
pop ecx
push dword [0x4694b0]
mov ebx, eax
push dword [0x4694ac]
mov ecx, edi
push ebx
call fcn.0041a1c5
cmp byte [esp + 0x13], 0
mov esi, eax
je 0x405f23
test ebx, ebx
je 0x405f23
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x405f23
push dword [0x4694a8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, ebp
jmp 0x405f2b
push edx
mov ecx, edi
call fcn.00408e81
push eax
call fcn.0042c64b
neg al
pop ecx
sbb eax, eax
neg eax
jmp 0x404f80
xor esi, esi
test esi, esi
je 0x406039
cmp dword [esp + 0x4b4], 3
je 0x406039
mov edi, dword [edi + 0x14]
mov ebx, dword [esp + 0x64]
jmp 0x402f0f
add dword [0x467198], 1
mov eax, dword [esp + 0x60]
adc dword [0x46719c], 0
mov ebp, dword [eax + 0xc]
test ebp, ebp
jne 0x405f71
push ebp
push dword [0x4694a8]
mov ecx, 0x466ce0
call fcn.0044f412
mov ebp, eax
xor esi, esi
inc esi
test ebp, ebp
je 0x403066
mov eax, dword [0x4694ac]
cmp byte [eax], 0
je 0x405f9b
push 0x45af80
push eax
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne 0x405f9b
mov al, 1
jmp 0x405f9d
xor al, al
lea ecx, [esp + 0x2c]
push ecx
push 0
push eax
mov ecx, ebp
call fcn.0044f599
cmp dword [esp + 0x2c], 0
je 0x403066
push dword [esp + 0x2c]
mov ecx, edi
call fcn.00427929
test eax, eax
je 0x4060e3
mov ecx, dword [esp + 0x2c]
call fcn.00406481
mov esi, eax
test esi, esi
jmp 0x403057
cmp dword [edi + 0xc], ebp
jne 0x402f0c
mov ecx, dword [edi + 0x14]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x4bc]
push 2
call fcn.00402cee
mov ecx, dword [esp + 0x20]
cmp ecx, edi
mov esi, eax
je 0x402f0f
cmp dword [esp + 0x4b4], 3
je 0x406120
cmp esi, 1
jne 0x406039
cmp ecx, ebp
je 0x402f0c
mov eax, dword [edi + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x40611d
mov edi, ecx
jmp 0x402f0f
xor esi, esi
mov eax, esi
jmp 0x402f1c
xor esi, esi
inc esi
mov eax, dword [esp + 0x3c]
mov dword [eax], edx
jmp 0x406039
mov eax, dword [0x465200]
cmp word [eax], bp
jne 0x406076
cmp dword [0x4683e4], ebp
jne 0x406076
cmp dword [0x466388], ebp
jne 0x406076
cmp dword [0x46638c], ebp
jne 0x406076
cmp byte [0x46639c], 0
je 0x4060c8
push 8
pop eax
jmp 0x402f1c
mov eax, dword [esp + 0x4b8]
cmp eax, ebp
je 0x406091
mov ecx, dword [0x4694a8]
mov dword [eax], ecx
mov eax, dword [esp + 0x4b4]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
jmp 0x402f1c
push dword [0x4694ac]
push 0
push str.Parameter_2_invalid__The_current_thread_will_exit.
jmp 0x406111
push dword [0x4694b0]
push 0
push str.Parameter_3_invalid__The_current_thread_will_exit.
jmp 0x406111
push 5
jmp 0x406078
push ebp
mov ecx, edi
call fcn.00408e81
push eax
push ebp
push 9
mov ecx, 0x466ce0
call fcn.00417a6f
jmp 0x402f1c
xor eax, eax
jmp 0x402f1c
cmp esi, 7
jne 0x406039
jmp 0x402f19
cmp dword [esp + 0x4b4], 2
je 0x402f19
push 0x4595d8
push ebp
push str.A__return__must_be_encountered_prior_to_this___.__The_current_thread_will_exit.
mov ecx, edi
call fcn.0044ba99
jmp 0x402f1c
xor esi, esi
inc esi
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x406039
push 6
jmp 0x406078