Function at 0x402cc4
Capabilities:
Check for time delay via gettickcount
Find taskbar
Move file
Print debug messages
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x490
mov eax, dword [ebp + 0x10]
test eax, eax
mov dword [ebp - 0x5c], ecx
jne 0x402cda
lea eax, [ebp + 0x10]
and dword [eax], 0
test ecx, ecx
push ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x465108]
push esi
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ecx
je 0x402f36
mov esi, dword [ebp + 0xc]
cmp dword [0x4681f0], 0
mov ebx, 0x45a5d8
mov edi, 0x467ce0
je 0x402d18
push 0
mov ecx, 0x4681d8
call fcn.0044374a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x465108]
mov ecx, eax
sub ecx, dword [0x4681ac]
cmp ecx, dword [edx + 0xb0]
jbe 0x402d61
xor eax, eax
push eax
push eax
push eax
push eax
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x402d56
push 1
push 0xffffffffffffffff
call fcn.0040de6e
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4681ac], eax
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 0xc4], 0
jne 0x402d9b
cmp byte [ecx + 0xc6], 0
jne 0x402d9b
mov edx, dword [0x4681a0]
cmp edx, 0xffffffff
jle 0x402d9b
mov ecx, dword [ecx + 0x28]
cmp ecx, edx
jle 0x402d94
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xc4], 1
jmp 0x402d9b
mov edx, dword [ebp - 0x20]
inc ecx
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ecx, 0xffffffff
jl 0x402dc6
jg 0x402daf
cmp edx, 0xffffffff
jbe 0x402dc6
cmp dword [0x46819c], ecx
jg 0x402ddd
jl 0x402dc1
cmp dword [0x468198], edx
jae 0x402ddd
mov edi, 0x467ce0
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x24]
cmp ecx, 0xffffffff
jle 0x402df6
sub eax, dword [0x4681a8]
cmp eax, ecx
jb 0x402df6
jmp 0x402de2
mov edi, 0x467ce0
push 1
push 0xa
jmp 0x402def
push 1
push 0x8000012f
call fcn.0040de6e
pop ecx
pop ecx
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xce], 0
jne 0x402de8
mov eax, dword [ebp - 4]
mov dword [0x467f1c], eax
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xcf], 0
je 0x402e4e
mov eax, dword [0x46ab90]
mov ecx, dword [ebp - 4]
mov dword [eax*4 + 0x46a550], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x46ab90]
mov dword [ecx*4 + 0x469e68], eax
inc ecx
cmp ecx, 0x190
mov dword [0x46ab90], ecx
jl 0x402e4e
and dword [0x46ab90], 0
mov eax, dword [ebp - 4]
mov al, byte [eax]
cmp al, 1
je 0x402e72
cmp al, 0x69
je 0x402e72
mov ecx, dword [ebp - 4]
push 0
push 0xffffffffffffffff
call fcn.004029b5
mov esi, eax
cmp esi, 1
jne 0x40616c
mov edx, dword [ebp - 4]
mov al, byte [edx]
cmp al, 0xa
jb 0x402fab
cmp al, 0x21
ja 0x402fab
add dword [0x468198], 1
mov edi, edx
mov ecx, edi
adc dword [0x46819c], 0
call fcn.004065cf
push 3
pop ebx
cmp eax, ebx
jne 0x402f22
mov ecx, dword [edi + 0x14]
cmp byte [ecx], 0x6c
jne 0x402ecc
mov ecx, dword [ecx + 0x14]
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
push 2
call fcn.00402cc4
mov ecx, dword [edi + 0x14]
mov edx, dword [ebp - 0x14]
cmp edx, ecx
mov esi, eax
je 0x402ead
jmp 0x402ede
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
push ebx
call fcn.00402cc4
mov edx, dword [ebp - 0x14]
mov esi, eax
cmp edx, edi
je 0x40615b
cmp dword [ebp + 8], 3
je 0x406176
cmp esi, 1
jne 0x40616c
test edx, edx
je 0x402f0b
mov eax, dword [edx + 0x1c]
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x1c]
jmp 0x402f95
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp byte [eax], 9
mov dword [ebp - 4], eax
jne 0x40615b
jmp 0x406155
mov edi, dword [edi + 0x18]
cmp byte [edi], 9
mov dword [ebp - 4], edi
je 0x402f40
cmp dword [ebp + 8], ebx
jne 0x40615b
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc
mov ecx, dword [edi + 0x14]
cmp byte [ecx], 0x6c
jne 0x402f67
mov ecx, dword [ecx + 0x14]
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
push 2
call fcn.00402cc4
mov ecx, dword [edi + 0x14]
mov edx, dword [ebp - 0x14]
cmp edx, ecx
mov esi, eax
je 0x402f48
jmp 0x402f79
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
push ebx
call fcn.00402cc4
mov edx, dword [ebp - 0x14]
mov esi, eax
cmp dword [ebp + 8], ebx
je 0x406176
cmp esi, 1
jne 0x40616c
test edx, edx
je 0x402fa3
mov eax, dword [edx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x406173
mov dword [ebp - 4], edx
jmp 0x40615b
mov eax, dword [edi + 0x18]
jmp 0x406158
movzx eax, al
cmp eax, 0x6a
jg 0x40340f
je 0x4061ee
cmp eax, 8
je 0x402ff1
cmp eax, 0x5f
je 0x4030b1
cmp eax, 0x60
je 0x403018
cmp eax, 0x66
je 0x4061b2
cmp eax, 0x67
je 0x40617d
jle 0x403438
cmp eax, 0x69
jg 0x403438
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0xc]
xor ebx, ebx
cmp edi, 4
jne 0x40310f
push ebx
push dword [0x46a4a8]
call fcn.0041a263
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jmp 0x4031b3
add dword [0x468198], 1
mov ecx, dword [ebp - 4]
adc dword [0x46819c], 0
mov eax, dword [edx + 0x18]
test eax, eax
je 0x403040
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ecx + 0xc], 1
sete al
mov edi, eax
jmp 0x403071
push 1
call fcn.00425baf
test eax, eax
mov dword [ebp - 0x24], eax
je 0x40620d
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x94], 0
je 0x40306f
mov ecx, dword [eax + 4]
call fcn.00425c18
test eax, eax
je 0x40306f
xor edi, edi
inc edi
jmp 0x403075
xor edi, edi
test edi, edi
je 0x403089
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + 0x94]
mov edx, dword [eax]
and dword [eax], 0
mov dword [ecx + 0x98], edx
mov ecx, dword [ebp - 0x24]
call fcn.004065a4
test edi, edi
mov esi, eax
je 0x4060e1
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + 0x98]
mov edx, dword [eax]
mov dword [ecx + 0x94], edx
jmp 0x4060de
add dword [0x468198], 1
adc dword [0x46819c], 0
mov eax, dword [edx + 0x18]
test eax, eax
mov dword [ebp - 0x24], eax
jne 0x4030e1
mov ecx, dword [ebp - 4]
push 1
call fcn.00425baf
test eax, eax
mov dword [ebp - 0x24], eax
je 0x40620d
mov edx, dword [ebp - 4]
cmp dword [ebp + 8], 3
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x9c], eax
mov ecx, dword [ebp - 0x24]
je 0x403102
mov eax, dword [ecx + 4]
mov edx, dword [edx + 0x1c]
cmp edx, dword [eax + 0x1c]
je 0x406158
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
jmp 0x402f36
cmp edi, 1
ja 0x403179
movzx eax, byte [eax + 1]
sub eax, ebx
je 0x403176
dec eax
je 0x403158
push str.Read
push dword [0x46a4a8]
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x403139
push 5
jmp 0x403173
push ebx
push dword [0x46a4a8]
call fcn.0041a263
pop ecx
pop ecx
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [ebp - 0x4c], eax
add ecx, 3
mov edi, ecx
jmp 0x403179
push ebx
push 1
push 1
push 1
push dword [0x46a4a8]
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x403139
push 2
pop edi
jmp 0x4031f4
push 2
pop edi
cmp edi, 3
jne 0x4031ae
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 1
ja 0x403190
mov dword [ebp - 0x44], 1
jmp 0x4031a7
push dword [0x46a4ac]
call fcn.00416d44
cmp eax, ebx
pop ecx
mov dword [ebp - 0x44], eax
je 0x4061d2
mov eax, dword [0x46a4b0]
jmp 0x4031e1
cmp edi, 4
jne 0x4031f4
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 2
ja 0x4031c5
mov dword [ebp - 0x44], 1
jmp 0x4031dc
push dword [0x46a4b0]
call fcn.00416d44
cmp eax, ebx
pop ecx
mov dword [ebp - 0x44], eax
je 0x4061e0
mov eax, dword [0x46a4b4]
cmp byte [eax], 0x31
jne 0x4031f0
cmp byte [eax + 1], 0
mov byte [ebp - 0x40], 1
je 0x4031f4
mov byte [ebp - 0x40], 0
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x14], edx
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov dword [ebp - 0x64], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + 0x18]
mov dword [eax + 8], 1
mov dword [eax + 0xc], edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [eax + 0x1c]
mov eax, edi
dec eax
dec eax
mov byte [ebp + 0x13], 0
mov dword [ebp - 0x10], ecx
je 0x403359
dec eax
je 0x403338
dec eax
je 0x4032ed
dec eax
je 0x4032a0
dec eax
je 0x403268
dec eax
jne 0x40339e
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
call fcn.004016b8
jmp 0x40339c
push 0x45d090
push dword [0x46a4b0]
call fcn.00442502
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
test eax, eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
je 0x403296
call fcn.00409f1b
jmp 0x40339c
call fcn.0040a134
jmp 0x40339c
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x4032e5
push 0x45d08c
push eax
call fcn.0043eb88
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x4032e5
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
call fcn.00419c22
push edi
mov esi, eax
call fcn.0043ea10
pop ecx
jmp 0x40339e
xor esi, esi
inc esi
jmp 0x40339e
lea eax, [ebp - 0x2e]
push eax
push dword [0x46a4a8]
call fcn.0041a263
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x4032e5
push dword [0x46a4ac]
mov ecx, dword [ebp - 4]
push edi
push dword [ebp - 0x4c]
lea eax, [ebp - 0x14]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
call fcn.00419eef
cmp byte [ebp - 0x2e], 0
mov esi, eax
je 0x40339e
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40339e
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
push dword [ebp - 0x40]
lea eax, [ebp - 0x14]
push dword [ebp - 0x44]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
call fcn.0040a357
jmp 0x40339c
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0
jbe 0x40337e
mov esi, eax
push 0
mov ecx, esi
call fcn.0040903d
cmp byte [esi], 8
jne 0x403378
mov ecx, eax
or ecx, edx
je 0x403380
mov byte [ebp - 0x48], 0
jmp 0x403384
xor eax, eax
mov byte [ebp - 0x48], 1
push dword [ebp - 0x48]
mov ecx, dword [ebp - 4]
push edx
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
call fcn.0040174d
mov esi, eax
test esi, esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 8], ebx
mov dword [eax + 0x1c], ecx
je 0x40616c
cmp esi, 7
je 0x40616c
cmp esi, 8
je 0x40616c
cmp byte [ebp + 0x13], 0
jne 0x40615b
cmp dword [ebp + 8], 3
mov eax, dword [ebp - 0x14]
je 0x403105
test eax, eax
je 0x406152
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, dword [edx + 0x1c]
jne 0x403105
jmp 0x406158
sub eax, 0x6b
je 0x40624e
dec eax
je 0x406104
dec eax
je 0x406222
sub eax, 0x21
je 0x406014
sub eax, 0x48
je 0x4061f2
add dword [0x468198], 1
mov eax, dword [0x46a4f8]
mov esi, dword [0x465108]
adc dword [0x46819c], 0
mov dword [ebp - 8], eax
mov al, byte [edx]
movzx ecx, al
dec ecx
cmp ecx, 0xd6
ja case.0x40346d.8
movzx ecx, byte [ecx + 0x4064cd]
jmp dword [ecx*4 + 0x406255]
mov ecx, dword [ebp - 4]
call fcn.004013a5
jmp 0x404fad
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 1
mov ecx, dword [0x46a4ac]
jbe 0x4034f6
mov eax, dword [eax + 4]
cmp byte [eax + 0x11], 0
jne case.0x40346d.3
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4034b6
push dword [eax + 4]
push dword [eax]
mov ecx, dword [ebp - 8]
call fcn.00401d5e
jmp 0x404fad
mov eax, dword [0x46a4fc]
test eax, eax
je 0x4034f6
cmp byte [ecx], 0
jne 0x4034f6
mov dl, byte [eax + 0x17]
test dl, dl
jne 0x4034d1
mov edx, dword [eax + 0xc]
mov dl, byte [edx + 0x17]
movzx edx, dl
dec edx
je 0x4034e8
dec edx
dec edx
jne 0x4034f6
mov ecx, dword [ebp - 8]
call fcn.00443c79
jmp 0x404fad
mov ecx, dword [ebp - 8]
push eax
call fcn.00401abf
jmp 0x404fad
push 1
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040184e
jmp 0x404fad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp dword [eax + 0x1c], 0
je 0x40352a
cmp byte [eax + 0x11], 0
jne 0x40352a
xor esi, esi
inc esi
mov dword [ebp - 0x10], 1
xor edi, edi
jmp 0x40357a
mov eax, dword [0x46a4fc]
and dword [ebp - 0x10], 0
test eax, eax
mov edx, dword [0x46a4ac]
je 0x403558
cmp byte [edx], 0
jne 0x403558
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x40354f
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x403558
mov edi, eax
jmp 0x40355a
xor edi, edi
test edi, edi
push 1
je 0x403569
mov ecx, edi
call fcn.004020fe
jmp 0x403578
push 1
push 0
push 1
push edx
call fcn.00401fbc
add esp, 0x14
mov esi, eax
mov ecx, dword [ebp - 8]
push 1
call fcn.004020fe
mov ebx, eax
mov eax, dword [0x46a4b0]
mov al, byte [eax]
test al, al
je 0x4036b4
movsx eax, al
push eax
call fcn.00442990
push eax
push 0x45ceb0
call fcn.00457de0
add esp, 0xc
test eax, eax
je 0x4036b4
xor ebx, ebx
cmp esi, ebx
je case.0x40346d.3
cmp dword [ebp - 0x10], ebx
je 0x4035d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x4035ea
cmp edi, ebx
je 0x4035de
push ebx
mov ecx, edi
call fcn.00402380
jmp 0x4035ea
push dword [0x46a4ac]
call fcn.00401225
pop ecx
mov ecx, dword [ebp - 8]
fstp qword [ebp - 0x1c]
push 1
call fcn.00401e61
cmp byte [eax], 0
je 0x403625
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x54]
push eax
push 1
call fcn.00401e61
push eax
call fcn.00439da1
test eax, eax
pop ecx
pop ecx
jne 0x40363d
push 1
push ebx
push 0xffffffffffffffff
push 0x45a5d8
jmp 0x4034fd
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [0x46a4b0]
movsx eax, byte [eax]
push eax
call fcn.00442990
cmp eax, 0x44
fld qword [ebp - 0x1c]
pop ecx
je 0x40367b
cmp eax, 0x48
je 0x403673
cmp eax, 0x4d
je 0x40366b
cmp eax, 0x53
jne 0x403681
fmul qword [0x45cea8]
jmp 0x403681
fmul qword [0x45cea0]
jmp 0x403681
fmul qword [0x45ce98]
jmp 0x403681
fmul qword [0x45ce90]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
call fcn.0045871c
push 1
push ebx
add esi, eax
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x490]
adc edi, edx
push eax
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
call fcn.00439c82
add esp, 0xc
jmp 0x403c8a
cmp esi, 2
je 0x403707
cmp ebx, 2
je 0x403707
cmp dword [ebp - 0x10], 0
je 0x4036d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x4036f3
test edi, edi
je 0x4036e3
push 0
mov ecx, edi
call fcn.00401c7f
jmp 0x4036ef
push dword [0x46a4ac]
call fcn.00401f02
pop ecx
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 8]
push 0
call fcn.00401c7f
add eax, esi
adc edx, edi
push edx
jmp 0x403de1
cmp dword [ebp - 0x10], 0
je 0x40371a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x403735
test edi, edi
je 0x403729
push 0
mov ecx, edi
call fcn.00402380
jmp 0x403735
push dword [0x46a4ac]
call fcn.00401225
pop ecx
mov ecx, dword [ebp - 8]
fstp qword [ebp - 0x1c]
push 0
call fcn.00402380
fadd qword [ebp - 0x1c]
push ecx
push ecx
mov ecx, dword [ebp - 8]
fstp qword [esp]
call fcn.0040c829
jmp 0x404fad
mov eax, dword [0x46a4b0]
mov al, byte [eax]
test al, al
je 0x403830
movsx eax, al
push eax
call fcn.00442990
push eax
push 0x45ceb0
call fcn.00457de0
add esp, 0xc
test eax, eax
je 0x403830
mov eax, dword [0x46a4fc]
test eax, eax
mov esi, dword [0x46a4ac]
je 0x4037ab
cmp byte [esi], 0
jne 0x4037ab
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4037a6
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x4037ad
xor eax, eax
test eax, eax
je 0x4037bc
push 1
mov ecx, eax
call fcn.00401e61
mov esi, eax
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x2f]
push eax
push 1
call fcn.00401e61
push eax
push esi
call fcn.00439d0c
add esp, 0xc
cmp byte [ebp - 0x2f], 0
mov esi, eax
mov edi, edx
je 0x4037ea
push 1
push 0
push 0xffffffffffffffff
push ebx
jmp 0x4034fd
mov eax, dword [0x46a4b0]
movsx eax, byte [eax]
push eax
call fcn.00442990
cmp eax, 0x44
pop ecx
je 0x403817
cmp eax, 0x48
je 0x40380e
cmp eax, 0x4d
jne 0x403829
push 0
push 0x3c
jmp 0x40381e
push 0
push 0xe10
jmp 0x40381e
push 0
push 0x15180
push edi
push esi
call fcn.00458670
mov esi, eax
mov edi, edx
push edi
push esi
jmp 0x4034a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp dword [eax + 0x1c], 0
je 0x403850
cmp byte [eax + 0x11], 0
jne 0x403850
xor esi, esi
inc esi
mov dword [ebp - 0x10], 1
xor edi, edi
jmp 0x4038a0
mov eax, dword [0x46a4fc]
and dword [ebp - 0x10], 0
test eax, eax
mov edx, dword [0x46a4ac]
je 0x40387e
cmp byte [edx], 0
jne 0x40387e
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x403875
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x40387e
mov edi, eax
jmp 0x403880
xor edi, edi
test edi, edi
push 1
je 0x40388f
mov ecx, edi
call fcn.004020fe
jmp 0x40389e
push 1
push 0
push 1
push edx
call fcn.00401fbc
add esp, 0x14
mov esi, eax
mov ebx, dword [ebp - 8]
push 1
mov ecx, ebx
call fcn.004020fe
cmp esi, 2
je 0x4038fd
cmp eax, 2
je 0x4038fd
cmp dword [ebp - 0x10], 0
je 0x4038cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x4038eb
test edi, edi
je 0x4038db
push 0
mov ecx, edi
call fcn.00401c7f
jmp 0x4038e7
push dword [0x46a4ac]
call fcn.00401f02
pop ecx
mov esi, eax
mov edi, edx
push 0
mov ecx, ebx
call fcn.00401c7f
sub eax, esi
sbb edx, edi
jmp 0x403a0b
xor esi, esi
cmp dword [ebp - 0x10], esi
je 0x403911
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x40392b
cmp edi, esi
je 0x40391f
push esi
mov ecx, edi
call fcn.00402380
jmp 0x40392b
push dword [0x46a4ac]
call fcn.00401225
pop ecx
push esi
fstp qword [ebp - 0x1c]
mov ecx, ebx
call fcn.00402380
fsub qword [ebp - 0x1c]
jmp 0x403a50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp dword [eax + 0x1c], 0
je 0x40395e
cmp byte [eax + 0x11], 0
jne 0x40395e
xor esi, esi
inc esi
mov dword [ebp - 0x10], 1
xor edi, edi
jmp 0x4039ae
mov eax, dword [0x46a4fc]
and dword [ebp - 0x10], 0
test eax, eax
mov edx, dword [0x46a4ac]
je 0x40398c
cmp byte [edx], 0
jne 0x40398c
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x403983
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x40398c
mov edi, eax
jmp 0x40398e
xor edi, edi
test edi, edi
push 1
je 0x40399d
mov ecx, edi
call fcn.004020fe
jmp 0x4039ac
push 1
push 0
push 1
push edx
call fcn.00401fbc
add esp, 0x14
mov esi, eax
mov ebx, dword [ebp - 8]
push 1
mov ecx, ebx
call fcn.004020fe
cmp esi, 2
je 0x403a14
cmp eax, 2
je 0x403a14
cmp dword [ebp - 0x10], 0
je 0x4039da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x4039f9
test edi, edi
je 0x4039e9
push 0
mov ecx, edi
call fcn.00401c7f
jmp 0x4039f5
push dword [0x46a4ac]
call fcn.00401f02
pop ecx
mov esi, eax
mov edi, edx
push 0
mov ecx, ebx
call fcn.00401c7f
push edi
push esi
push edx
push eax
call fcn.00458630
push edx
push eax
mov ecx, ebx
jmp 0x4034ac
xor esi, esi
cmp dword [ebp - 0x10], esi
je 0x403a28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x403a42
cmp edi, esi
je 0x403a36
push esi
mov ecx, edi
call fcn.00402380
jmp 0x403a42
push dword [0x46a4ac]
call fcn.00401225
pop ecx
push esi
fstp qword [ebp - 0x1c]
mov ecx, ebx
call fcn.00402380
fmul qword [ebp - 0x1c]
push ecx
push ecx
mov ecx, ebx
jmp 0x40374a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp dword [eax + 0x1c], 0
je 0x403a7b
cmp byte [eax + 0x11], 0
jne 0x403a7b
xor esi, esi
inc esi
xor edi, edi
mov dword [ebp - 0x10], 1
xor ebx, ebx
jmp 0x403acc
mov eax, dword [0x46a4fc]
and dword [ebp - 0x10], 0
test eax, eax
mov edx, dword [0x46a4ac]
je 0x403aa9
cmp byte [edx], 0
jne 0x403aa9
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x403aa0
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x403aa9
mov edi, eax
jmp 0x403aab
xor edi, edi
xor ebx, ebx
cmp edi, ebx
push 1
je 0x403abc
mov ecx, edi
call fcn.004020fe
jmp 0x403aca
push 1
push ebx
push 1
push edx
call fcn.00401fbc
add esp, 0x14
mov esi, eax
mov ecx, dword [ebp - 8]
push 1
call fcn.004020fe
cmp esi, 2
je 0x403b3b
cmp eax, 2
je 0x403b3b
cmp dword [ebp - 0x10], ebx
je 0x403af5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x403b13
cmp edi, ebx
je 0x403b03
push ebx
mov ecx, edi
call fcn.00401c7f
jmp 0x403b0f
push dword [0x46a4ac]
call fcn.00401f02
pop ecx
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 8]
mov eax, esi
or eax, edi
jne 0x403b27
push 1
push ebx
push 0xffffffffffffffff
push ebx
jmp 0x403500
push ebx
call fcn.00401c7f
push edi
push esi
push edx
push eax
call fcn.00458670
jmp 0x403701
cmp dword [ebp - 0x10], ebx
je 0x403b4d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
fild qword [eax]
jmp 0x403b67
cmp edi, ebx
je 0x403b5b
push ebx
mov ecx, edi
call fcn.00402380
jmp 0x403b67
push dword [0x46a4ac]
call fcn.00401225
pop ecx
mov ecx, dword [ebp - 8]
fstp qword [ebp - 0x1c]
fld qword [0x45cd78]
fld qword [ebp - 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x403b1c
push ebx
call fcn.00402380
fdiv qword [ebp - 0x1c]
jmp 0x403745
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov esi, eax
test esi, esi
jge 0x403ba1
xor esi, esi
jmp 0x403bb1
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
cmp esi, eax
jle 0x403bb1
mov esi, eax
push 1
push 0
push esi
jmp 0x403cef
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov esi, eax
test esi, esi
jge 0x403bcd
xor esi, esi
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
cmp esi, eax
jbe 0x403bdd
mov esi, eax
push 1
push 0
sub eax, esi
add eax, dword [0x46a4ac]
push esi
jmp 0x403c8a
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 4
jb 0x403c18
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x34]
cmp byte [eax], 0
je 0x403c18
mov ecx, dword [ebp - 4]
push 3
call fcn.0040903d
xor ebx, ebx
mov edi, eax
inc ebx
cmp edi, ebx
jge 0x403c20
jmp 0x403c65
xor ebx, ebx
mov edi, 0x7fffffff
inc ebx
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov esi, eax
mov eax, dword [0x46a4b8]
movsx eax, byte [eax]
push eax
call fcn.00442990
cmp eax, 0x4c
pop ecx
jne 0x403c52
cmp esi, ebx
jl 0x403c65
mov eax, ebx
sub eax, edi
add esi, eax
cmp esi, ebx
jge 0x403c58
lea edi, [edi + esi - 1]
cmp esi, ebx
jge 0x403c58
mov esi, ebx
mov ecx, dword [ebp - 4]
push ebx
call fcn.0040c597
cmp eax, esi
jae 0x403c71
push ebx
push 0
push 0xffffffffffffffff
push 0
jmp 0x4034fd
mov ecx, ebx
sub ecx, esi
add eax, ecx
cmp edi, eax
jbe 0x403c7d
mov edi, eax
mov eax, dword [0x46a4ac]
push ebx
push 0
push edi
lea eax, [esi + eax - 1]
push eax
jmp 0x4034fd
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov esi, eax
test esi, esi
jge 0x403ca2
xor esi, esi
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
cmp esi, eax
jbe 0x403cb2
mov esi, eax
push 1
sub eax, esi
push 0
push eax
mov eax, dword [0x46a4ac]
add esi, eax
push esi
jmp 0x4034fd
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov esi, eax
test esi, esi
jge 0x403cd8
xor esi, esi
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
cmp esi, eax
jbe 0x403ce8
mov esi, eax
push 1
push 0
sub eax, esi
push eax
push dword [0x46a4ac]
jmp 0x4034fd
mov edi, dword [ebp - 8]
xor ebx, ebx
inc ebx
push ebx
mov ecx, edi
call fcn.00401e61
mov esi, eax
cmp esi, dword [0x46a4ac]
jne 0x403d23
mov al, byte [edi + 0x17]
test al, al
jne 0x403d1f
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x403d59
mov ecx, dword [ebp - 4]
push ebx
xor esi, esi
push esi
push ebx
call fcn.0040c597
push eax
push esi
mov ecx, edi
call fcn.0040184e
cmp eax, ebx
jne 0x40616c
push ebx
mov ecx, edi
call fcn.00401e61
push dword [0x46a4ac]
mov esi, eax
push esi
call fcn.00457a80
pop ecx
pop ecx
mov eax, dword [0x46a4b0]
mov al, byte [eax]
test al, al
je 0x403d87
movsx eax, al
push eax
call fcn.00442990
cmp eax, 0x54
pop ecx
jne 0x403d87
mov eax, dword [0x46a4b0]
cmp byte [eax + 1], 0
jne 0x403d87
push esi
call fcn.0041adca
pop ecx
jmp 0x403d9e
mov eax, dword [ebp - 4]
cmp byte [eax], 0x31
push esi
jne 0x403d98
call dword [sym.imp.USER32.dll_CharLowerA]
jmp 0x403d9e
call dword [sym.imp.USER32.dll_CharUpperA]
push 0
mov ecx, edi
call fcn.0040c556
jmp 0x404fad
mov ecx, dword [0x46a4fc]
test ecx, ecx
je 0x403dd5
cmp byte [ecx + 0x17], 0
jne 0x403dc4
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x15]
jmp 0x403dc7
mov al, byte [ecx + 0x15]
test al, 1
je 0x403dd5
call fcn.00401d9f
mov eax, dword [eax]
inc eax
jmp 0x403ddf
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
push 0
push eax
jmp 0x4034a9
mov edi, dword [0x46a4b4]
mov al, byte [edi]
or dword [ebp - 0x28], 0xffffffff
test al, al
mov dword [ebp - 0x18], edi
je 0x403e29
movsx eax, al
push eax
call fcn.00442990
push eax
push 0x45ce8c
call fcn.00457de0
add esp, 0xc
test eax, eax
je 0x403e29
lea eax, [edi + 1]
cmp byte [eax], 0
je 0x403e29
push eax
call fcn.0040137d
pop ecx
mov dword [ebp - 0x10], eax
jmp 0x403e30
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
jle 0x403f58
mov eax, dword [0x46a4b0]
cmp byte [eax], 0
jne 0x403e6c
and dword [ebp - 0x28], 0
mov eax, 0x45a734
mov ecx, dword [0x467b78]
xor esi, esi
inc esi
push esi
push 0
push 0xffffffffffffffff
push eax
call fcn.0040184e
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
jmp 0x405189
mov ecx, dword [0x46a4ac]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
push 4
mov dword [ebp - 0x34], eax
call fcn.0040903d
mov edi, eax
test edi, edi
jge 0x403e8c
xor edi, edi
test edi, edi
je 0x403e9c
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
mov ebx, eax
jmp 0x403e9f
xor ebx, ebx
inc ebx
cmp edi, ebx
jge 0x403f58
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
cmp al, 0x31
je 0x403f0f
movsx eax, al
push eax
call fcn.00442990
cmp eax, 0x52
pop ecx
je 0x403f0f
mov ecx, dword [ebp - 4]
push 2
call fcn.0040c597
mov ebx, eax
mov eax, dword [ebp - 0x38]
xor esi, esi
inc esi
add eax, edi
mov ecx, dword [0x465108]
mov cl, byte [ecx + 0xc9]
test cl, cl
push dword [ebp - 0x34]
push eax
jne 0x403eee
call fcn.00439733
jmp 0x403eff
cmp cl, 2
jne 0x403efa
call fcn.00439613
jmp 0x403eff
call fcn.00457d40
test eax, eax
pop ecx
pop ecx
je 0x403f58
cmp esi, dword [ebp - 0x10]
je 0x403f48
inc esi
add eax, ebx
jmp 0x403ed3
test edi, edi
je 0x403f23
sub ebx, edi
add ebx, dword [ebp - 0x38]
mov al, byte [ebx]
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x2d], al
mov byte [ebx], 0
push dword [ebp - 0x10]
movzx eax, byte [esi + 0xc9]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.00439900
add esp, 0x10
test edi, edi
je 0x403f48
mov ecx, dword [ebp - 0x60]
mov dl, byte [ebp - 0x2d]
mov byte [ecx], dl
test eax, eax
je 0x403f58
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
jns 0x403e48
mov eax, 0x45bf4c
jmp 0x403e4d
mov ecx, dword [ebp - 4]
call fcn.0041d467
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.00420082
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00429ee0
jmp 0x404fad
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
call fcn.00429b7c
jmp 0x404fad
push dword [0x46a4ac]
mov ecx, dword [ebp - 4]
push dword [0x46a4a8]
call fcn.00428ea5
jmp 0x404fad
mov esi, dword [ebp - 4]
push 0
push dword [0x46a4c8]
mov ecx, esi
push 7
call fcn.0040903d
push eax
push 6
mov ecx, esi
call fcn.0040903d
push eax
push 5
mov ecx, esi
call fcn.0040903d
push eax
push 4
mov ecx, esi
call fcn.0040903d
push eax
push 3
mov ecx, esi
call fcn.0040903d
push eax
push 2
mov ecx, esi
call fcn.0040903d
push eax
mov ecx, esi
call fcn.00421466
jmp 0x404fad
push dword [0x46a4c0]
mov esi, dword [ebp - 4]
push 5
mov ecx, esi
call fcn.0040903d
push eax
push 4
mov ecx, esi
call fcn.0040903d
push eax
push 3
mov ecx, esi
call fcn.0040903d
push eax
push 2
mov ecx, esi
call fcn.0040903d
push eax
mov ecx, esi
call fcn.00420b07
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov ecx, dword [ebp - 4]
push eax
push 1
call fcn.0040903d
mov ecx, dword [ebp - 4]
push eax
call fcn.00421a76
jmp 0x404fad
push 0
push dword [esi + 0xac]
cmp al, 0x42
sete al
push eax
push dword [0x46a4a8]
call fcn.00414803
add esp, 0x10
jmp case.0x40346d.3
xor eax, eax
cmp dword [esi + 0xac], 3
push 0
sete al
lea eax, [eax + eax + 1]
push eax
jmp 0x4040d2
push 0
push 2
push 0
jmp 0x4040a6
xor eax, eax
push eax
push eax
jmp 0x4040a5
push dword [0x46a4a8]
call fcn.00413b08
pop ecx
jmp 0x404fad
push ebx
push ebx
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
push eax
call fcn.00413b68
add esp, 0x28
jmp 0x404fad
push dword [0x46a4bc]
push dword [0x46a4b4]
push dword [0x46a4c0]
push dword [0x46a4b8]
push ebx
push ebx
jmp 0x404107
push ebx
push ebx
push dword [0x46a4b4]
push dword [0x46a4b0]
push ebx
push ebx
push dword [0x46a4ac]
push dword [0x46a4a8]
push ebx
jmp 0x404119
mov ecx, dword [ebp - 4]
push 4
call fcn.0040903d
mov ecx, dword [ebp - 4]
push eax
call fcn.00427ccd
jmp 0x404fad
cmp al, 0x6f
push 0
sete al
push 0
push eax
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
push esi
call fcn.0043c75e
add esp, 0x20
test eax, eax
je case.0x40346d.3
mov eax, dword [0x465108]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle case.0x40346d.3
cmp eax, 0x19
jge 0x4041d8
cmp byte [0x468399], 0
je 0x4041d8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp case.0x40346d.3
push 1
push eax
call fcn.0040de6e
pop ecx
pop ecx
jmp case.0x40346d.3
push 9
push 0x45ce80
push dword [0x46a4a8]
call fcn.00442545
add esp, 0xc
test eax, eax
jne 0x404218
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
jne 0x404218
mov eax, dword [0x46a4b4]
cmp byte [eax], 0
jne 0x404218
mov bl, 1
jmp 0x40421a
xor bl, bl
mov al, bl
neg al
sbb eax, eax
and eax, 0xffffffec
add eax, 0x14
mov edi, eax
mov eax, dword [ebp - 4]
mov al, byte [eax]
cmp al, 0x7b
je 0x404277
cmp al, 0x7c
je 0x404277
mov eax, dword [0x46a4b0]
cmp byte [eax], 0
je 0x4042ad
mov ecx, dword [ebp - 4]
mov al, byte [ecx]
cmp al, 0x7b
je 0x4042e9
cmp al, 0x7c
je 0x4042eb
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
push eax
call fcn.00427ea5
jmp 0x404fad
mov eax, dword [0x46a4b0]
cmp byte [eax], 0
je 0x4042a1
mov ecx, dword [ebp - 4]
push 2
call fcn.004090d1
fmul qword [0x45ce78]
call fcn.0045871c
mov edi, eax
test edi, edi
jne 0x4042a1
mov edi, 0x1f4
mov eax, dword [0x46a4b8]
cmp byte [eax], 0
je 0x4042ad
xor bl, bl
test bl, bl
je 0x40423f
mov eax, dword [0x46a4a8]
add eax, 9
push 0
push eax
call fcn.00401ea8
pop ecx
push eax
mov ecx, 0x467ce0
call fcn.0044fb8b
test eax, eax
je 0x40423f
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx]
push edi
push ecx
mov ecx, eax
call fcn.0044fbdd
jmp 0x404fad
cmp al, 0x7c
sete al
push eax
push dword [0x46a4b8]
push dword [0x46a4b4]
push edi
push dword [0x46a4ac]
push dword [0x46a4a8]
push esi
call fcn.0043c932
add esp, 0x1c
jmp 0x4041a5
push dword [0x46a4ac]
mov ecx, dword [ebp - 4]
call fcn.004237ce
jmp 0x404fad
push dword [0x46a4ac]
push dword [0x46a4a8]
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jmp 0x405277
lea eax, [ebp - 0x74]
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 [0x467b78]
push 1
push esi
push 0xffffffffffffffff
je 0x40514f
jmp 0x405133
push dword [0x46a4ac]
mov ecx, dword [ebp - 4]
push dword [0x46a4a8]
call fcn.0042bf88
jmp 0x404fad
cmp byte [0x4683a2], 0
je case.0x40346d.3
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 1
jae 0x4043da
xor esi, esi
xor eax, eax
inc esi
cmp dword [0x4681b0], eax
je 0x406005
mov ecx, dword [0x4681b8]
mov word [ecx], ax
mov ecx, dword [0x4681b4]
mov word [ecx], ax
mov ecx, dword [0x4681b0]
mov word [ecx], ax
jmp 0x406005
mov eax, dword [0x4681b0]
test eax, eax
jne 0x404427
push 0x606
call fcn.0043f68a
xor edi, edi
cmp eax, edi
pop ecx
mov dword [0x4681b0], eax
jne 0x40440d
push ebx
push edi
push str.Out_of_memory.__The_current_thread_will_exit.
mov ecx, dword [ebp - 4]
call fcn.0044c1bc
jmp 0x404fad
lea ecx, [eax + 0x202]
mov dword [0x4681b4], ecx
add ecx, 0x202
mov dword [0x4681b8], ecx
jmp 0x404429
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, 0x101
push ebx
push eax
push 0xffffffffffffffff
push dword [0x46a4a8]
push edi
push edi
call esi
push ebx
push dword [0x4681b4]
push 0xffffffffffffffff
push dword [0x46a4ac]
push edi
push edi
call esi
push ebx
push dword [0x4681b8]
push 0xffffffffffffffff
push dword [0x46a4b0]
push edi
push edi
call esi
jmp case.0x40346d.3
push str.UseErrorLevel
push dword [0x46a4b0]
call fcn.00439733
test eax, eax
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
je 0x4044ce
xor eax, eax
mov al, 3
cmp al, byte [ecx + 1]
mov ecx, edi
sbb eax, eax
and eax, dword [0x46a504]
xor esi, esi
push eax
push 1
push 1
push esi
push dword [0x46a4b0]
push esi
push dword [0x46a4ac]
push esi
push dword [0x46a4a8]
call fcn.0040efde
test eax, eax
mov eax, 0x45a734
jne 0x4044c6
mov eax, str.ERROR
push 1
push esi
jmp 0x405287
xor eax, eax
mov al, 3
cmp al, byte [ecx + 1]
mov ecx, edi
sbb eax, eax
and eax, dword [0x46a504]
push eax
push 1
xor eax, eax
push eax
push eax
push dword [0x46a4b0]
push 1
push dword [0x46a4ac]
push eax
push dword [0x46a4a8]
call fcn.0040efde
jmp 0x404fad
mov ecx, dword [ebp - 4]
call fcn.00427f87
jmp 0x404fad
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 2
mov ecx, eax
jbe 0x40454f
push dword [0x46a4c4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
jmp 0x404561
push ebx
push ebx
push ebx
push ebx
push dword [0x46a4ac]
push dword [0x46a4a8]
push ebx
push ebx
call fcn.0043aa38
jmp 0x404fad
push dword [0x46a4d0]
mov ecx, dword [ebp - 4]
push dword [0x46a4cc]
push dword [0x46a4c8]
push dword [0x46a4c4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042cbb7
jmp 0x404fad
mov ecx, dword [ebp - 4]
cmp al, 0x47
sete al
push eax
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00422b2a
jmp 0x404fad
push 0
push 1
push dword [0x46a4b4]
call fcn.004121c8
add esp, 0xc
test al, al
mov byte [ebp - 0x58], al
jne 0x40461c
push dword [0x46a4b4]
push 0
push str.Invalid_mouse_button__The_current_thread_will_exit.
jmp 0x404400
mov eax, dword [0x46a4b8]
cmp byte [eax], 0
je 0x404632
mov ecx, dword [ebp - 4]
push 4
call fcn.0040903d
jmp 0x404635
xor eax, eax
inc eax
push dword [0x46a4c4]
mov ecx, dword [ebp - 4]
push dword [0x46a4c0]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
push dword [0x46a4bc]
push eax
push dword [ebp - 0x58]
call fcn.00421bda
jmp 0x404fad
push dword [0x46a4c8]
mov ecx, dword [ebp - 4]
push dword [0x46a4c4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00422985
jmp 0x404fad
push dword [0x46a4c8]
mov ecx, dword [ebp - 4]
push dword [0x46a4c4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
call fcn.00422731
jmp 0x404fad
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.00422171
jmp 0x404fad
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00422077
jmp 0x404fad
push dword [0x46a4bc]
mov ecx, dword [ebp - 4]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00422bb6
jmp 0x404fad
push dword [0x46a4bc]
mov ecx, dword [ebp - 4]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.00422878
jmp 0x404fad
push dword [0x46a4c0]
mov ecx, dword [ebp - 4]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042a778
jmp 0x404fad
push dword [0x46a4c4]
mov ecx, dword [ebp - 4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0042ae6b
jmp 0x404fad
push dword [0x46a4bc]
mov ecx, dword [ebp - 4]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.00429def
jmp 0x404fad
push dword [0x46a4c4]
mov ecx, dword [ebp - 4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00429e42
jmp 0x404fad
mov ecx, dword [ebp - 4]
cmp al, 0x89
sete al
push eax
call fcn.00428b4f
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.004288f7
jmp 0x404fad
push dword [0x46a4bc]
mov ecx, dword [ebp - 4]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0043ab52
jmp 0x404fad
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 1
mov ecx, eax
jbe 0x4048e8
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
jmp 0x4048f2
push ebx
push ebx
push dword [0x46a4a8]
push ebx
push ebx
call fcn.0043b14c
jmp 0x404fad
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0043a988
jmp 0x404fad
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0043a52c
jmp 0x404fad
push dword [0x46a4bc]
mov ecx, dword [ebp - 4]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0043a0d6
jmp 0x404fad
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0043a877
jmp 0x404fad
push dword [0x46a4c4]
mov ecx, dword [ebp - 4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
call fcn.0043a72d
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
call fcn.0042a10b
jmp 0x404fad
push 0
push 0x1a3
jmp 0x4049e4
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 0x4041ad
mov ecx, dword [0x46a4a8]
cmp byte [ecx], 0
jne 0x404a19
and dword [0x468144], 0
jmp case.0x40346d.3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x404a3a
push ecx
mov ecx, edi
call fcn.0044faa8
test eax, eax
jne 0x404a3a
push dword [0x46a4a8]
jmp 0x404c64
mov dword [0x468144], eax
jmp case.0x40346d.3
mov eax, dword [ebp - 4]
push dword [eax + 0xc]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00410655
add esp, 0x10
jmp 0x404fad
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x404a86
push dword [0x46a4a8]
mov ecx, edi
call fcn.0044faa8
mov esi, eax
test esi, esi
je 0x404a2f
mov ecx, dword [0x46a4ac]
cmp byte [ecx], 0
je 0x404ac9
push 0
push ecx
call fcn.00416e5d
test eax, eax
pop ecx
pop ecx
jne 0x404acd
push eax
push 1
push 1
push 1
push dword [0x46a4ac]
call fcn.00401fbc
add esp, 0x14
test eax, eax
jne 0x404aee
push dword [0x46a4ac]
push eax
push str.Parameter_2_invalid
jmp 0x404400
xor eax, eax
jmp 0x404ad3
mov ecx, dword [0x46a4ac]
test eax, eax
jle 0x404af4
cmp eax, 2
jg 0x404af4
cmp eax, 1
sete al
push 0
push eax
push dword [0x46a4b0]
push ebx
jmp 0x404b0e
mov ecx, dword [0x46a4ac]
cmp byte [ecx], 0
mov eax, dword [0x46a4b0]
jne 0x404b07
cmp byte [eax], 0
je 0x404b07
mov dl, 1
jmp 0x404b09
xor dl, dl
push edx
push 1
push eax
push ecx
mov ecx, edi
push esi
call fcn.0041ae71
jmp case.0x40346d.3
mov eax, dword [0x46a4a8]
cmp byte [eax], 0
push 0x10
pop edi
je 0x404b49
push 0x45c390
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x404b49
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
mov edi, eax
test edi, edi
je 0x404b4c
xor eax, eax
inc eax
test al, al
mov byte [esi + 0xc6], al
je 0x404b73
or dword [esi], 0xffffffff
or dword [esi + 4], 0xffffffff
or dword [esi + 0x24], 0xffffffff
mov dword [esi + 0xb0], edi
mov byte [esi + 0xc4], 0
jmp case.0x40346d.3
mov dword [esi + 0xb0], 5
mov byte [esi + 0xc4], 1
jmp case.0x40346d.3
push dword [0x46a4a8]
call fcn.004171fa
dec eax
pop ecx
je 0x404c07
dec eax
je 0x404bcc
dec eax
jne case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404bbf
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
or eax, edx
jne 0x404bbf
xor eax, eax
inc eax
jmp 0x404bc1
xor eax, eax
mov byte [esi + 0xc5], al
jmp case.0x40346d.3
mov eax, dword [0x46a4a8]
cmp byte [eax], 0
je 0x404be5
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
mov dword [0x4681a4], eax
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je case.0x40346d.3
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov dword [0x4681a0], eax
jmp case.0x40346d.3
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
mov dword [esi + 0x2c], eax
jmp case.0x40346d.3
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x404c3c
push 1
push dword [0x46a4a8]
mov ecx, edi
call fcn.0044fb8b
mov esi, eax
test esi, esi
je 0x40616a
mov ecx, dword [0x46a4b4]
xor eax, eax
cmp byte [ecx], al
je 0x404c70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x404c70
push ecx
mov ecx, edi
call fcn.0044faa8
test eax, eax
jne 0x404c70
push dword [0x46a4b4]
push 0
push str.Target_label_does_not_exist.__The_current_thread_will_exit.
jmp 0x404400
push dword [0x46a4bc]
mov ecx, esi
push dword [0x46a4b8]
push eax
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0044ff0b
jmp 0x404fad
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x404cb7
push esi
push dword [0x46a4a8]
mov ecx, edi
call fcn.0044fb8b
mov esi, eax
test esi, esi
je case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404cd6
push 0x45bf90
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x404cd6
mov al, 1
jmp 0x404cd8
xor al, al
push eax
mov ecx, esi
call fcn.004500e2
jmp case.0x40346d.3
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x404d07
push esi
push dword [0x46a4a8]
mov ecx, edi
call fcn.0044fb8b
mov esi, eax
test esi, esi
je case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404d50
push 0x45ce10
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x404d31
push eax
push 0x7b
mov ecx, esi
call fcn.0044fbdd
jmp case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404d50
push 0x45bf90
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x404d50
mov al, 1
jmp 0x404d52
xor al, al
push eax
mov ecx, esi
call fcn.0045003e
jmp case.0x40346d.3
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
call fcn.00425789
jmp 0x404fad
xor esi, esi
cmp dword [ebp - 8], esi
jne 0x404d94
mov ecx, dword [ebp - 4]
inc esi
push esi
call fcn.0040903d
push eax
call fcn.00415fbd
jmp 0x405d4a
push esi
xor edi, edi
inc edi
push edi
push esi
push edi
push dword [0x46a4ac]
call fcn.00401fbc
add esp, 0x14
cmp eax, 2
je 0x404dc5
push esi
push edi
push esi
push edi
push dword [0x46a4b0]
call fcn.00401fbc
add esp, 0x14
cmp eax, 2
jne 0x404e2e
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404dda
mov ecx, dword [ebp - 4]
push edi
call fcn.004090d1
jmp 0x404ddc
fldz
mov eax, dword [0x46a4b0]
fstp qword [ebp - 0x1c]
cmp byte [eax], 0
je 0x404df5
mov ecx, dword [ebp - 4]
push 2
call fcn.004090d1
jmp 0x404dfb
fld qword [0x45ce08]
fst qword [ebp - 0x2c]
fld qword [ebp - 0x1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x404e17
fld qword [ebp - 0x1c]
fld st(1)
fstp qword [ebp - 0x1c]
fst qword [ebp - 0x2c]
fstp st(0)
fstp st(0)
call fcn.00415f61
fld qword [ebp - 0x2c]
fsub qword [ebp - 0x1c]
fmulp st(1)
fadd qword [ebp - 0x1c]
jmp 0x403745
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404e43
mov ecx, dword [ebp - 4]
push edi
call fcn.0040903d
mov esi, eax
mov eax, dword [0x46a4b0]
cmp byte [eax], 0
je 0x404e5b
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
mov edi, eax
jmp 0x404e60
mov edi, 0x7fffffff
cmp esi, edi
jle 0x404e6a
mov eax, esi
mov esi, edi
mov edi, eax
call fcn.00415f1f
mov ecx, eax
mov eax, edi
cdq
mov edi, eax
mov ebx, edx
mov eax, esi
cdq
sub edi, eax
sbb ebx, edx
add edi, 1
adc ebx, 0
push ebx
push edi
push 0
push ecx
call fcn.00458570
mov ecx, dword [ebp - 8]
add eax, esi
cdq
push 0x18
push edx
push eax
call fcn.00401c1f
jmp case.0x40346d.3
mov ecx, dword [ebp - 4]
push 1
push dword [0x46a4ac]
call fcn.004235ef
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00422e40
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
call fcn.00422ffd
jmp 0x404fad
mov eax, dword [0x46a4b4]
cmp byte [eax], 0
je 0x404f07
mov ecx, dword [ebp - 4]
push 3
call fcn.0040903d
dec eax
jmp 0x404f09
xor eax, eax
cdq
test edx, edx
mov edi, eax
jg 0x404f1b
jl 0x404f16
test edi, edi
jae 0x404f1b
xor edi, edi
and dword [ebp - 0x18], edi
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
mov dword [ebp - 0x28], 1
je 0x404f3c
lea ecx, [ebp - 0x28]
push ecx
push eax
call fcn.00417903
pop ecx
pop ecx
mov esi, eax
jmp 0x404f3f
push 4
pop esi
mov eax, dword [0x46a4b0]
cmp byte [eax], 0
je 0x404f52
push eax
call fcn.00417aec
pop ecx
jmp 0x404f57
mov eax, 0x50030001
mov ecx, dword [ebp - 4]
push edi
push eax
mov al, byte [ecx]
push dword [ebp - 0x28]
sub al, 0x94
neg al
push esi
sbb eax, eax
and eax, dword [0x46a4a8]
push eax
call fcn.0042963d
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404f8d
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
dec eax
jmp 0x404f8f
xor eax, eax
cdq
test edx, edx
jg 0x404f9f
jl 0x404f9a
test eax, eax
jae 0x404f9f
xor eax, eax
and dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
cmp byte [ecx], 0x96
push eax
jne 0x404fb4
call fcn.0042948f
mov esi, eax
jmp 0x405ffd
push dword [0x46a4a8]
call fcn.00429a81
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x404fd9
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
mov esi, eax
jmp 0x404fde
mov esi, 0x96
mov eax, dword [0x46a4a8]
cmp byte [eax], 0
je 0x404ff4
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
jmp 0x404ff9
mov eax, 0x20b
push esi
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
jmp case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x405026
push str.wait
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x40503b
mov eax, dword [0x46a4ac]
push 0x45bf4c
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x40503b
xor al, al
jmp 0x40503f
xor eax, eax
mov al, 1
mov ecx, dword [ebp - 4]
push eax
push dword [0x46a4a8]
call fcn.00429500
jmp 0x404fad
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 2
jae 0x405061
mov esi, dword [esi + 0x18]
jmp 0x405063
xor esi, esi
mov ecx, dword [ebp - 4]
push esi
push dword [0x46a4a8]
push dword [0x46a4ac]
call fcn.00423814
jmp 0x404fad
push dword [0x46a4ac]
mov ecx, dword [ebp - 4]
call fcn.00424007
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
call fcn.0042425c
jmp 0x404fad
mov ecx, dword [ebp - 4]
call fcn.00423ad5
jmp 0x404fad
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
call fcn.0042bb92
jmp 0x404fad
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
call fcn.0042bc2b
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00423ec0
jmp 0x404fad
mov ecx, dword [ebp - 4]
xor esi, esi
push esi
push 2
call fcn.0040903d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042c368
mov ecx, dword [0x467b78]
add esp, 0x10
cmp eax, esi
jne 0x40513d
push 1
push esi
push 0xffffffffffffffff
push 0x45a734
jmp 0x403500
cmp byte [0x46818f], 0
je 0x404e94
push 1
push esi
push 0xffffffffffffffff
push 0x45bf4c
jmp 0x403500
mov ecx, dword [ebp - 4]
xor esi, esi
inc esi
push esi
push 2
call fcn.0040903d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042c368
mov ecx, dword [0x467b78]
add esp, 0x10
cdq
push 0x18
push edx
push eax
call fcn.00401c1f
jmp 0x406005
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042c284
add esp, 0xc
jmp 0x405275
mov eax, dword [0x46a4b0]
movsx eax, byte [eax]
push eax
call fcn.00442990
cmp eax, 0x52
pop ecx
jne 0x405210
push dword [0x46a4ac]
push dword [0x46a4a8]
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
mov eax, 0x45a734
jne 0x4051f7
mov eax, 0x45bf4c
mov ecx, dword [0x467b78]
xor esi, esi
inc esi
push esi
push 0
push 0xffffffffffffffff
push eax
call fcn.0040184e
jmp 0x406005
mov ecx, dword [ebp - 4]
push 2
call fcn.0040903d
push eax
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042c8f8
jmp 0x4051bb
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
call fcn.004239ea
jmp 0x404fad
mov eax, dword [0x46a4a8]
cmp byte [eax], 0
push 1
jne 0x405258
push 0
push 0xffffffffffffffff
push 0x45bf4c
jmp 0x40528a
mov ecx, dword [ebp - 4]
call fcn.0040903d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x46a4a8]
call fcn.0042ca1a
pop ecx
pop ecx
test al, al
mov eax, 0x45a734
jne 0x405283
mov eax, 0x45bf4c
push 1
push 0
push 0xffffffffffffffff
push eax
mov ecx, dword [0x467b78]
jmp 0x403500
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
jne 0x4052ab
mov esi, dword [esi + 0x10]
test esi, esi
lea eax, [esi + 0x2c]
jne 0x4052ab
mov eax, ebx
mov ecx, dword [ebp - 4]
push eax
call fcn.00423c7f
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x4052c7
mov esi, eax
jmp 0x4052d5
mov esi, dword [esi + 0x10]
test esi, esi
je 0x4052d3
add esi, 0x2c
jmp 0x4052d5
mov esi, ebx
mov ecx, dword [ebp - 4]
push 0
push 3
call fcn.0040903d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x46a4b0]
call fcn.00416d44
pop ecx
mov ecx, dword [ebp - 4]
push eax
push esi
push dword [0x46a4a8]
call fcn.00424873
jmp case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
jne 0x405320
mov esi, dword [esi + 0x10]
test esi, esi
lea eax, [esi + 0x2c]
jne 0x405320
mov eax, ebx
mov ecx, dword [0x46a4b0]
movsx ecx, byte [ecx]
push ecx
mov ecx, dword [ebp - 4]
push eax
call fcn.00423de4
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x405346
mov esi, eax
jmp 0x405354
mov esi, dword [esi + 0x10]
test esi, esi
je 0x405352
add esi, 0x2c
jmp 0x405354
mov esi, ebx
mov ecx, dword [ebp - 4]
push 0
push 4
call fcn.0040903d
dec eax
neg eax
sbb al, al
inc al
push eax
push dword [0x46a4b4]
call fcn.00416d44
pop ecx
mov ecx, dword [ebp - 4]
push eax
mov eax, dword [0x46a4b0]
movsx eax, byte [eax]
push eax
push esi
push dword [0x46a4a8]
call fcn.00424dbb
jmp case.0x40346d.3
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
jne 0x4053a8
mov esi, dword [esi + 0x10]
test esi, esi
lea eax, [esi + 0x2c]
jne 0x4053a8
mov eax, ebx
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push eax
call fcn.00423d09
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
jne 0x4053d2
mov esi, dword [esi + 0x10]
test esi, esi
lea eax, [esi + 0x2c]
jne 0x4053d2
mov eax, ebx
mov ecx, dword [ebp - 4]
push eax
call fcn.0042ba88
jmp 0x404fad
push dword [0x46a4a8]
call fcn.00448107
jmp 0x4041e1
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.004243c2
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0042bc9c
jmp 0x404fad
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
call fcn.0042b78e
jmp 0x404fad
push dword [0x46a4c8]
mov ecx, dword [ebp - 4]
push dword [0x46a4c4]
push dword [0x46a4c0]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042b61c
jmp 0x404fad
push 0
push 4
jmp 0x4054f7
push 7
push dword [0x46a4a8]
call fcn.00416e5d
cmp eax, 7
pop ecx
pop ecx
jne 0x4054aa
push 0
push 1
jmp 0x4054f7
cmp byte [esi + 0xcf], 0
je 0x4054dc
cmp dword [0x46ab90], 0
jle 0x4054c4
dec dword [0x46ab90]
jmp 0x4054ce
mov dword [0x46ab90], 0x18f
mov ecx, dword [0x46ab90]
and dword [ecx*4 + 0x46a550], 0
cmp eax, 1
sete al
mov byte [esi + 0xcf], al
jmp case.0x40346d.3
push 0
push 2
jmp 0x4054f7
push 0
push 3
call fcn.0044c66d
pop ecx
jmp 0x4040e7
mov eax, dword [esi + 0x50]
cmp eax, 0x63
jae 0x405519
mov eax, dword [eax*4 + 0x467980]
test eax, eax
je 0x405519
mov eax, dword [eax]
jmp 0x40551b
xor eax, eax
mov ecx, dword [ebp - 4]
mov cl, byte [ecx + 1]
test cl, cl
push eax
jne 0x40553b
push ecx
fldz
push ecx
fstp qword [esp]
push 0
push 0x10000
push str.Press_OK_to_continue.
jmp 0x40557c
cmp cl, 1
jne 0x405556
push ecx
fldz
push ecx
fstp qword [esp]
push 0
push 0x10000
push dword [0x46a4a8]
jmp 0x40557c
mov ecx, dword [ebp - 4]
push 3
call fcn.004090d1
push ecx
push ecx
mov ecx, dword [ebp - 4]
fstp qword [esp]
push dword [0x46a4ac]
push 0
call fcn.0040903d
push eax
push dword [0x46a4b0]
call fcn.0043c205
xor ecx, ecx
add esp, 0x18
test eax, eax
setne cl
mov esi, ecx
jmp 0x405ffd
mov eax, dword [0x46a4c4]
cmp byte [eax], 0
je 0x4055ab
mov ecx, dword [ebp - 4]
push 7
call fcn.0040903d
mov dword [ebp - 0x28], eax
jmp 0x4055b2
mov dword [ebp - 0x28], CreateStatusWindowA
mov eax, dword [0x46a4c0]
cmp byte [eax], 0
je 0x4055ca
mov ecx, dword [ebp - 4]
push 6
call fcn.0040903d
mov ebx, eax
jmp 0x4055cf
mov ebx, 0x80000000
mov eax, dword [0x46a4bc]
cmp byte [eax], 0
je 0x4055e7
mov ecx, dword [ebp - 4]
push 5
call fcn.0040903d
mov edi, eax
jmp 0x4055ec
mov edi, 0x80000000
mov eax, dword [0x46a4b8]
cmp byte [eax], 0
je 0x405604
mov ecx, dword [ebp - 4]
push 4
call fcn.0040903d
mov esi, eax
jmp 0x405609
mov esi, 0x80000000
push dword [0x46a4d0]
mov ecx, dword [ebp - 4]
push 9
call fcn.004090d1
mov eax, dword [0x46a4b4]
movsx eax, byte [eax]
push ecx
push ecx
fstp qword [esp]
push dword [ebp - 0x28]
push ebx
push edi
push esi
push eax
call fcn.00442990
cmp eax, 0x48
sete al
pop ecx
push eax
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [ebp - 8]
call fcn.00425c34
add esp, 0x2c
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x40566e
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
mov esi, eax
jmp 0x405670
xor esi, esi
mov eax, dword [0x46a4a8]
cmp byte [eax], 0
je 0x405686
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
jmp 0x40568b
mov eax, 0xc8
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push esi
push eax
call fcn.00427aff
jmp 0x404fad
mov eax, dword [0x46725c]
test eax, eax
je 0x4056c6
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4056c6
push dword [0x46725c]
call dword [sym.imp.USER32.dll_DestroyWindow]
and dword [0x46725c], 0
jmp case.0x40346d.3
push 0
push ebx
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
call fcn.00426bbd
jmp 0x404fad
push 1
push dword [0x46a4a8]
push dword [0x46a4bc]
push dword [0x46a4b8]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
jmp 0x4056f3
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042a450
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0042a6d4
jmp 0x404fad
mov ecx, dword [ebp - 4]
call fcn.0040c8cc
jmp 0x404fad
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x4057b8
push str.Screen
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x4057b8
push str.Relative
push dword [0x46a4ac]
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne case.0x40346d.3
xor bl, bl
jmp 0x4057ba
mov bl, 1
push dword [0x46a4a8]
call fcn.004164d8
test al, al
pop ecx
je case.0x40346d.3
test bl, bl
je 0x4057dd
or byte [esi + 0xc8], al
jmp case.0x40346d.3
not al
and byte [esi + 0xc8], al
jmp case.0x40346d.3
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
add esi, 0xc7
cmp al, 0x64
mov byte [esi], al
jbe case.0x40346d.3
mov byte [esi], 2
jmp case.0x40346d.3
add esi, 0xac
push dword [esi]
push dword [0x46a4a8]
call fcn.0041709f
pop ecx
pop ecx
mov dword [esi], eax
jmp case.0x40346d.3
push str.Play
push dword [0x46a4b0]
call fcn.00442502
pop ecx
test eax, eax
mov eax, dword [0x46a4a8]
pop ecx
jne 0x405875
cmp byte [eax], 0
je 0x405855
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
mov dword [esi + 0x60], eax
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je case.0x40346d.3
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
mov dword [esi + 0x68], eax
jmp case.0x40346d.3
cmp byte [eax], 0
je 0x405887
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
mov dword [esi + 0x5c], eax
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je case.0x40346d.3
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
mov dword [esi + 0x64], eax
jmp case.0x40346d.3
push str.Play
push dword [0x46a4ac]
call fcn.00442502
test eax, eax
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
push 0
jne 0x4058cf
call fcn.0040903d
mov dword [esi + 0x70], eax
jmp case.0x40346d.3
call fcn.0040903d
mov dword [esi + 0x6c], eax
jmp case.0x40346d.3
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
mov dword [esi + 0x54], eax
jmp case.0x40346d.3
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
mov dword [esi + 0x58], eax
jmp case.0x40346d.3
push 0x45cdd0
push dword [0x46a4a8]
call fcn.00439733
test eax, eax
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
push 0
je 0x40592f
or dword [esi], 0xffffffff
or dword [esi + 4], 0xffffffff
call fcn.0040903d
mov dword [esi + 0x24], eax
jmp case.0x40346d.3
or dword [esi + 0x24], 0xffffffff
call fcn.0040903d
mov dword [esi], eax
or eax, edx
mov dword [esi + 4], edx
jne case.0x40346d.3
and dword [esi + 4], 0
mov dword [esi], 0xa
jmp case.0x40346d.3
push 7
push dword [0x46a4a8]
call fcn.00416e5d
cmp eax, 7
pop ecx
pop ecx
je case.0x40346d.3
cmp eax, 1
sete al
mov byte [esi + 0xca], al
jmp case.0x40346d.3
push dword [0x46a4a8]
call fcn.0041724f
dec eax
pop ecx
je 0x4059e9
dec eax
je 0x4059dd
dec eax
je 0x4059d1
dec eax
je 0x4059c5
dec eax
je 0x4059b9
dec eax
je 0x4059ad
push dword [0x46a4a8]
push 0
push str.Requires_1_2_3_Slow_Fast__The_current_thread_will_exit.
jmp 0x404400
mov byte [esi + 0xc1], 0
jmp case.0x40346d.3
mov byte [esi + 0xc1], 1
jmp case.0x40346d.3
mov dword [esi + 0x20], 4
jmp case.0x40346d.3
mov dword [esi + 0x20], 3
jmp case.0x40346d.3
mov dword [esi + 0x20], 2
jmp case.0x40346d.3
xor eax, eax
inc eax
mov dword [esi + 0x20], eax
mov esi, eax
jmp 0x406005
push 5
push str.Float
push dword [0x46a4a8]
call fcn.00442545
add esp, 0xc
test eax, eax
jne 0x405aca
mov ecx, dword [ebp - 4]
push 1
call fcn.0040c597
cmp eax, 0x1e
jae case.0x40346d.3
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
push 0x2e
push dword [0x46a4ac]
mov edi, eax
mov ebx, edx
call fcn.00457de0
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x28], eax
je 0x405a54
inc eax
push eax
call fcn.00401f02
pop ecx
jmp 0x405a58
xor eax, eax
xor edx, edx
add eax, edi
adc edx, ebx
add eax, 2
adc edx, 0
mov dword [ebp - 0x18], edx
js 0x405a78
jg case.0x40346d.3
cmp eax, 0xff
ja case.0x40346d.3
push 0
push 1
push 1
push 1
push dword [0x46a4ac]
call fcn.00401fbc
add esp, 0x14
test eax, eax
mov ecx, 0x45cd94
jne 0x405a9c
mov ecx, 0x45a5d8
cmp dword [ebp - 0x28], 0
mov eax, 0x45a5d8
jne 0x405aac
mov eax, 0x45cd90
push ecx
push eax
push dword [0x46a4ac]
add esi, 0x74
push str.___s_s_s
push esi
call fcn.0040a7af
add esp, 0x14
jmp case.0x40346d.3
push 7
push str.Integer
push dword [0x46a4a8]
call fcn.00442545
add esp, 0xc
test eax, eax
jne case.0x40346d.3
mov eax, dword [0x46a4ac]
mov al, byte [eax]
cmp al, 0x44
je 0x405b0e
cmp al, 0x48
je 0x405b02
cmp al, 0x64
je 0x405b0e
cmp al, 0x68
jne case.0x40346d.3
mov byte [esi + 0xcc], 1
jmp case.0x40346d.3
mov byte [esi + 0xcc], 0
jmp case.0x40346d.3
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
call fcn.004251a4
jmp 0x404fad
push dword [0x46a4b8]
mov ecx, edi
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00437866
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, edi
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00435956
jmp 0x404fad
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.00432f4c
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.00433cb3
jmp 0x404fad
xor esi, esi
push esi
push dword [0x46a4a8]
call fcn.00416f62
sub eax, esi
pop ecx
pop ecx
je 0x405c08
dec eax
je 0x405bf1
dec eax
je 0x405be2
sub eax, 3
je 0x405bfe
dec eax
dec eax
jmp 0x405bf8
cmp byte [0x4673a4], 0
je case.0x40346d.3
jmp 0x405bfe
cmp byte [0x4673a4], 0
jne case.0x40346d.3
call fcn.0041ae24
jmp case.0x40346d.3
push dword [0x46a4a8]
push esi
push str.Parameter_1_invalid
jmp 0x404400
mov ecx, dword [ebp - 4]
push 1
call fcn.0040903d
test eax, eax
setne al
push eax
push 0
push dword [0x46a4a8]
call fcn.00416f0b
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
push eax
call fcn.00416066
jmp 0x404fad
push 7
push dword [0x46a4a8]
call fcn.00416e5d
cmp eax, 7
pop ecx
pop ecx
je case.0x40346d.3
cmp eax, 1
sete al
mov byte [esi + 0xcb], al
jmp case.0x40346d.3
push dword [0x46a4a8]
call fcn.00417119
add esi, 0xc9
cmp al, 4
pop ecx
mov byte [esi], al
jne case.0x40346d.3
mov byte [esi], 0
jmp case.0x40346d.3
push 7
push dword [0x46a4a8]
call fcn.00416e5d
cmp eax, 7
pop ecx
pop ecx
je case.0x40346d.3
cmp eax, 1
sete al
mov byte [esi + 0xc2], al
jmp case.0x40346d.3
push 7
push dword [0x46a4a8]
call fcn.00416e5d
cmp eax, 7
pop ecx
pop ecx
je case.0x40346d.3
cmp eax, 1
sete al
mov byte [esi + 0xc3], al
jmp case.0x40346d.3
push dword [0x46a4a8]
call fcn.00416109
xor esi, esi
inc esi
cmp eax, esi
pop ecx
je 0x405d44
cmp eax, 2
je 0x405d40
cmp eax, 7
jle 0x406005
cmp eax, 0xb
jle 0x405d36
cmp eax, 0xc
je 0x405d25
cmp eax, 0xd
jne 0x406005
mov byte [0x467c8b], 0
jmp 0x406005
mov byte [0x467c8b], 1
call fcn.00411427
jmp 0x406005
mov dword [0x465118], eax
jmp 0x406005
push 0
jmp 0x405d45
push esi
call fcn.0041ad7b
pop ecx
jmp 0x406005
push dword [0x46a4a8]
push str._a_a_a_v
push 0x90
call fcn.00428d0d
add esp, 0xc
jmp 0x404fad
push dword [0x46a4a8]
push 0x465110
push 0x14
jmp 0x405d60
push dword [0x46a4a8]
push 0x465114
push 0x91
jmp 0x405d60
xor esi, esi
inc esi
push esi
mov ecx, edi
call fcn.0041ad52
jmp 0x406005
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
cmp eax, 0x19
jge 0x4041d8
test eax, eax
jle 0x4041d8
jmp 0x4041c3
push dword [0x46a4b8]
mov ecx, dword [ebp - 4]
push dword [0x46a4b4]
push dword [0x46a4b0]
push dword [0x46a4ac]
call fcn.0041ac43
jmp 0x404fad
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
push dword [0x46a4b0]
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0041acd2
jmp 0x404fad
mov ecx, dword [ebp - 4]
cmp byte [ecx + 1], 3
sbb eax, eax
not eax
and eax, dword [0x46a4b0]
push eax
push dword [0x46a4ac]
push dword [0x46a4a8]
call fcn.0041abc5
jmp 0x404fad
mov eax, dword [ebp - 4]
mov al, byte [eax + 1]
cmp al, 2
jae 0x405e5c
mov esi, dword [esi + 0x14]
test esi, esi
je 0x405e5c
mov ecx, dword [ebp - 4]
lea eax, [esi + 0x408]
push eax
lea eax, [esi + 8]
push eax
push dword [esi + 4]
call fcn.0041a5e2
jmp 0x404fad
cmp al, 4
ja 0x405e8f
push dword [0x46a4ac]
call fcn.0041a3cd
test eax, eax
pop ecx
jne 0x405e8f
lea eax, [ebp - 9]
push eax
push dword [0x46a4ac]
call fcn.0041a263
pop ecx
pop ecx
push dword [0x46a4b4]
push dword [0x46a4b0]
jmp 0x405eac
lea eax, [ebp - 9]
push eax
push dword [0x46a4b0]
call fcn.0041a263
pop ecx
pop ecx
push dword [0x46a4b8]
push dword [0x46a4b4]
mov ecx, dword [ebp - 4]
mov edi, eax
push edi
call fcn.0041a5e2
jmp 0x405fb9
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 2
jae 0x405ef3
mov esi, dword [esi + 0x14]
test esi, esi
je 0x405ef3
push dword [0x46a4a8]
mov ecx, dword [ebp - 4]
lea eax, [esi + 0x408]
push eax
lea eax, [esi + 8]
push eax
push dword [esi + 4]
push dword [esi + 0x808]
call fcn.0041a93b
jmp 0x404fad
lea eax, [ebp - 9]
push eax
push dword [0x46a4ac]
call fcn.0041a263
pop ecx
pop ecx
push dword [0x46a4b8]
mov edi, eax
push dword [0x46a4b4]
push dword [0x46a4b0]
push edi
push dword [0x46a4a8]
call fcn.0041a3cd
pop ecx
mov ecx, dword [ebp - 4]
push eax
call fcn.0041a93b
jmp 0x405fb9
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 1
jae 0x405f91
mov eax, dword [esi + 0x14]
test eax, eax
je 0x405f91
cmp dword [eax + 0x808], 0xfffffffe
lea ecx, [eax + 0x408]
push ecx
jne 0x405f8b
add eax, 8
push eax
push 0x45c4ec
lea eax, [ebp - 0x490]
push 0x400
push eax
call fcn.0040a6d3
add esp, 0x14
lea eax, [ebp - 0x490]
push ebx
push eax
mov eax, dword [esi + 0x14]
push dword [eax + 4]
mov ecx, dword [ebp - 4]
call fcn.0041a511
jmp 0x404fad
lea ecx, [eax + 8]
push ecx
jmp 0x405f7b
lea eax, [ebp - 9]
push eax
push dword [0x46a4a8]
call fcn.0041a263
pop ecx
pop ecx
push dword [0x46a4b0]
mov ecx, dword [ebp - 4]
push dword [0x46a4ac]
mov edi, eax
push edi
call fcn.0041a511
cmp byte [ebp - 9], 0
mov esi, eax
je 0x405ffd
test edi, edi
je 0x405ffd
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x405ffd
push dword [0x46a4a8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor esi, esi
inc esi
jmp 0x406005
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
push eax
call fcn.0042caa7
neg al
pop ecx
sbb eax, eax
neg eax
jmp 0x404fad
xor esi, esi
test esi, esi
je 0x40616c
cmp dword [ebp + 8], 3
je 0x40616c
jmp 0x4060f8
mov eax, dword [ebp - 0x5c]
xor esi, esi
inc esi
add dword [0x468198], esi
push 0
pop ebx
adc dword [0x46819c], ebx
mov edi, dword [eax + 0xc]
cmp edi, ebx
jne 0x40604b
push ebx
push dword [0x46a4a8]
mov ecx, 0x467ce0
call fcn.0044fb8b
mov edi, eax
cmp edi, ebx
je 0x4060ee
mov eax, dword [0x46a4ac]
cmp byte [eax], 0
je 0x40606a
push 0x45bf90
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x40606a
mov al, 1
jmp 0x40606c
xor al, al
lea ecx, [ebp - 0x24]
push ecx
push ebx
push eax
mov ecx, edi
call fcn.0044fd12
cmp dword [ebp - 0x24], ebx
je 0x4060ee
push dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
call fcn.00427c98
test eax, eax
je 0x40620d
mov ebx, dword [ebp - 0x20]
cmp dword [ebx + 0x94], 0
je 0x406100
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
call fcn.00425c18
test eax, eax
je 0x406100
mov eax, dword [ebx + 0x94]
xor edi, edi
inc edi
and dword [ebx + 0x94], 0
mov dword [ebx + 0x98], eax
mov ecx, dword [ebp - 0x24]
call fcn.004065a4
test edi, edi
mov esi, eax
je 0x4060e1
lea eax, [ebx + 0x98]
mov ecx, dword [eax]
mov dword [ebx + 0x94], ecx
and dword [eax], 0
test esi, esi
je 0x40616c
cmp esi, 8
je 0x40616c
cmp dword [ebp + 8], 3
je 0x406214
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
jmp 0x406158
xor edi, edi
jmp 0x4060c2
cmp dword [edx + 0xc], 1
jne 0x40610f
mov eax, dword [edx + 0x18]
jmp 0x406158
mov edi, dword [ebp - 4]
mov ecx, dword [edi + 0x14]
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
push 2
call fcn.00402cc4
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
mov esi, eax
je 0x40615b
cmp dword [ebp + 8], 3
je 0x406244
cmp esi, 1
jne 0x40616c
test ecx, ecx
je 0x406152
mov eax, edi
mov eax, dword [eax + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x406241
mov dword [ebp - 4], ecx
jmp 0x40615b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x402f36
jmp 0x402cf9
xor esi, esi
mov eax, esi
jmp 0x402f39
xor esi, esi
inc esi
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
jmp 0x40616c
mov ecx, dword [0x466200]
xor eax, eax
cmp word [ecx], ax
jne 0x4061aa
cmp dword [0x4693e4], eax
jne 0x4061aa
cmp dword [0x467388], eax
jne 0x4061aa
cmp dword [0x46738c], eax
jne 0x4061aa
cmp byte [0x46739c], al
je 0x4061f2
push 8
pop eax
jmp 0x402f39
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4061c1
mov ecx, dword [0x46a4a8]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
jmp 0x402f39
push dword [0x46a4ac]
push ebx
push str.Parameter_2_invalid__The_current_thread_will_exit.
jmp 0x406234
push dword [0x46a4b0]
push ebx
push str.Parameter_3_invalid__The_current_thread_will_exit.
jmp 0x406234
push 5
jmp 0x4061ac
mov ecx, dword [ebp - 4]
push 0
call fcn.0040903d
push eax
push 0
push 9
mov ecx, edi
call fcn.00417d99
jmp 0x402f39
xor eax, eax
jmp 0x402f39
cmp esi, 7
jne 0x40616c
jmp 0x402f36
cmp dword [ebp + 8], 2
je 0x402f36
push ebx
push 0
push str.A__return__must_be_encountered_prior_to_this___.__The_current_thread_will_exit.
mov ecx, dword [ebp - 4]
call fcn.0044c1bc
jmp 0x402f39
xor esi, esi
inc esi
mov eax, dword [ebp - 0x3c]
mov dword [eax], ecx
jmp 0x40616c
push 6
jmp 0x4061ac