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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4a155b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x968
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x427589
lea eax, [esp + 0x84]
mov ebx, dword [0x4c7a54]
mov edx, eax
mov esi, ecx
mov dword [esp + 0x40], eax
mov dword [edx], 0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], esi
test ecx, ecx
je case.0x4278c4.116
mov edi, dword [esp + 0x84]
cmp dword [0x4cc514], 0
je 0x4275ee
cmp dword [0x4cc504], 0
je 0x4275dc
mov eax, dword [0x4cc4fc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [0x4cc504], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
mov dword [0x4cc514], eax
mov dword [0x4cc4fc], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x4c7a54]
mov ecx, eax
sub ecx, dword [0x4cd01c]
cmp ecx, dword [edx + 0xd8]
jbe 0x42763b
push 0
push 0
push 0
push 0
lea eax, [esp + 0x134]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x427630
push 1
push 0xffffffffffffffff
call fcn.00401430
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4cd01c], eax
cmp byte [ebx + 0xec], 0
jne 0x427676
cmp byte [ebx + 0xee], 0
jne 0x427676
mov edx, dword [0x4cd010]
cmp edx, 0xffffffff
jle 0x427676
mov ecx, dword [ebx + 0x28]
cmp ecx, edx
jle 0x427672
mov byte [ebx + 0xec], 1
mov dword [ebx + 0xd8], 5
jmp 0x427676
inc ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
cmp ecx, 0xffffffff
jl 0x427699
jg 0x427687
cmp edx, 0xffffffff
jbe 0x427699
cmp dword [0x4cd00c], ecx
jg 0x4276ab
jl 0x427699
cmp dword [0x4cd008], edx
jae 0x4276ab
mov ecx, dword [ebx + 0x24]
cmp ecx, 0xffffffff
jle 0x4276b7
sub eax, dword [0x4cd018]
cmp eax, ecx
jb 0x4276b7
push 1
push 0xa
call fcn.00401430
add esp, 8
cmp byte [ebx + 0xf8], 0
je 0x4276d8
push 1
push 0x8000012f
call fcn.00401430
add esp, 8
cmp byte [ebx + 0xf8], 0
jne 0x4276c0
mov dword [0x4ccb4c], esi
cmp byte [ebx + 0xf9], 0
je 0x427720
mov ecx, dword [0x4cbe34]
mov dword [ecx*4 + 0x4cbe38], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x4cbe34]
mov dword [ecx*4 + 0x4cae58], eax
inc ecx
mov dword [0x4cbe34], ecx
cmp ecx, 0x190
jl 0x427720
mov dword [0x4cbe34], 0
mov al, byte [esi]
cmp al, 1
je 0x427749
cmp al, 0x6b
je 0x427749
cmp al, 0x72
je 0x427749
mov ebx, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push ebx
push esi
call fcn.0045d200
mov edi, eax
cmp edi, 1
jne 0x42bb61
jmp 0x42774c
mov ebx, dword [ebp + 0xc]
mov dl, byte [esi]
mov byte [esp + 0xdc], dl
cmp dl, 9
jb 0x4278ac
cmp dl, 0x20
ja 0x4278ac
add dword [0x4cd008], 1
push esi
adc dword [0x4cd00c], 0
call fcn.0042c470
cmp eax, 3
jne 0x42780c
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x75
jne 0x4277af
lea esp, [esp]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x24]
push edx
push ebx
push 2
call fcn.00427550
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
je 0x427790
jmp 0x4277c2
lea eax, [esp + 0x24]
push eax
push ebx
push 3
call fcn.00427550
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, esi
je 0x4289db
cmp dword [ebp + 8], 3
je 0x42bb5b
cmp edi, 1
jne 0x42bb5b
test eax, eax
je 0x4277f2
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x42bb7d
jmp 0x4289d3
mov esi, dword [esi + 0x18]
cmp byte [esi], 0x21
mov dword [esp + 0x10], esi
jne 0x4289d7
mov edx, esi
mov eax, dword [edx + 0x18]
jmp 0x4289d3
mov esi, dword [esi + 0x18]
cmp byte [esi], 0x21
mov dword [esp + 0x10], esi
jne 0x427886
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x75
jne 0x42783f
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x24]
push edx
push ebx
push 2
call fcn.00427550
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
je 0x427820
jmp 0x427852
lea eax, [esp + 0x24]
push eax
push ebx
push 3
call fcn.00427550
mov edi, eax
mov eax, dword [esp + 0x24]
cmp dword [ebp + 8], 3
je 0x42bb5b
cmp edi, 1
jne 0x42bb5b
test eax, eax
je 0x42787a
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x42bb7d
jmp 0x4289d3
mov edx, dword [esi + 0x18]
mov dword [esp + 0x10], edx
jmp 0x4289d7
cmp dword [ebp + 8], 3
jne 0x4289d7
mov eax, 1
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx eax, dl
add eax, 0xffffffa0
cmp eax, 0x80
ja case.0x4278c4.98
movzx eax, byte [eax + 0x42bf98]
jmp dword [eax*4 + 0x42bf54]
mov ecx, 1
add dword [0x4cd008], ecx
adc dword [0x4cd00c], 0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42797d
xor ebx, ebx
cmp dword [esi + 0xc], ecx
mov edx, eax
sete bl
mov dword [esp + 0x60], edx
test ebx, ebx
je 0x427914
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xb4]
mov dword [eax + 0xb8], ecx
mov dword [eax + 0xb4], 0
mov ecx, edx
call fcn.004012f0
mov edi, eax
test ebx, ebx
je 0x42793b
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0xb8]
mov dword [eax + 0xb4], edx
mov dword [eax + 0xb8], 0
test edi, edi
je 0x42bb61
cmp edi, 8
je 0x42bb61
cmp dword [ebp + 8], 3
jne 0x4289d0
mov eax, 1
cmp edi, 7
je 0x427895
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push esi
mov bl, cl
call fcn.00444d00
mov edx, eax
mov dword [esp + 0x60], edx
test edx, edx
je 0x42be8e
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 0xb4], 0
je 0x4279b6
mov eax, dword [edx + 8]
call fcn.00444dc0
test eax, eax
je 0x4279b6
mov ebx, 1
jmp 0x4278fa
xor ebx, ebx
jmp 0x427914
add dword [0x4cd008], 1
adc dword [0x4cd00c], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x4279ea
push esi
mov bl, 1
call fcn.00444d00
mov dword [esp + 0x60], eax
test eax, eax
je 0x42be8e
cmp dword [ebp + 8], 3
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0xbc], eax
je 0x42bb7a
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x1c]
cmp edx, dword [ecx + 0x1c]
jne 0x42bb7a
mov dword [esp + 0x10], ecx
jmp 0x4289d7
add dword [0x4cd008], 1
mov eax, dword [esp + 0x94]
adc dword [0x4cd00c], 0
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x427a62
mov eax, dword [0x4cb4f0]
mov edi, eax
cmp word [eax], bx
je 0x427a60
mov ebx, dword [0x4cc550]
test ebx, ebx
je 0x427a60
mov ecx, dword [ebx + 4]
push edi
push ecx
call fcn.00490f59
add esp, 8
test eax, eax
je 0x427a62
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x427a48
xor ebx, ebx
xor eax, eax
mov edi, 1
test ebx, ebx
je 0x427b6a
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x427a92
push 0x4a7e74
push eax
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x427a92
mov al, 1
jmp 0x427a94
xor al, al
lea edx, [esp + 0x60]
push edx
push eax
push ebx
call fcn.0047d6d0
mov edx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
test edx, edx
je 0x427b66
mov eax, dword [edx + 8]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x427af8
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x427acc
cmp edi, ecx
je 0x427af8
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x427ac1
push 0x4a4910
push 0
push 0x4aee88
mov ecx, esi
call fcn.004309e0
xor eax, eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [esp + 0x48]
mov edi, dword [ebx + 0xb4]
test edi, edi
je 0x427b96
call fcn.00444dc0
test eax, eax
je 0x427b96
mov dword [esp + 0x1c], 1
mov dword [ebx + 0xb8], edi
mov dword [ebx + 0xb4], 0
mov ecx, edx
call fcn.004012f0
cmp dword [esp + 0x1c], 0
mov edi, eax
je 0x427b55
mov eax, dword [ebx + 0xb8]
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb8], 0
test edi, edi
je 0x42bb61
cmp edi, 8
je 0x42bb61
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, dword [esp + 0x94]
sete cl
movzx edx, cl
push edx
push eax
call fcn.00430680
cmp dword [ebp + 8], 3
je 0x427956
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x4289d7
mov dword [esp + 0x1c], 0
jmp 0x427b2f
mov eax, dword [esi + 0xc]
mov dword [esp + 0x18], eax
dec eax
je 0x427bf1
sub eax, 3
je 0x427bd7
sub eax, 5
jne 0x427c69
mov edx, dword [0x4cb4f4]
push eax
push eax
push edx
mov eax, 1
call fcn.00416110
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x427c69
mov eax, dword [0x4cb4f0]
push 0
push 0
push eax
xor eax, eax
call fcn.00416110
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x427c69
movzx eax, byte [esi + 1]
sub eax, 0
je 0x427c61
dec eax
je 0x427c1f
mov ecx, dword [0x4cb4f0]
push 0x4aa934
push ecx
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x427c38
mov dword [esp + 0x18], 5
jmp 0x427c69
mov eax, dword [0x4cb4f0]
push 0
push 1
push 1
push 1
call fcn.004771e0
add esp, 0x10
test eax, eax
jne 0x427c61
mov edx, dword [0x4cb4f0]
push 0
push 0
push edx
xor eax, eax
call fcn.00416110
xor ecx, ecx
add esp, 0xc
test eax, eax
setne cl
mov dword [esp + 0x64], eax
add ecx, 3
mov dword [esp + 0x18], ecx
jmp 0x427c69
mov dword [esp + 0x18], 2
mov ecx, dword [esp + 0x18]
lea eax, [ecx - 3]
cmp eax, 7
ja case.0x427c80.5
movzx edx, byte [eax + 0x42c028]
jmp dword [edx*4 + 0x42c01c]
mov esi, dword [0x4cb4f4]
call fcn.004169a0
mov dword [esp + 0x54], eax
test eax, eax
je 0x42bc62
mov eax, dword [0x4cb4f8]
cmp word [eax], 0x31
jne 0x427cbe
cmp word [eax + 2], 0
jne 0x427cbe
mov esi, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
mov byte [esp + 0x5c], 1
jmp case.0x427c80.5
mov esi, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
mov byte [esp + 0x5c], 0
jmp case.0x427c80.5
cmp ecx, 4
jne 0x427d0e
mov esi, dword [0x4cb4f8]
call fcn.004169a0
mov dword [esp + 0x54], eax
mov eax, dword [0x4cb4fc]
cmp word [eax], 0x31
jne 0x427d00
cmp word [eax + 2], 0
jne 0x427d00
mov esi, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
mov byte [esp + 0x5c], 1
jmp 0x427d2c
mov esi, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
mov byte [esp + 0x5c], 0
jmp 0x427d2c
mov eax, dword [0x4cb4f8]
call fcn.004169f0
mov dword [esp + 0x54], eax
shr eax, 2
and al, 1
mov byte [esp + 0x5c], al
je 0x427d2c
and dword [esp + 0x54], 0xfffffffb
cmp dword [esp + 0x54], 0
je 0x42bc90
xor edx, edx
mov byte [esp + 0x23], 0
mov dword [esp + 0x24], edx
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x6c
mov dword [esp + 0x1c], eax
jne 0x427d5b
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], eax
jmp 0x427d5f
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xb4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 8
je 0x427da6
mov dword [eax + 8], 1
mov dword [eax + 0xc], edx
lea eax, [ecx - 2]
cmp eax, 8
ja case.default.0x427db2
jmp dword [eax*4 + 0x42c030]
cmp byte [esi + 1], dl
jbe 0x427dd4
xor edi, edi
mov ecx, esi
call fcn.00423800
mov ebx, dword [ebp + 0xc]
mov byte [esp + 0xac], 0
jmp 0x427de0
xor eax, eax
xor edx, edx
mov byte [esp + 0xac], 1
mov ecx, dword [esp + 0xac]
push ecx
push edx
mov edx, dword [esp + 0x1c]
push eax
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x37]
push ecx
push ebx
mov edi, esi
call fcn.0042dad0
mov edi, eax
jmp case.default.0x427db2
mov ebx, dword [ebp + 0xc]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x27]
push eax
call fcn.0042dc30
mov esi, dword [esp + 0x10]
mov edi, eax
jmp case.default.0x427db2
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x2b]
push eax
push ebx
push esi
call fcn.0042de20
mov edi, eax
jmp case.default.0x427db2
mov ecx, dword [0x4cb4f8]
push 0x4abf44
push ecx
call fcn.00490f59
mov edx, dword [esp + 0x1c]
add esp, 8
push edx
test eax, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x2b]
push ecx
push ebx
push esi
je 0x427e77
call fcn.0042ee10
mov edi, eax
jmp case.default.0x427db2
call fcn.0042f100
mov edi, eax
jmp case.default.0x427db2
lea esi, [esp + 0xec]
call fcn.00417040
mov dword [esp + 0x97c], 0
mov edx, dword [0x4cb4f4]
cmp word [edx], 0
je 0x427ef2
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0xfc]
and eax, 0x7fffffff
push 0x30c
mov ecx, esi
call fcn.00474e10
test al, al
je 0x427ef2
mov ecx, dword [0x4cb4f8]
mov ebx, dword [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x2b]
push eax
push ecx
mov ecx, esi
call fcn.0042f410
mov edi, eax
call fcn.00416fa0
jmp 0x427ef7
mov edi, 1
lea ecx, [esp + 0xec]
mov dword [esp + 0x97c], 0xffffffff
call fcn.00417090
mov esi, dword [esp + 0x10]
jmp case.default.0x427db2
cmp dword [esp + 0x18], 3
mov eax, dword [0x4cb4f0]
je 0x427f28
mov eax, dword [0x4cb4f4]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x58]
push edx
push eax
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x37]
push eax
push ebx
mov ecx, esi
call fcn.0042e290
mov edi, eax
jmp case.default.0x427db2
cmp dword [esp + 0x18], 4
lea ecx, [esp + 0x53]
push ecx
jne 0x427f7f
mov edx, dword [0x4cb4f0]
push 0
push edx
xor eax, eax
call fcn.00416110
mov dword [esp + 0x34], eax
mov eax, dword [0x4cb4f4]
mov dword [esp + 0x9c], eax
jmp 0x427f9b
mov eax, dword [0x4cb4f4]
lea edx, [esp + 0x94]
push edx
push eax
mov eax, 1
call fcn.00416110
mov dword [esp + 0x34], eax
add esp, 0xc
cmp dword [esp + 0x28], 0
je 0x427fee
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3f]
push edx
push ebx
mov ecx, esi
call fcn.0042ea00
cmp byte [esp + 0x53], 0
mov edi, eax
je case.default.0x427db2
mov eax, dword [esp + 0x28]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp case.default.0x427db2
mov edi, 1
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
test edi, edi
je 0x42bb61
cmp edi, 7
je 0x42bb61
cmp edi, 8
je 0x42bb61
cmp byte [esp + 0x23], 0
jne 0x4289db
mov eax, dword [esp + 0x24]
test eax, eax
je 0x42806b
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x42bcbb
mov dword [esp + 0x10], eax
mov esi, eax
jmp 0x4289db
cmp dword [ebp + 8], 3
je case.0x4278c4.116
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
jmp 0x4289d7
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x100]
mov dword [esp + 0x78], eax
cmp dl, 0x70
jne 0x4280db
mov ebx, dword [0x4cb498]
mov eax, dword [ecx + 0x104]
mov dword [esp + 0x30], eax
mov dword [ecx + 0x104], 0
test ebx, ebx
je 0x4280bc
call fcn.00479fd0
mov edi, eax
jmp 0x4280c1
mov edi, 1
lea esi, [esp + 0x30]
call fcn.004311c0
test edi, edi
je 0x42be8e
mov esi, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
jmp 0x4280f5
or eax, 1
mov dword [ecx + 0x100], eax
mov edx, dword [esi + 0x18]
cmp byte [edx], 0x71
je 0x4280f5
or eax, 2
mov dword [ecx + 0x100], eax
mov dword [esp + 0x24], 0
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x75
jne 0x428124
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x24]
push eax
push ebx
push 2
call fcn.00427550
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x24]
mov edi, eax
cmp edx, ecx
je 0x428105
jmp 0x428137
lea edx, [esp + 0x24]
push edx
push ebx
push 3
call fcn.00427550
mov edx, dword [esp + 0x24]
mov edi, eax
mov al, byte [esp + 0xdc]
mov esi, dword [esi + 0x18]
mov dword [esp + 0x10], esi
cmp al, 0x6f
jne 0x4281a7
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov dword [ebx + 0x100], eax
xor al, al
cmp byte [esi], 0x70
jne 0x428178
cmp dword [ebx + 0x104], 0
mov al, 1
jne 0x4289d7
mov ecx, esi
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x10], ecx
mov esi, ecx
cmp byte [esi], 0x71
je 0x4281bc
test al, al
jne 0x42827a
cmp dword [ebx + 0x104], 0
lea esi, [ebx + 0x104]
je 0x42827a
call fcn.004311c0
mov edi, 1
jmp 0x428276
cmp al, 0x70
jne 0x42827a
cmp byte [esi], 0x71
jne 0x42827a
mov ebx, dword [esp + 0x48]
cmp edi, 1
jne 0x4281cd
test edx, edx
je 0x4289d7
mov esi, dword [esp + 0x10]
mov ecx, dword [0x4cc47c]
mov edx, dword [ebx + 0x104]
mov dword [esp + 0x44], ecx
xor eax, eax
lea ecx, [esp + 0xc4]
push ecx
mov dword [esp + 0x20], edx
mov edx, dword [0x4cc480]
push eax
push 3
mov ecx, esi
mov dword [ebx + 0x104], eax
mov dword [esp + 0x3c], edx
mov dword [0x4cc47c], eax
mov dword [0x4cc480], eax
call fcn.00427550
cmp dword [esp + 0x44], 0
mov dword [esp + 0x3c], eax
je 0x428251
mov eax, dword [0x4cc47c]
test eax, eax
je 0x42823e
push eax
call fcn.004915f6
add esp, 4
cmp dword [0x4cc480], 0x400000
jbe 0x42823e
dec dword [0x4cc484]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov dword [0x4cc47c], edx
mov dword [0x4cc480], eax
mov eax, dword [esp + 0x3c]
cmp eax, 1
jne 0x42bcc6
cmp dword [esp + 0xc4], 0
jne 0x42bcc6
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x104], ecx
mov edx, dword [esp + 0x24]
cmp dword [ebp + 8], 3
je 0x42bd24
cmp edi, 1
jne 0x42bd24
test edx, edx
je 0x4289d7
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jne 0x42bd19
mov dword [esp + 0x10], edx
jmp 0x4289d7
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x4289d7
mov ebx, dword [0x4cc47c]
mov ecx, dword [0x4cc480]
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [0x4cc47c], eax
mov dword [0x4cc480], eax
mov dword [esp + 0xa4], eax
cmp dword [esi + 0xc], eax
jne 0x4282fa
mov dword [esp + 0xa0], 0x44
lea edi, [eax + 1]
jmp 0x428356
push 5
lea edx, [esp + 0x1c]
push edx
push 0
push esi
lea ebx, [esp + 0x24]
lea esi, [esp + 0xa8]
call fcn.0045cc60
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov edi, eax
cmp edi, 1
jne 0x428597
cmp dword [esp + 0xa0], 5
jne 0x428356
cmp dword [esp + 0x98], ebx
jne 0x428356
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], ebx
xor ebx, ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0x74
mov dword [esp + 0x28], eax
jne 0x428545
lea esp, [esp]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x42838b
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x1c], edx
jmp 0x428527
mov dword [esp + 0x44], 0
test eax, eax
jle 0x428527
jmp 0x4283a0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
push 5
lea eax, [esp + 0x1c]
push eax
push ecx
push edx
lea ebx, [esp + 0x24]
lea esi, [esp + 0x78]
call fcn.0045cc60
mov edi, eax
cmp edi, 1
jne 0x428504
cmp dword [esp + 0x70], 0
jne 0x4283ea
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
jne 0x4283ea
mov dword [esp + 0x70], 5
mov dword [esp + 0x6c], 0
cmp dword [esp + 0xa0], 0x44
lea ecx, [esp + 0x68]
push ecx
jne 0x4284c4
call fcn.00451540
add esp, 4
dec eax
je 0x4284a7
dec eax
je 0x428452
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
cmp ecx, 6
je 0x4284b9
cmp ecx, 4
jne 0x428438
cmp byte [eax + 0x17], 0
jne 0x42842e
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x4284b9
xor ecx, ecx
lea eax, [esp + 0x68]
call fcn.004517d0
xor edx, edx
cmp word [eax], dx
setne dl
mov eax, edx
jmp 0x4284d3
mov eax, dword [esp + 0x70]
dec eax
cmp eax, 5
ja case.0x42845c.3
jmp dword [eax*4 + 0x42c054]
fild qword [esp + 0x68]
jmp 0x428495
fld qword [esp + 0x68]
jmp 0x428495
mov eax, dword [esp + 0x68]
push 1
call fcn.00415710
jmp 0x428495
mov eax, dword [esp + 0x6c]
test eax, eax
je case.0x42845c.3
fild qword [eax]
jmp 0x428495
mov eax, dword [esp + 0x68]
push eax
call fcn.00492aa2
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp case.0x42845c.6
mov eax, 1
jmp 0x4284d3
push 1
lea ecx, [esp + 0x6c]
call fcn.00451690
add esp, 4
or eax, edx
je case.0x42845c.6
mov eax, 1
jmp 0x4284d3
xor eax, eax
jmp 0x4284d3
lea eax, [esp + 0x9c]
call fcn.00451ae0
add esp, 4
test eax, eax
setne bl
cmp dword [esp + 0x70], 6
jne 0x4284eb
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x42850e
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x3c]
jl 0x4283a0
jmp 0x428523
mov dword [esp + 0x1c], 0
jmp 0x428519
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x44], eax
jl 0x42853d
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x18]
cmp byte [eax], 0x74
mov dword [esp + 0x28], eax
je 0x428370
jmp 0x428541
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0xa0], 6
jne 0x42855e
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp dword [esp + 0xa4], 0
je 0x428597
test ebx, ebx
je 0x428585
push ebx
call fcn.004915f6
add esp, 4
cmp dword [esp + 0x14], 0x400000
jbe 0x428585
dec dword [0x4cc484]
mov ecx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
test ebx, ebx
je 0x4285d4
cmp dword [0x4cc47c], 0
je 0x4285c5
mov edx, dword [0x4cc47c]
push edx
call fcn.004915f6
add esp, 4
cmp dword [0x4cc480], 0x400000
jbe 0x4285c5
dec dword [0x4cc484]
mov eax, dword [esp + 0x14]
mov dword [0x4cc47c], ebx
mov dword [0x4cc480], eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4285f4
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x24]
push edx
push eax
push 2
call fcn.00427550
mov edi, eax
mov eax, dword [esp + 0x24]
jmp 0x4285fa
xor eax, eax
mov dword [esp + 0x24], eax
cmp edi, 1
jne 0x42bcbb
cmp dword [ebp + 8], 3
je 0x42bcbb
test eax, eax
je 0x42787a
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
je 0x4289d3
mov edx, dword [esp + 0x40]
mov dword [edx], eax
jmp case.0x4278c4.116
cmp dword [esi + 0xc], 1
jne 0x42863a
mov eax, dword [esi + 0x18]
jmp 0x4289d3
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esi + 0x14]
push ebx
push 2
call fcn.00427550
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, esi
je 0x4289db
cmp dword [ebp + 8], 3
je 0x42bb5b
cmp edi, 1
jne 0x42bb5b
test eax, eax
je 0x428632
mov edx, dword [esi + 0x1c]
cmp edx, dword [eax + 0x1c]
jne 0x42bb7d
mov dword [esp + 0x10], eax
mov esi, eax
jmp 0x4289db
add dword [0x4cd008], 1
mov ebx, dword [0x4cb498]
mov edi, dword [0x4c7a54]
adc dword [0x4cd00c], 0
mov cl, byte [esi]
movzx edx, cl
dec edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
cmp edx, 0xe1
ja case.0x4286c1.8
movzx edx, byte [edx + 0x42c2ec]
jmp dword [edx*4 + 0x42c06c]
push esi
call fcn.0043e6e0
jmp 0x4289bc
cmp byte [esi + 1], 1
mov edx, dword [0x4cb4f4]
jbe 0x428744
mov eax, dword [esi + 8]
cmp byte [eax + 0x11], 0
je 0x4286f2
mov edi, 1
jmp 0x4289c6
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x428705
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
jmp 0x4289b6
mov eax, dword [0x4cb49c]
test eax, eax
je 0x428744
cmp word [edx], 0
jne 0x428744
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x428721
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
dec ecx
je 0x428738
sub ecx, 2
jne 0x428744
mov eax, ebx
call fcn.0047a0e0
jmp 0x4289bc
mov ecx, ebx
call fcn.00479e50
jmp 0x4289bc
push 1
push 0
push 0xffffffffffffffff
push edx
push ebx
call fcn.0047a6b0
jmp 0x4289bc
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], 0
je 0x428772
cmp byte [eax + 0x11], 0
jne 0x428772
mov eax, 1
mov dword [esp + 0x14], eax
xor edi, edi
jmp 0x4287b3
mov edi, dword [0x4cb49c]
mov eax, dword [0x4cb4f4]
mov dword [esp + 0x14], 0
test edi, edi
je 0x4287a1
cmp word [eax], 0
jne 0x4287a1
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x42879c
mov edx, dword [edi + 0xc]
mov cl, byte [edx + 0x17]
cmp cl, 1
je 0x428804
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
push 1
mov ecx, ebx
mov dword [esp + 0x20], eax
call fcn.004155e0
mov dword [esp + 0x30], eax
mov eax, dword [0x4cb4f8]
movzx eax, word [eax]
test ax, ax
je 0x428947
call fcn.00409e20
movzx ecx, ax
push ecx
push 0x4ac014
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x428947
cmp dword [esp + 0x1c], 0
jne 0x428813
mov edi, 1
jmp 0x4289c6
test edi, edi
je 0x4287a3
push 1
mov ecx, edi
call fcn.004155e0
jmp 0x4287b3
cmp dword [esp + 0x14], 0
je 0x428824
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428842
test edi, edi
je 0x428833
push 0
mov eax, edi
call fcn.00415710
jmp 0x428842
mov esi, dword [0x4cb4f4]
call fcn.004154b0
mov esi, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
push 1
mov ecx, ebx
call fcn.00401280
cmp word [eax], 0
je 0x42888b
lea ecx, [esp + 0x88]
push ecx
push 0
push 1
mov ecx, ebx
call fcn.00401280
call fcn.00476da0
add esp, 4
test eax, eax
jne 0x4288af
push 1
push eax
push 0xffffffffffffffff
push 0x4a4910
push ebx
call fcn.0047a6b0
jmp 0x4289bc
lea edx, [esp + 0xe0]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0xe4]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov edx, dword [0x4cb4f8]
mov ax, word [edx]
call fcn.00409e20
fld qword [esp + 0x30]
movzx eax, ax
cmp eax, 0x44
je 0x4288e3
cmp eax, 0x48
je 0x4288db
cmp eax, 0x4d
jne 0x4288e9
fmul qword [0x4c1fa8]
jmp 0x4288e9
fmul qword [0x4c1fa0]
jmp 0x4288e9
fmul qword [0x4c1f98]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
call fcn.0049f586
push 0
push 0x989680
push edx
push eax
call fcn.00497120
add esi, eax
adc edi, edx
mov dword [esp + 0x88], esi
push 0
lea eax, [esp + 0x8c]
lea esi, [esp + 0x144]
mov dword [esp + 0x90], edi
call fcn.00477050
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
push ebx
call fcn.0047a6b0
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov eax, 2
cmp dword [esp + 0x1c], eax
je 0x4289ec
cmp dword [esp + 0x30], eax
je 0x4289ec
cmp dword [esp + 0x14], 0
je 0x42897b
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0xcc], ecx
jmp 0x4289a2
test edi, edi
je 0x42898a
push 0
mov eax, edi
call fcn.00415690
jmp 0x428999
mov esi, dword [0x4cb4f4]
call fcn.00415480
mov esi, dword [esp + 0x10]
mov dword [esp + 0xcc], edx
mov edi, eax
push 0
mov eax, ebx
call fcn.00415690
add eax, edi
adc edx, dword [esp + 0xcc]
push edx
push eax
push ebx
call fcn.00415550
mov edi, eax
test edi, edi
je 0x42bb61
cmp dword [ebp + 8], 3
je 0x42bb61
mov eax, dword [esi + 0x14]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x10]
test esi, esi
je case.0x4278c4.116
mov ebx, dword [esp + 0x48]
jmp 0x4275b4
cmp dword [esp + 0x14], 0
je 0x4289fd
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428a1b
test edi, edi
je 0x428a0c
push 0
mov eax, edi
call fcn.00415710
jmp 0x428a1b
mov esi, dword [0x4cb4f4]
call fcn.004154b0
mov esi, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
mov eax, ebx
call fcn.00415710
fadd qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push ebx
call fcn.00415580
jmp 0x4289bc
mov ecx, dword [0x4cb4f8]
movzx eax, word [ecx]
test ax, ax
je 0x428b2c
call fcn.00409e20
movzx edx, ax
push edx
push 0x4ac014
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x428b2c
mov ecx, dword [0x4cb49c]
mov edi, dword [0x4cb4f4]
test ecx, ecx
je 0x428aa0
cmp word [edi], 0
jne 0x428aa0
mov al, byte [ecx + 0x17]
test al, al
jne 0x428a8d
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x428aa0
test ecx, ecx
je 0x428aa0
push 0
push 1
call fcn.00401280
mov edi, eax
push 0
push 1
mov ecx, ebx
call fcn.00401280
push eax
lea ebx, [esp + 0x5f]
mov eax, edi
call fcn.00477100
add esp, 4
cmp byte [esp + 0x5b], 0
mov edi, eax
mov ebx, edx
je 0x428adf
mov ecx, dword [esp + 0x18]
push 1
push 0
push 0xffffffffffffffff
push 0x4a4910
push ecx
call fcn.0047a6b0
jmp 0x4289bc
mov edx, dword [0x4cb4f8]
mov ax, word [edx]
call fcn.00409e20
movzx eax, ax
cmp eax, 0x44
je 0x428b0e
cmp eax, 0x48
je 0x428b05
cmp eax, 0x4d
jne 0x428b20
push 0
push 0x3c
jmp 0x428b15
push 0
push 0xe10
jmp 0x428b15
push 0
push 0x15180
push ebx
push edi
call fcn.0049f600
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x18]
push ebx
push edi
push eax
jmp 0x4289b7
mov eax, dword [esi + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x428b4a
cmp byte [eax + 0x11], dl
jne 0x428b4a
mov edi, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edx
jmp 0x428b9d
mov edi, dword [0x4cb49c]
mov eax, dword [0x4cb4f4]
mov dword [esp + 0x14], edx
cmp edi, edx
je 0x428b87
cmp word [eax], dx
jne 0x428b87
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x428b6f
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x428b87
mov dword [esp + 0x28], edi
cmp edi, edx
je 0x428b8b
push 1
mov ecx, edi
call fcn.004155e0
jmp 0x428b9b
mov dword [esp + 0x28], edx
push 1
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
mov edi, eax
push 1
mov ecx, ebx
call fcn.004155e0
cmp edi, 2
je 0x428c20
cmp eax, 2
je 0x428c20
cmp dword [esp + 0x14], 0
je 0x428be0
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], eax
push 0
mov eax, ebx
call fcn.00415690
sub eax, edi
sbb edx, dword [esp + 0xbc]
jmp 0x4289b4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x428bf1
push 0
call fcn.00415690
jmp 0x428c00
mov esi, dword [0x4cb4f4]
call fcn.00415480
mov esi, dword [esp + 0x10]
mov edi, eax
push 0
mov eax, ebx
mov dword [esp + 0xc0], edx
call fcn.00415690
sub eax, edi
sbb edx, dword [esp + 0xbc]
jmp 0x4289b4
cmp dword [esp + 0x14], 0
je 0x428c31
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x428c51
mov eax, dword [esp + 0x28]
test eax, eax
je 0x428c42
push 0
call fcn.00415710
jmp 0x428c51
mov esi, dword [0x4cb4f4]
call fcn.004154b0
mov esi, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
mov eax, ebx
call fcn.00415710
fsub qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push ebx
call fcn.00415580
jmp 0x4289bc
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], 0
je 0x428c8f
cmp byte [eax + 0x11], 0
jne 0x428c8f
mov edi, 1
mov dword [esp + 0x14], edi
xor ebx, ebx
jmp 0x428cd2
mov ebx, dword [0x4cb49c]
mov eax, dword [0x4cb4f4]
mov dword [esp + 0x14], 0
test ebx, ebx
je 0x428cbe
cmp word [eax], 0
jne 0x428cbe
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x428cb9
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x428cfb
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
mov edi, eax
mov ecx, dword [esp + 0x18]
push 1
call fcn.004155e0
cmp edi, 2
je 0x428d4c
cmp eax, 2
je 0x428d4c
cmp dword [esp + 0x14], 0
je 0x428d0a
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x428d2c
test ebx, ebx
je 0x428cc0
push 1
mov ecx, ebx
call fcn.004155e0
jmp 0x428cd0
test ebx, ebx
je 0x428d19
push 0
mov eax, ebx
call fcn.00415690
jmp 0x428d28
mov esi, dword [0x4cb4f4]
call fcn.00415480
mov esi, dword [esp + 0x10]
mov ebx, edx
mov edi, eax
mov eax, dword [esp + 0x18]
push 0
call fcn.00415690
push ebx
push edi
push edx
push eax
call fcn.00497120
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
jmp 0x4289b7
cmp dword [esp + 0x14], 0
je 0x428d5d
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x428d7b
test ebx, ebx
je 0x428d6c
push 0
mov eax, ebx
call fcn.00415710
jmp 0x428d7b
mov esi, dword [0x4cb4f4]
call fcn.004154b0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
fstp qword [esp + 0x30]
push 0
mov eax, edi
call fcn.00415710
fmul qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push edi
call fcn.00415580
jmp 0x4289bc
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], 0
je 0x428dbd
cmp byte [eax + 0x11], 0
jne 0x428dbd
mov edi, 1
mov dword [esp + 0x14], edi
xor ebx, ebx
jmp 0x428e00
mov ebx, dword [0x4cb49c]
mov eax, dword [0x4cb4f4]
mov dword [esp + 0x14], 0
test ebx, ebx
je 0x428dec
cmp word [eax], 0
jne 0x428dec
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x428de7
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x428e29
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
mov edi, eax
mov ecx, dword [esp + 0x18]
push 1
call fcn.004155e0
cmp edi, 2
je 0x428e8e
cmp eax, 2
je 0x428e8e
cmp dword [esp + 0x14], 0
je 0x428e38
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x428e5a
test ebx, ebx
je 0x428dee
push 1
mov ecx, ebx
call fcn.004155e0
jmp 0x428dfe
test ebx, ebx
je 0x428e47
push 0
mov eax, ebx
call fcn.00415690
jmp 0x428e56
mov esi, dword [0x4cb4f4]
call fcn.00415480
mov esi, dword [esp + 0x10]
mov ebx, edx
mov edi, eax
mov eax, edi
or eax, ebx
jne 0x428e6e
mov ecx, dword [esp + 0x18]
call fcn.004154f0
jmp 0x4289bc
mov eax, dword [esp + 0x18]
push 0
call fcn.00415690
push ebx
push edi
push edx
push eax
call fcn.0049f600
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
jmp 0x4289b7
cmp dword [esp + 0x14], 0
je 0x428e9f
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428ebd
test ebx, ebx
je 0x428eae
push 0
mov eax, ebx
call fcn.00415710
jmp 0x428ebd
mov esi, dword [0x4cb4f4]
call fcn.004154b0
mov esi, dword [esp + 0x10]
fst qword [esp + 0x30]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x428eda
mov ecx, dword [esp + 0x18]
call fcn.004154f0
jmp 0x4289bc
mov edi, dword [esp + 0x18]
push 0
mov eax, edi
call fcn.00415710
fdiv qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push edi
call fcn.00415580
jmp 0x4289bc
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ebx, eax
test ebx, ebx
jns 0x428f12
xor ebx, ebx
jmp 0x428f24
mov edi, 1
mov ecx, esi
call fcn.00423770
cmp ebx, eax
jle 0x428f24
mov ebx, eax
push 1
push 0
push ebx
mov ecx, dword [0x4cb4f4]
mov edx, dword [esp + 0x24]
push ecx
push edx
call fcn.0047a6b0
jmp 0x4289bc
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ebx, eax
test ebx, ebx
jns 0x428f53
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00423770
cmp ebx, eax
jbe 0x428f65
mov ebx, eax
mov ecx, dword [0x4cb4f4]
mov edx, dword [esp + 0x18]
push 1
push 0
sub eax, ebx
push ebx
lea eax, [ecx + eax*2]
push eax
push edx
call fcn.0047a6b0
jmp 0x4289bc
cmp byte [esi + 1], 4
jb 0x428fb8
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x34]
cmp word [ecx], 0
je 0x428fb8
mov edi, 3
mov ecx, esi
call fcn.00423800
mov dword [esp + 0x14], eax
cmp eax, 1
jge 0x428fc0
mov ecx, ebx
call fcn.004154f0
jmp 0x4289bc
mov dword [esp + 0x14], SysStringLen
mov edi, 2
mov ecx, esi
call fcn.00423800
mov edx, dword [0x4cb500]
mov ebx, eax
mov ax, word [edx]
call fcn.00409e20
cmp ax, 0x4c
jne 0x42900f
cmp ebx, 1
jge 0x428ff5
mov ecx, dword [esp + 0x18]
call fcn.004154f0
jmp 0x4289bc
mov eax, dword [esp + 0x14]
mov ecx, 1
sub ecx, eax
add ebx, ecx
cmp ebx, 1
jge 0x429019
lea edx, [eax + ebx - 1]
mov dword [esp + 0x14], edx
cmp ebx, 1
jge 0x429019
mov ebx, 1
mov edi, 1
mov ecx, esi
call fcn.00423770
cmp eax, ebx
jae 0x429037
mov ecx, dword [esp + 0x18]
call fcn.004154f0
jmp 0x4289bc
mov ecx, edi
sub ecx, ebx
add eax, ecx
cmp dword [esp + 0x14], eax
jbe 0x429047
mov dword [esp + 0x14], eax
mov edx, dword [0x4cb4f4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 1
push 0
push eax
lea ebx, [edx + ebx*2 - 2]
push ebx
push ecx
call fcn.0047a6b0
jmp 0x4289bc
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ebx, eax
test ebx, ebx
jns 0x42907e
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00423770
cmp ebx, eax
jbe 0x429090
mov ebx, eax
mov edx, dword [0x4cb4f4]
push 1
push 0
sub eax, ebx
push eax
mov eax, dword [esp + 0x24]
lea ecx, [edx + ebx*2]
push ecx
push eax
call fcn.0047a6b0
jmp 0x4289bc
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ebx, eax
test ebx, ebx
jns 0x4290c4
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00423770
cmp ebx, eax
jbe 0x4290d6
mov ebx, eax
push 1
push 0
sub eax, ebx
push eax
jmp 0x428f29
push 1
push 1
mov ecx, ebx
call fcn.00401280
mov edi, eax
cmp edi, dword [0x4cb4f4]
jne 0x429108
mov al, byte [ebx + 0x17]
test al, al
jne 0x429104
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x429151
push 1
push 0
mov edi, 1
mov ecx, esi
call fcn.00423770
push eax
push 0
push ebx
call fcn.0047a6b0
cmp eax, edi
jne case.0x4286c1.8
push 0
push edi
mov ecx, ebx
call fcn.00401280
mov ecx, dword [0x4cb4f4]
mov edi, eax
mov edx, edi
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x429140
mov ecx, dword [0x4cb4f8]
movzx eax, word [ecx]
test ax, ax
je 0x429180
call fcn.00409e20
cmp ax, 0x54
jne 0x429180
mov edx, dword [0x4cb4f8]
cmp word [edx + 2], 0
jne 0x429180
mov eax, edi
call fcn.004151f0
jmp 0x429194
cmp byte [esi], 0x31
push edi
jne 0x42918e
call dword [sym.imp.USER32.dll_CharLowerW]
jmp 0x429194
call dword [sym.imp.USER32.dll_CharUpperW]
cmp byte [ebx + 0x17], 0
jne 0x42919d
mov ebx, dword [ebx + 0xc]
cmp byte [ebx + 0x17], 2
jne 0x4291bb
cmp dword [0x4cc508], 0
je 0x4291bb
mov ecx, 0x4cc4fc
call fcn.00404810
jmp 0x4289bc
and byte [ebx + 0x15], 0x86
mov eax, 1
jmp 0x4289bc
mov eax, dword [0x4cb49c]
test eax, eax
je 0x4291f4
cmp byte [eax + 0x17], 0
jne 0x4291e0
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x15]
jmp 0x4291e3
mov cl, byte [eax + 0x15]
test cl, 1
je 0x4291f4
call fcn.00415970
push 0
jmp 0x4289b5
mov edi, 1
mov ecx, esi
call fcn.00423770
push 0
jmp 0x4289b5
mov edi, dword [0x4cb4fc]
movzx eax, word [edi]
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], 0xffffffff
test ax, ax
je 0x4292a5
call fcn.00409e20
movzx edx, ax
push edx
push 0x4ac020
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x4292a5
cmp word [edi + 2], 0
je 0x4292a5
lea esi, [edi + 2]
call fcn.0040f2d0
mov esi, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x4293a5
mov eax, dword [0x4cb4f8]
cmp word [eax], 0
jne 0x4292af
mov dword [esp + 0x28], 0
mov eax, 0x4a4920
mov edx, dword [0x4cbd60]
push 1
push 0
push 0xffffffffffffffff
push eax
push edx
call fcn.0047a6b0
mov eax, dword [esp + 0x28]
cdq
push 0x18
push edx
push eax
mov eax, dword [esp + 0x24]
call fcn.00401140
mov edi, 1
jmp 0x4289c6
mov dword [esp + 0x1c], 1
jmp 0x42925e
mov ecx, dword [0x4cb4f4]
mov dword [esp + 0x44], ecx
mov edi, 4
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.00423800
mov ebx, eax
test ebx, ebx
jns 0x4292d1
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00423770
mov edi, eax
cmp ebx, edi
jge 0x4293a5
mov edx, dword [esp + 0x30]
movzx eax, word [edx]
cmp eax, 0x31
je 0x42936a
call fcn.00409e20
cmp ax, 0x52
je 0x42936a
mov edi, 2
mov ecx, esi
call fcn.00423770
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
lea ecx, [eax + ebx*2]
mov ebx, dword [esp + 0x3c]
mov edi, 1
mov edx, dword [0x4c7a54]
mov al, byte [edx + 0xf2]
test al, al
jne 0x42933b
mov eax, ebx
call fcn.00477730
jmp 0x429356
cmp al, 2
jne 0x42934c
push ecx
mov eax, ebx
call fcn.004779a0
add esp, 4
jmp 0x429356
push ebx
push ecx
call fcn.00491af8
add esp, 8
test eax, eax
je 0x4293a5
cmp edi, dword [esp + 0x1c]
je 0x429391
mov ecx, dword [esp + 0x30]
inc edi
lea ecx, [eax + ecx*2]
jmp 0x429322
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 0xf2]
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov eax, edi
sub eax, ebx
push ecx
call fcn.00477520
add esp, 0x10
test eax, eax
je 0x4293a5
sub eax, dword [esp + 0x44]
sar eax, 1
mov dword [esp + 0x28], eax
jns 0x429271
mov eax, 0x4a7314
jmp 0x429276
push esi
call fcn.0043eaf0
jmp 0x4289bc
mov eax, dword [0x4cb4f8]
mov ecx, dword [0x4cb4f4]
push eax
mov eax, dword [0x4cb4fc]
call fcn.00434830
jmp 0x4289bc
mov ecx, dword [0x4cb4fc]
mov edx, dword [0x4cb4f8]
mov eax, dword [0x4cb4f0]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
push esi
call fcn.0043ed00
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
push eax
mov eax, esi
call fcn.0043f4f0
jmp 0x4289bc
mov ecx, dword [0x4cb4f0]
push ecx
mov ecx, dword [0x4cb4f4]
push esi
call fcn.0043fb70
jmp 0x4289bc
push 0
push ecx
mov edi, 7
mov ecx, esi
call fcn.00423800
add esp, 4
push eax
mov edi, 6
mov ecx, esi
call fcn.00423800
push eax
push ecx
mov edi, 5
mov ecx, esi
call fcn.00423800
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.00423800
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.00423800
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ecx, dword [0x4cb510]
push eax
push esi
call fcn.0043abb0
jmp 0x4289bc
mov edx, dword [0x4cb508]
push edx
push ecx
mov edi, 5
mov ecx, esi
call fcn.00423800
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.00423800
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.00423800
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.00423800
push eax
push esi
call fcn.0043b3c0
jmp 0x4289bc
mov eax, dword [0x4cb4fc]
push eax
push ecx
mov edi, 2
mov ecx, esi
call fcn.00423800
mov edi, 1
mov ecx, esi
mov ebx, eax
call fcn.00423800
add esp, 4
mov ecx, eax
push esi
mov eax, ebx
call fcn.004535c0
jmp 0x4289bc
mov edx, dword [edi + 0xd4]
xor eax, eax
cmp cl, 0x42
mov ecx, dword [0x4cb4f0]
sete al
push 0
push edx
push eax
push ecx
call fcn.0040f880
add esp, 0x10
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f0]
xor edx, edx
cmp dword [edi + 0xd4], 3
push 0
sete dl
lea edx, [edx + edx + 1]
push edx
push 0
push eax
call fcn.0040f880
add esp, 0x10
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f0]
push 0
push 2
push 0
push ecx
call fcn.0040f880
add esp, 0x10
mov edi, 1
jmp 0x4289c6
mov edx, dword [0x4cb4f0]
push 0
push 0
push 0
push edx
call fcn.0040f880
add esp, 0x10
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f0]
push eax
call fcn.00411b40
add esp, 4
jmp 0x4289bc
mov edx, dword [0x4cb508]
mov eax, dword [0x4cb504]
push 0x4a4910
push edx
mov edx, dword [0x4cb500]
push eax
mov eax, dword [0x4cb4fc]
push edx
mov edx, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push eax
push ecx
mov eax, 0x4a4910
call fcn.00411db0
add esp, 0x20
jmp 0x4289bc
mov edx, dword [0x4cb504]
mov eax, dword [0x4cb508]
push edx
mov edx, dword [0x4cb500]
push eax
mov eax, dword [0x4cb4f8]
push edx
mov edx, dword [0x4cb4f4]
push 0x4a4910
push 0x4a4910
push eax
mov eax, dword [0x4cb4fc]
push edx
mov edx, dword [0x4cb4f0]
push ecx
call fcn.00411db0
add esp, 0x20
jmp 0x4289bc
mov eax, dword [0x4cb4fc]
mov edx, dword [0x4cb4f8]
push 0x4a4910
push eax
mov eax, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push 0x4a4910
push 0x4a4910
push eax
push edx
mov eax, 0x4a4910
push ecx
mov edx, eax
call fcn.00411db0
add esp, 0x20
jmp 0x4289bc
mov edi, 4
mov ecx, esi
call fcn.00423800
push eax
mov ecx, esi
call fcn.0043db00
jmp 0x4289bc
mov edx, dword [0x4cb4f4]
mov ebx, dword [0x4cb4f8]
mov esi, dword [0x4cb4f0]
cmp cl, 0x78
sete al
movzx ecx, al
mov eax, dword [0x4cb4fc]
push ecx
push edx
push edi
call fcn.0047b360
add esp, 0xc
test eax, eax
je 0x4296e1
mov eax, dword [0x4c7a54]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x4296e1
push 1
push eax
call fcn.00401430
add esp, 8
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f0]
push 9
push 0x4ac028
push ecx
call fcn.0049115d
add esp, 0xc
test eax, eax
jne 0x429723
mov edx, dword [0x4cb4f4]
cmp word [edx], ax
jne 0x429723
mov eax, dword [0x4cb4fc]
cmp word [eax], 0
jne 0x429723
mov bl, 1
jmp 0x429725
xor bl, bl
mov al, byte [esi]
xor ecx, ecx
test bl, bl
setne cl
dec ecx
and ecx, 0x14
mov dword [esp + 0x1c], ecx
cmp al, 0x84
je 0x429781
cmp al, 0x85
je 0x429781
mov edx, dword [0x4cb4f8]
cmp word [edx], 0
je 0x4297c3
mov al, byte [esi]
cmp al, 0x84
je 0x429822
cmp al, 0x85
je 0x429824
mov ecx, dword [0x4cb4f8]
mov edx, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb4fc]
push edx
mov edx, dword [0x4cb4f0]
push eax
call fcn.004367b0
jmp 0x4289bc
mov eax, dword [0x4cb4f8]
cmp word [eax], 0
je 0x4297b7
mov edi, 2
mov ecx, esi
call fcn.004238b0
fmul qword [0x4c1f08]
call fcn.0049f550
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4297b7
mov dword [esp + 0x1c], 0x1f4
mov ecx, dword [0x4cb500]
cmp word [ecx], 0
jne 0x42974a
test bl, bl
je 0x42974a
mov eax, dword [0x4cb4f0]
add eax, 0x12
call fcn.00409ea0
cmp word [eax], 0
mov dword [esp + 0x30], eax
je 0x42974a
mov ebx, dword [0x4cc550]
test ebx, ebx
je 0x42974a
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 4]
push edx
push eax
call fcn.00490f59
add esp, 8
test eax, eax
je 0x429811
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x4297f0
jmp 0x42974a
mov edx, dword [esp + 0x1c]
mov cl, byte [esi]
push ebx
call fcn.0047d4e0
jmp 0x4289bc
cmp al, 0x85
mov edx, dword [0x4cb500]
mov ebx, dword [0x4cb4f0]
sete al
movzx ecx, al
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
push eax
mov eax, dword [0x4cb4fc]
push ecx
push edi
call fcn.0047b660
add esp, 0x14
test eax, eax
je 0x42986f
mov edx, dword [0x4c7a54]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x42986f
push 1
push eax
call fcn.00401430
add esp, 8
mov edi, 1
jmp 0x4289c6
mov ebx, dword [0x4cb4f4]
call fcn.0043a510
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
sete dl
movzx eax, dl
push eax
push esi
call fcn.00430680
jmp 0x4289bc
lea ecx, [esp + 0xe8]
push ecx
push 0x3a98
push 1
push 0x4ac03c
push 0
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
test eax, eax
sete dl
movzx eax, dl
push eax
push esi
call fcn.00430680
jmp 0x4289bc
mov ecx, dword [0x4cb4f4]
mov eax, dword [0x4cb4f0]
push ecx
push esi
call fcn.00454db0
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
mov ecx, 0x4cd020
call fcn.004749e0
mov eax, dword [0x4cb4f4]
mov ecx, 0x4cd02c
call fcn.004749e0
mov eax, dword [0x4cb4f8]
mov ecx, 0x4cd038
call fcn.004749e0
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f8]
mov eax, 0x4a72e4
call fcn.00477730
test eax, eax
setne bl
mov dl, 3
cmp dl, byte [esi + 1]
mov edx, dword [0x4cb4f8]
sbb eax, eax
and eax, dword [0x4cb4a4]
mov byte [esp + 0xd0], bl
mov ecx, dword [esp + 0xd0]
push eax
push 1
push ecx
push 0
push edx
mov edx, dword [0x4cb4f4]
test bl, bl
sete al
movzx ecx, al
push ecx
push edx
mov edx, dword [0x4cb4f0]
push 0
push 0x4cc518
call fcn.00431960
test bl, bl
je 0x4289bc
test eax, eax
mov eax, 0x4a4920
jne 0x4299aa
mov eax, 0x4ac054
push 1
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [0x4cbd60]
push eax
call fcn.0047a6b0
jmp 0x4289bc
push esi
call fcn.00436890
jmp 0x4289bc
cmp byte [esi + 1], 2
jbe 0x429a0f
mov ecx, dword [0x4cb508]
mov edx, dword [0x4cb504]
mov eax, dword [0x4cb500]
push ecx
mov ecx, dword [0x4cb4fc]
push edx
mov edx, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb50c]
push edx
mov edx, dword [0x4cb4f0]
call fcn.00436f90
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f0]
push 0x4a4910
push 0x4a4910
push 0x4a4910
push eax
push ecx
mov ecx, 0x4a4910
mov eax, ecx
mov edx, ecx
call fcn.00436f90
jmp 0x4289bc
mov edx, dword [0x4cb518]
mov eax, dword [0x4cb514]
mov ecx, dword [0x4cb510]
push edx
mov edx, dword [0x4cb50c]
push eax
mov eax, dword [0x4cb508]
push ecx
mov ecx, dword [0x4cb4fc]
push edx
mov edx, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb4f0]
push edx
mov edx, dword [0x4cb504]
push eax
push ecx
mov ecx, dword [0x4cb500]
push esi
call fcn.00453a00
jmp 0x4289bc
mov eax, dword [0x4cb500]
xor edx, edx
cmp cl, 0x47
mov ecx, dword [0x4cb4fc]
sete dl
push edx
mov edx, dword [0x4cb4f4]
push eax
mov eax, dword [0x4cb4f0]
push ecx
mov ecx, dword [0x4cb504]
push edx
mov edx, dword [0x4cb4f8]
push eax
push esi
call fcn.004370b0
jmp 0x4289bc
mov esi, dword [0x4cb4fc]
push 1
xor bl, bl
call fcn.0040f300
add esp, 4
mov byte [esp + 0xd8], al
test al, al
jne 0x429b08
mov ecx, dword [0x4cb4fc]
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0x4aa954
call fcn.004309e0
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov edx, dword [0x4cb500]
cmp word [edx], 0
je 0x429b24
mov ecx, dword [esp + 0x10]
mov edi, 4
call fcn.00423800
jmp 0x429b29
mov eax, 1
mov ecx, dword [0x4cb508]
mov edx, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb4f0]
push edx
mov edx, dword [0x4cb504]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [0x4cb4f4]
push eax
mov eax, dword [esp + 0xec]
push eax
push ecx
mov ecx, dword [0x4cb50c]
call fcn.00437170
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov edx, dword [0x4cb50c]
mov eax, dword [0x4cb508]
mov ecx, dword [0x4cb500]
push edx
mov edx, dword [0x4cb4fc]
push eax
mov eax, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push eax
push ecx
mov ecx, dword [0x4cb510]
push edx
mov edx, dword [0x4cb504]
push esi
call fcn.00437810
jmp 0x4289bc
mov eax, dword [0x4cb510]
mov ecx, dword [0x4cb50c]
mov edx, dword [0x4cb508]
push eax
mov eax, dword [0x4cb504]
push ecx
mov ecx, dword [0x4cb500]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00437a40
jmp 0x4289bc
mov edx, dword [0x4cb500]
mov eax, dword [0x4cb4fc]
mov ecx, dword [0x4cb4f8]
push edx
mov edx, dword [0x4cb4f4]
push eax
push ecx
push edx
push esi
call fcn.00437b90
jmp 0x4289bc
mov eax, dword [0x4cb4fc]
mov ecx, dword [0x4cb4f8]
mov edx, dword [0x4cb4f0]
push eax
push ecx
mov ecx, dword [0x4cb500]
push edx
mov edx, dword [0x4cb4f4]
push esi
call fcn.00437d70
jmp 0x4289bc
mov eax, dword [0x4cb500]
mov ecx, dword [0x4cb4fc]
mov edx, dword [0x4cb4f4]
push eax
push ecx
mov ecx, dword [0x4cb504]
push edx
mov edx, dword [0x4cb4f8]
push esi
mov esi, dword [0x4cb4f0]
call fcn.00437e80
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov eax, dword [0x4cb500]
mov ecx, dword [0x4cb4f4]
mov edx, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4fc]
push ecx
mov ecx, dword [0x4cb504]
push esi
call fcn.00437f40
jmp 0x4289bc
mov edx, dword [0x4cb508]
mov eax, dword [0x4cb504]
mov ecx, dword [0x4cb500]
push edx
mov edx, dword [0x4cb4fc]
push eax
mov eax, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push eax
push esi
call fcn.00453d60
jmp 0x4289bc
mov ecx, dword [0x4cb50c]
mov edx, dword [0x4cb508]
mov eax, dword [0x4cb504]
push ecx
mov ecx, dword [0x4cb500]
push edx
mov edx, dword [0x4cb4fc]
push eax
mov eax, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
push eax
push esi
call fcn.00454530
jmp 0x4289bc
mov ecx, dword [0x4cb500]
mov eax, dword [0x4cb4fc]
mov edx, dword [0x4cb4f8]
mov edi, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb504]
call fcn.004386d0
jmp 0x4289bc
mov edx, dword [0x4cb508]
mov eax, dword [0x4cb504]
mov ecx, dword [0x4cb500]
push edx
mov edx, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb4f0]
push edx
mov edx, dword [0x4cb4fc]
push eax
push ecx
mov ecx, dword [0x4cb50c]
call fcn.00438740
jmp 0x4289bc
cmp cl, 0x92
sete dl
movzx eax, dl
push eax
mov eax, esi
call fcn.00438880
jmp 0x4289bc
mov ecx, dword [0x4cb4f4]
mov edx, dword [0x4cb4f0]
push ecx
mov ecx, dword [0x4cb4f8]
push esi
call fcn.00438ba0
jmp 0x4289bc
mov edx, dword [0x4cb504]
mov eax, dword [0x4cb500]
mov ecx, dword [0x4cb4fc]
push edx
mov edx, dword [0x4cb4f8]
push eax
push ecx
mov ecx, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push esi
call fcn.00439230
jmp 0x4289bc
cmp byte [esi + 1], 1
jbe 0x429dfa
mov eax, dword [0x4cb4fc]
mov ecx, dword [0x4cb4f8]
mov edx, dword [0x4cb4f0]
push eax
mov eax, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb500]
call fcn.00439610
jmp 0x4289bc
mov edi, dword [0x4cb4f0]
mov ecx, 0x4a4910
push 0x4a4910
mov eax, ecx
mov edx, ecx
call fcn.00444bc0
test eax, eax
je 0x429e1f
push edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, 1
jmp 0x4289bc
mov edx, dword [0x4cb4fc]
mov ecx, dword [0x4cb500]
mov eax, dword [0x4cb4f8]
push edx
mov edx, dword [0x4cb4f4]
call fcn.00439640
jmp 0x4289bc
mov eax, dword [0x4cb4fc]
mov ecx, dword [0x4cb500]
mov edx, dword [0x4cb4f4]
push eax
mov eax, dword [0x4cb4f8]
call fcn.004397a0
jmp 0x4289bc
mov ecx, dword [0x4cb500]
mov edx, dword [0x4cb4fc]
mov eax, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb504]
push edx
mov edx, dword [0x4cb4f8]
push eax
push esi
call fcn.004398c0
jmp 0x4289bc
mov ecx, dword [0x4cb4fc]
mov eax, dword [0x4cb4f8]
mov edx, dword [0x4cb4f4]
push ecx
mov ecx, dword [0x4cb500]
push esi
call fcn.0043a130
jmp 0x4289bc
mov edx, dword [0x4cb50c]
mov eax, dword [0x4cb508]
mov ecx, dword [0x4cb504]
push edx
mov edx, dword [0x4cb500]
push eax
push ecx
push edx
mov eax, esi
call fcn.0043a390
jmp 0x4289bc
mov eax, dword [0x4cb4f8]
mov ecx, dword [0x4cb4f4]
push eax
push esi
call fcn.0043a5f0
jmp 0x4289bc
push 0
push 0x1a3
push 0x111
push 0
push 0x4a9614
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x4c7a54]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle 0x42986f
push 1
push eax
call fcn.00401430
add esp, 8
mov edi, 1
jmp 0x4289c6
push 0
push 0x1a0
push 0x111
push 0
push 0x4a9614
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [0x4c7a54]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x42986f
push 1
push eax
call fcn.00401430
add esp, 8
mov edi, 1
jmp 0x4289c6
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x429fbf
mov edi, dword [0x4cb4f0]
cmp word [edi], ax
je 0x429fbf
mov eax, 0x4cc518
call fcn.0041c7e0
test eax, eax
jne 0x429fbf
mov eax, dword [0x4cb4f0]
push eax
push 0
push 0x4a7598
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
mov dword [0x4ccfa8], eax
mov edi, 1
jmp 0x4289c6
mov eax, dword [esi + 0xc]
mov cl, 1
cmp cl, byte [esi + 1]
mov ecx, dword [0x4cb4f8]
sbb edx, edx
and edx, dword [0x4cb49c]
push edx
mov edx, dword [0x4cb4f4]
push eax
mov eax, dword [0x4cb4f0]
push ecx
push edx
push eax
call fcn.0040b3b0
add esp, 0x14
jmp 0x4289bc
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x42a0a6
push edi
mov edi, dword [0x4cb4f0]
mov eax, ebx
mov ebx, 0x4cc518
call fcn.0041c820
mov edi, eax
test edi, edi
jne 0x42a0a6
mov eax, dword [0x4cb4f0]
cmp word [eax], di
je 0x42a046
push eax
push edi
push 0x4a7598
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
cmp byte [esi + 1], 0
jbe 0x42a070
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 4]
cmp word [eax], 0
je 0x42a070
push 0x4a4910
push 0
push 0x4a7ac4
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xbc]
test edi, edi
jne 0x42a0a6
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x42a08e
mov edi, dword [eax]
test edi, edi
jne 0x42a0a6
push 0x4a4910
push 0
push 0x4ac060
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
push 0
push 1
push 1
push 1
call fcn.004771e0
add esp, 0x10
test eax, eax
jne 0x42a161
mov esi, dword [0x4cb4f4]
push eax
call fcn.00409f40
add esp, 4
test eax, eax
jne 0x42a126
mov edx, dword [0x4cb4f4]
push 0x4a68f0
push edx
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x42a107
push edi
push 0x4cc518
call fcn.0041c6f0
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f4]
mov ecx, dword [esp + 0x10]
push eax
push 0
push 0x4a7af0
call fcn.004309e0
mov esi, dword [esp + 0x10]
jmp 0x4289bc
jle 0x42a15d
cmp eax, 2
jg 0x42a15d
cmp eax, 1
mov eax, dword [0x4cb4f8]
sete cl
push 0
movzx edx, cl
push edx
push eax
push 0x4a4910
push edi
mov edi, 0x4cc518
call fcn.0041c410
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov esi, dword [esp + 0x10]
mov ecx, dword [0x4cb4f4]
cmp word [ecx], 0
mov edx, dword [0x4cb4f8]
jne 0x42a17d
cmp word [edx], 0
je 0x42a17d
mov al, 1
jmp 0x42a17f
xor al, al
push eax
push 1
push edx
push ecx
push edi
mov edi, 0x4cc518
call fcn.0041c410
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f0]
cmp word [eax], 0
mov ebx, 0x10
je 0x42a1ce
push 0x4ac0bc
push eax
call fcn.00490f59
add esp, 8
test eax, eax
je 0x42a1ce
xor edi, edi
mov ecx, esi
call fcn.00423800
mov edi, dword [esp + 0x14]
mov ebx, eax
test ebx, ebx
je 0x42a1d3
mov eax, 1
mov byte [edi + 0xee], al
test al, al
je 0x42a1fd
or eax, 0xffffffff
mov dword [edi + 0xd8], ebx
mov byte [edi + 0xec], 0
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 0x24], eax
lea edi, [eax + 2]
jmp 0x4289c6
mov dword [edi + 0xd8], 5
mov byte [edi + 0xec], 1
mov edi, 1
jmp 0x4289c6
mov esi, dword [0x4cb4f0]
call fcn.00416740
dec eax
je 0x42a2c9
dec eax
je 0x42a27e
dec eax
jne 0x42a2de
mov ecx, dword [0x4cb4f4]
cmp word [ecx], ax
je 0x42a26a
mov ecx, dword [esp + 0x10]
lea edi, [eax + 1]
call fcn.00423800
or eax, edx
jne 0x42a266
mov esi, dword [esp + 0x10]
mov eax, edi
mov edi, dword [esp + 0x14]
mov byte [edi + 0xed], al
mov edi, eax
jmp 0x4289c6
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xor eax, eax
mov byte [edi + 0xed], al
lea edi, [eax + 1]
jmp 0x4289c6
mov edx, dword [0x4cb4f4]
cmp word [edx], 0
je 0x42a29d
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423800
mov dword [0x4cd014], eax
mov eax, dword [0x4cb4f8]
cmp word [eax], 0
je 0x42a2de
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423800
mov esi, dword [esp + 0x10]
mov dword [0x4cd010], eax
mov edi, 1
jmp 0x4289c6
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x2c], eax
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x42a30f
mov edi, dword [0x4cb4f0]
push 1
push 0x4cc518
call fcn.00424570
mov ebx, eax
test ebx, ebx
je case.0x4286c1.8
mov edi, dword [0x4cb4fc]
cmp word [edi], 0
je 0x42a34c
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x42a349
mov eax, 0x4cc518
call fcn.0041c7e0
test eax, eax
jne 0x42a349
mov edx, dword [0x4cb4fc]
push edx
push eax
push 0x4a7598
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
mov dword [ebx + 0x10], eax
mov eax, dword [0x4cb504]
mov ecx, dword [0x4cb500]
mov edx, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4f4]
push ecx
push edx
push eax
push ebx
call fcn.0047d1b0
jmp 0x4289bc
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x42a3b2
mov eax, dword [0x4cb4f0]
mov ebx, eax
cmp word [eax], di
je 0x42a3ed
mov edi, dword [0x4cc550]
test edi, edi
je 0x42a3ed
mov edi, edi
mov ecx, dword [edi + 4]
push ebx
push ecx
call fcn.00490f59
add esp, 8
test eax, eax
je 0x42a3b2
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x42a390
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x42a3e3
push 0x4a7e74
push eax
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x42a3e3
mov al, 1
mov ecx, edi
push eax
call fcn.0047d8d0
mov edi, 1
jmp 0x4289c6
xor al, al
mov ecx, edi
push eax
call fcn.0047d8d0
mov edi, 1
jmp 0x4289c6
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x42a442
mov eax, dword [0x4cb4f0]
mov ebx, eax
cmp word [eax], di
je 0x42a4ac
mov edi, dword [0x4cc550]
test edi, edi
je 0x42a4ac
lea esp, [esp]
mov edx, dword [edi + 4]
push ebx
push edx
call fcn.00490f59
add esp, 8
test eax, eax
je 0x42a442
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x42a420
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x42a4a3
push 0x4aa670
push eax
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x42a473
push edi
xor edx, edx
mov cl, 0x84
call fcn.0047d4e0
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x42a4a3
push 0x4a7e74
push eax
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x42a4a3
mov al, 1
push eax
push edi
call fcn.0047d5a0
mov edi, 1
jmp 0x4289c6
xor al, al
push eax
push edi
call fcn.0047d5a0
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f8]
push eax
mov eax, dword [0x4cb4f4]
call fcn.004406f0
jmp 0x4289bc
test ebx, ebx
jne 0x42a4e3
lea edi, [ebx + 1]
mov ecx, esi
call fcn.00423800
call fcn.00414ed0
jmp 0x4289c6
mov eax, dword [0x4cb4f4]
push 0
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
cmp eax, 2
je 0x42a51b
mov eax, dword [0x4cb4f8]
push 0
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
cmp eax, 2
jne 0x42a5a8
mov ecx, dword [0x4cb4f4]
cmp word [ecx], 0
je 0x42a535
mov edi, 1
mov ecx, esi
call fcn.004238b0
jmp 0x42a537
fldz
mov edx, dword [0x4cb4f8]
fst qword [esp + 0x30]
cmp word [edx], 0
je 0x42a572
mov edi, 2
fstp st(0)
mov ecx, esi
call fcn.004238b0
fst qword [esp + 0x78]
fld qword [esp + 0x30]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x42a57e
fstp qword [esp + 0x30]
fstp qword [esp + 0x78]
jmp 0x42a582
fld qword [0x4c1f90]
fst qword [esp + 0x78]
jmp 0x42a55f
fstp st(0)
fstp st(0)
call fcn.00415040
fld qword [esp + 0x78]
fld qword [esp + 0x30]
sub esp, 8
fsub st(1), st(0)
fxch st(2)
fmulp st(1)
faddp st(1)
fstp qword [esp]
push ebx
call fcn.00415580
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x42a5c7
mov edi, 1
mov ecx, esi
call fcn.00423800
mov ebx, eax
mov dword [esp + 0x1c], eax
jmp 0x42a5cd
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov ecx, dword [0x4cb4f8]
cmp word [ecx], 0
je 0x42a5e9
mov edi, 2
mov ecx, esi
call fcn.00423800
mov edi, eax
jmp 0x42a5ee
mov edi, SysReAllocString
cmp ebx, edi
jle 0x42a5fc
mov eax, ebx
mov ebx, edi
mov dword [esp + 0x1c], ebx
mov edi, eax
call fcn.00414ff0
mov ecx, eax
mov eax, ebx
cdq
mov ebx, eax
mov dword [esp + 0x30], edx
mov eax, edi
cdq
sub eax, ebx
sbb edx, dword [esp + 0x30]
add eax, 1
adc edx, 0
push edx
push eax
push 0
push ecx
call fcn.004a0060
add eax, dword [esp + 0x1c]
jmp 0x42928d
mov ecx, dword [0x4cb4f4]
push 1
push esi
call fcn.00440810
jmp 0x4289bc
mov edx, dword [0x4cb4f8]
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f0]
push edx
push esi
call fcn.00440950
jmp 0x4289bc
mov ecx, dword [0x4cb4f8]
mov edx, dword [0x4cb4f4]
push esi
call fcn.00440c00
jmp 0x4289bc
mov eax, dword [0x4cb4fc]
mov edx, dword [0x4cb4f4]
push eax
xor eax, eax
cmp cl, 0x9d
sete al
push edx
dec eax
and eax, dword [0x4cb4f0]
push eax
push esi
call fcn.00441220
jmp 0x4289bc
mov ecx, dword [0x4cb4f4]
cmp word [ecx], 0
je 0x42a6b8
mov edi, 1
mov ecx, esi
call fcn.00423800
dec eax
jmp 0x42a6ba
xor eax, eax
cdq
test edx, edx
jg 0x42a6cb
jl 0x42a6c5
test eax, eax
jae 0x42a6cb
xor eax, eax
mov dword [esp + 0x34], eax
cmp byte [esi], 0x9f
push eax
jne 0x42a6df
call fcn.00442330
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov edi, dword [0x4cb4f0]
mov ebx, esi
call fcn.00442420
jmp 0x4289bc
mov edx, dword [0x4cb4f4]
cmp word [edx], 0
je 0x42a70f
mov edi, 1
mov ecx, esi
call fcn.00423800
mov ebx, eax
test ebx, ebx
jns 0x42a714
mov ebx, 0x96
mov eax, dword [0x4cb4f0]
cmp word [eax], 0
je 0x42a73a
xor edi, edi
mov ecx, esi
call fcn.00423800
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, 1
jmp 0x4289c6
mov eax, 0x20b
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x42a773
push 0x4ac0c4
push eax
call fcn.00490f59
add esp, 8
test eax, eax
je 0x42a798
mov eax, dword [0x4cb4f4]
push 0x4a7314
push eax
call fcn.00490f59
add esp, 8
test eax, eax
je 0x42a798
xor al, al
push eax
mov eax, dword [0x4cb4f0]
push esi
call fcn.00442580
jmp 0x4289bc
mov eax, 1
push eax
mov eax, dword [0x4cb4f0]
push esi
call fcn.00442580
jmp 0x4289bc
cmp byte [esi + 1], 2
jae 0x42a7b9
mov edi, dword [edi + 0x18]
jmp 0x42a7bb
xor edi, edi
mov ecx, dword [0x4cb4f0]
mov edx, dword [0x4cb4f4]
push edi
push ecx
push edx
push esi
call fcn.00443860
jmp 0x4289bc
mov ecx, dword [0x4cb4f4]
push esi
call fcn.00442f50
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f8]
push eax
push esi
call fcn.004434d0
jmp 0x4289bc
mov esi, dword [0x4cb4f0]
mov edi, dword [esp + 0x10]
call fcn.00443c40
mov esi, edi
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
mov edi, esi
call fcn.00455a20
jmp 0x4289bc
mov ecx, dword [0x4cb4f0]
movzx eax, word [ecx]
neg eax
sbb eax, eax
push 7
and eax, ecx
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
test eax, eax
setne cl
movzx edx, cl
push edx
push esi
call fcn.00430680
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f0]
push eax
push ecx
push esi
mov esi, dword [0x4cb4f8]
call fcn.00443cb0
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ecx, dword [0x4cb4f0]
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x4cb4f4]
push eax
call fcn.00443df0
mov esi, dword [esp + 0x10]
jmp 0x4289bc
push 0
push ecx
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ecx, dword [0x4cb4f4]
mov edx, dword [0x4cb4f0]
add esp, 4
dec eax
neg eax
sbb eax, eax
inc eax
push eax
push ecx
push edx
call fcn.00455d00
add esp, 0x10
test al, al
sete al
movzx ecx, al
push ecx
push esi
call fcn.00430680
jmp 0x4289bc
mov edx, dword [0x4cb4f8]
mov ax, word [edx]
call fcn.00409e20
cmp ax, 0x52
jne 0x42a922
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
sete dl
movzx eax, dl
push eax
push esi
call fcn.00430680
jmp 0x4289bc
push 1
push ecx
mov edi, 2
mov ecx, esi
call fcn.00423800
mov ecx, dword [0x4cb4f4]
mov edx, dword [0x4cb4f0]
add esp, 4
push eax
push ecx
push edx
call fcn.00455d00
add esp, 0x10
test al, al
sete al
movzx ecx, al
push ecx
push esi
call fcn.00430680
jmp 0x4289bc
mov edx, dword [0x4cb4f0]
push edx
call fcn.00442e50
add esp, 4
test al, al
sete al
mov byte [esp + 0x84], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x84]
mov ecx, dword [0x4c7a54]
push edx
push esi
mov dword [ecx + 0x30], eax
call fcn.00430680
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
cmp word [eax], 0
je 0x42a9db
mov edi, 1
mov ecx, esi
call fcn.00423800
cmp eax, edi
mov eax, dword [0x4cb4f0]
sete cl
movzx edx, cl
push edx
call fcn.00455fd0
add esp, 4
test al, al
je 0x42a9db
xor al, al
push eax
push esi
call fcn.00430680
jmp 0x4289bc
mov eax, 1
push eax
push esi
call fcn.00430680
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
jne 0x42aa09
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42aa09
mov eax, 0x4a4910
mov edi, esi
call fcn.00443e40
jmp 0x4289bc
mov ebx, dword [0x4cb4f4]
cmp word [ebx], 0
jne 0x42aa33
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x250]
test edi, edi
jne 0x42aa33
mov ebx, 0x4a4910
mov edi, 3
mov ecx, esi
call fcn.00423800
mov esi, dword [0x4cb4f8]
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.004169a0
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [0x4cb4f0]
push ebx
push edx
call fcn.00443f50
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
jne 0x42aa8b
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42aa8b
mov eax, 0x4a4910
mov ecx, dword [0x4cb4f8]
movzx edx, word [ecx]
push edx
mov edi, esi
call fcn.004445e0
jmp 0x4289bc
mov ebx, dword [0x4cb4f4]
cmp word [ebx], 0
jne 0x42aabf
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x250]
test edi, edi
jne 0x42aabf
mov ebx, 0x4a4910
mov edi, 4
mov ecx, esi
call fcn.00423800
mov esi, dword [0x4cb4fc]
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.004169a0
mov edx, dword [0x4cb4f8]
mov edi, dword [esp + 0x14]
push eax
movzx eax, word [edx]
push eax
mov eax, dword [0x4cb4f0]
push ebx
call fcn.00444760
mov esi, edi
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je 0x42ab20
mov ecx, dword [0x4cb4f8]
push ecx
mov edi, eax
push esi
call fcn.00444920
jmp 0x4289bc
mov edi, dword [edi + 0x10]
test edi, edi
je 0x42ab3f
mov ecx, dword [0x4cb4f8]
push ecx
add edi, 0x250
push esi
call fcn.00444920
jmp 0x4289bc
mov ecx, dword [0x4cb4f8]
push ecx
mov edi, 0x4a4910
push esi
call fcn.00444920
jmp 0x4289bc
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
jne 0x42ab73
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42ab73
mov eax, 0x4a4910
push esi
call fcn.00455b30
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
call fcn.004427b0
xor edx, edx
cmp dword [edi + 0x104], edx
sete dl
mov edi, edx
jmp 0x4289be
mov eax, dword [0x4cb500]
mov ecx, dword [0x4cb4fc]
mov edx, dword [0x4cb4f4]
push eax
push ecx
mov ecx, dword [0x4cb4f8]
push edx
push esi
call fcn.00442870
jmp 0x4289bc
mov eax, dword [0x4cb4f8]
mov ecx, dword [0x4cb4f4]
push eax
push ecx
mov ecx, dword [0x4cb4fc]
mov edx, esi
call fcn.00455130
jmp 0x4289bc
mov edx, dword [0x4cb4f0]
push edx
push esi
call fcn.00455440
jmp 0x4289bc
mov eax, dword [0x4cb510]
mov ecx, dword [0x4cb508]
mov edx, dword [0x4cb504]
mov edi, dword [0x4cb50c]
push eax
mov eax, dword [0x4cb4fc]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push eax
push ecx
mov ecx, dword [0x4cb500]
push edx
mov edx, dword [0x4cb4f8]
push esi
call fcn.004557d0
jmp 0x4289bc
push 0
mov ecx, 4
call fcn.0043cc70
add esp, 4
jmp 0x4289bc
mov esi, dword [0x4cb4f0]
push 7
call fcn.00409f40
add esp, 4
cmp eax, 7
jne 0x42ac74
push 0
lea ecx, [eax - 6]
call fcn.0043cc70
mov esi, dword [esp + 0x14]
add esp, 4
jmp 0x4289bc
cmp byte [edi + 0xf9], 0
je 0x42aca0
mov ecx, dword [0x4cbe34]
test ecx, ecx
jle 0x42ac8a
dec ecx
jmp 0x42ac8f
mov ecx, 0x18f
mov dword [0x4cbe34], ecx
mov dword [ecx*4 + 0x4cbe38], 0
mov esi, dword [esp + 0x10]
cmp eax, 1
sete al
mov byte [edi + 0xf9], al
mov edi, 1
jmp 0x4289c6
push 0
mov ecx, 2
call fcn.0043cc70
add esp, 4
jmp 0x4289bc
push 0
mov ecx, 3
call fcn.0043cc70
add esp, 4
jmp 0x4289bc
mov ebx, dword [0x4c7a54]
add ebx, 0x4c
call fcn.0045e6b0
test eax, eax
je 0x42ad02
mov ecx, dword [0x4c7a54]
mov edx, dword [ecx + 0x4c]
mov ebx, dword [edx + 4]
jmp 0x42ad04
xor ebx, ebx
mov al, byte [esi + 1]
test al, al
jne 0x42ad22
fldz
sub esp, 8
fstp qword [esp]
push ebx
push 0
push 0x10000
push 0x4ac0d0
jmp 0x42ad69
cmp al, 1
jne 0x42ad3e
fldz
mov eax, dword [0x4cb4f0]
sub esp, 8
fstp qword [esp]
push ebx
push 0
push 0x10000
push eax
jmp 0x42ad69
mov edi, 3
mov ecx, esi
call fcn.004238b0
mov ecx, dword [0x4cb4f4]
sub esp, 8
fstp qword [esp]
push ebx
push ecx
xor edi, edi
mov ecx, esi
call fcn.00423800
mov edx, dword [0x4cb4f8]
push eax
push edx
call fcn.0047c260
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x42ad9c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x59e
jne 0x42ad9c
mov eax, dword [0x4cb4f0]
push eax
push edi
push 0x4a7ac4
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
xor ecx, ecx
test edi, edi
setne cl
mov edi, ecx
jmp 0x4289be
mov edx, dword [0x4cb50c]
cmp word [edx], 0
je 0x42adc8
mov edi, 7
mov ecx, esi
call fcn.00423800
mov dword [esp + 0x3c], eax
jmp 0x42add0
mov dword [esp + 0x3c], SysStringLen
mov eax, dword [0x4cb508]
cmp word [eax], 0
je 0x42aded
mov edi, 6
mov ecx, esi
call fcn.00423800
mov dword [esp + 0x1c], eax
jmp 0x42adf5
mov dword [esp + 0x1c], SysStringLen
mov ecx, dword [0x4cb504]
cmp word [ecx], 0
je 0x42ae13
mov edi, 5
mov ecx, esi
call fcn.00423800
mov dword [esp + 0x44], eax
jmp 0x42ae1b
mov dword [esp + 0x44], SysStringLen
mov edx, dword [0x4cb500]
cmp word [edx], 0
je 0x42ae39
mov edi, 4
mov ecx, esi
call fcn.00423800
mov dword [esp + 0x28], eax
jmp 0x42ae41
mov dword [esp + 0x28], SysStringLen
mov edi, 9
mov ecx, esi
call fcn.004238b0
mov eax, dword [0x4cb518]
mov ecx, dword [0x4cb510]
sub esp, 8
fstp qword [esp]
push eax
mov ax, word [ecx]
call fcn.00409e20
mov ecx, dword [esp + 0x48]
cmp ax, 0x4c
sete dl
movzx eax, dl
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [0x4cb4fc]
push edx
push eax
mov ax, word [ecx]
call fcn.00409e20
mov edx, dword [0x4cb4f8]
mov edi, dword [esp + 0x44]
cmp ax, 0x48
mov eax, dword [0x4cb4f4]
push edx
push eax
sete cl
push ebx
call fcn.0043cf40
add esp, 0x28
jmp 0x4289bc
mov ecx, dword [0x4cb4f4]
cmp word [ecx], 0
je 0x42aed1
mov edi, 1
mov ecx, esi
call fcn.00423800
mov ebx, eax
jmp 0x42aed3
xor ebx, ebx
mov edx, dword [0x4cb4f0]
cmp word [edx], 0
je 0x42aeea
xor edi, edi
mov ecx, esi
call fcn.00423800
jmp 0x42aeef
mov eax, 0xc8
mov ecx, dword [0x4cb4fc]
mov edx, dword [0x4cb4f8]
push ecx
push edx
push ebx
push eax
call fcn.00453790
jmp 0x4289bc
mov eax, dword [0x4cb560]
test eax, eax
je 0x42af29
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42af29
mov eax, dword [0x4cb560]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x4cb560], 0
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb500]
mov edx, dword [0x4cb4fc]
mov eax, dword [0x4cb4f8]
push 0
push ecx
mov ecx, dword [0x4cb4f4]
push edx
mov edx, dword [0x4cb4f0]
push eax
push ecx
push edx
push esi
mov ecx, 0x4a4910
call fcn.00433110
jmp 0x4289bc
mov eax, dword [0x4cb504]
mov ecx, dword [0x4cb500]
mov edx, dword [0x4cb4fc]
push 1
push eax
mov eax, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb4f4]
push edx
push eax
push ecx
mov ecx, dword [0x4cb4f0]
push esi
call fcn.00433110
jmp 0x4289bc
mov edx, dword [0x4cb4f8]
mov eax, dword [0x4cb4f4]
mov ecx, dword [0x4cb4f0]
push edx
push eax
push ecx
mov ecx, dword [0x4cb4fc]
push esi
call fcn.00434370
jmp 0x4289bc
mov edx, dword [0x4cb4f4]
mov eax, dword [0x4cb4f0]
mov edi, dword [0x4cb4fc]
mov esi, dword [0x4cb4f8]
push edx
push eax
call fcn.00434730
mov esi, dword [esp + 0x10]
jmp 0x4289bc
mov ecx, esi
call fcn.00435a60
jmp 0x4289bc
mov esi, dword [0x4cb4f4]
call fcn.00416c30
mov esi, dword [0x4cb4f0]
movzx ebx, ax
call fcn.00416ca0
movzx ecx, ax
cmp ecx, 0xffffffff
je 0x42b042
cmp ebx, 0xffffffff
je 0x42b042
mov eax, 3
shl ax, cl
shl bx, cl
not ax
and ax, word [edi + 0xf0]
or ax, bx
mov word [edi + 0xf0], ax
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov ecx, esi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0xef], al
cmp al, 0x64
jbe case.0x42b435.69
mov byte [ecx + 0xef], 2
mov edi, 1
jmp 0x4289c6
mov ecx, dword [edi + 0xd4]
mov eax, dword [0x4cb4f0]
push ecx
call fcn.00416910
mov dword [edi + 0xd4], eax
add esp, 4
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov ecx, esi
call fcn.00423800
cmp eax, 0x64
ja case.0x42b435.69
mov edx, dword [esp + 0x14]
mov byte [edx + 0xf6], al
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f8]
push 0x4a92f0
push eax
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x42b11f
mov ecx, dword [0x4cb4f0]
cmp word [ecx], ax
je 0x42b0f8
xor edi, edi
mov ecx, esi
call fcn.00423800
mov edx, dword [esp + 0x14]
mov dword [edx + 0x60], eax
mov eax, dword [0x4cb4f4]
cmp word [eax], 0
je case.0x42b435.69
mov edi, 1
mov ecx, esi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x68], eax
jmp 0x4289c6
mov edx, dword [0x4cb4f0]
cmp word [edx], 0
je 0x42b13b
xor edi, edi
mov ecx, esi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x5c], eax
mov edx, dword [0x4cb4f4]
cmp word [edx], 0
je case.0x42b435.69
mov edi, 1
mov ecx, esi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x64], eax
jmp 0x4289c6
mov edx, dword [0x4cb4f4]
push 0x4a92f0
push edx
call fcn.00490f59
add esp, 8
xor edi, edi
mov ecx, esi
test eax, eax
jne 0x42b195
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x70], eax
mov edi, 1
jmp 0x4289c6
call fcn.00423800
mov edx, dword [esp + 0x14]
mov dword [edx + 0x6c], eax
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov ecx, esi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x54], eax
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov ecx, esi
call fcn.00423800
mov edx, dword [esp + 0x14]
mov dword [edx + 0x58], eax
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f0]
mov eax, 0x4ac0fc
call fcn.00477730
mov ecx, esi
test eax, eax
je 0x42b21a
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
xor edi, edi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x24], eax
mov edi, 1
jmp 0x4289c6
mov dword [edi + 0x24], 0xffffffff
xor edi, edi
call fcn.00423800
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], edx
mov edx, eax
or edx, dword [ecx + 4]
mov dword [ecx], eax
jne case.0x42b435.69
mov dword [ecx + 4], edi
mov dword [ecx], 0xa
lea edi, [edx + 1]
jmp 0x4289c6
mov esi, dword [0x4cb4f0]
push 7
call fcn.00409f40
add esp, 4
cmp eax, 7
je 0x42b26e
cmp eax, 1
sete al
mov byte [edi + 0xf3], al
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov esi, dword [0x4cb4f0]
call fcn.00416410
dec eax
cmp eax, 5
ja case.default.0x42b291
jmp dword [eax*4 + 0x42c3d0]
mov esi, dword [esp + 0x10]
mov dword [edi + 0x20], 1
mov edi, 1
jmp 0x4289c6
mov esi, dword [esp + 0x10]
mov dword [edi + 0x20], 2
mov edi, 1
jmp 0x4289c6
mov esi, dword [esp + 0x10]
mov dword [edi + 0x20], 4
mov edi, 1
jmp 0x4289c6
mov esi, dword [esp + 0x10]
mov dword [edi + 0x20], 3
mov edi, 1
jmp 0x4289c6
mov esi, dword [esp + 0x10]
mov byte [edi + 0xe9], 1
mov edi, 1
jmp 0x4289c6
mov esi, dword [esp + 0x10]
mov byte [edi + 0xe9], 0
mov edi, 1
jmp 0x4289c6
mov edx, dword [0x4cb4f0]
push 5
push 0x4a9430
push edx
call fcn.0049115d
add esp, 0xc
test eax, eax
jne 0x42b3fc
lea edi, [eax + 1]
mov ecx, esi
call fcn.00423770
cmp eax, 0x1e
jae 0x4289c6
mov ecx, esi
call fcn.00423800
mov edi, eax
mov eax, dword [0x4cb4f4]
push 0x2e
push eax
mov ebx, edx
call fcn.00491ad1
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
je 0x42b37a
mov esi, eax
add esi, 2
call fcn.00415480
mov esi, dword [esp + 0x10]
jmp 0x42b37e
xor eax, eax
xor edx, edx
add edi, eax
adc ebx, edx
add edi, 2
adc ebx, 0
mov dword [esp + 0x34], ebx
js 0x42b3a0
jg case.0x42b435.69
cmp edi, 0xff
ja case.0x42b435.69
mov eax, dword [0x4cb4f4]
push 0
push 1
push 1
push 1
call fcn.004771e0
add esp, 0x10
mov ecx, 0x4ac104
test eax, eax
jne 0x42b3c3
mov ecx, 0x4a4910
cmp dword [esp + 0x3c], 0
mov eax, 0x4a4910
jne 0x42b3d4
mov eax, 0x4aaec8
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [0x4cb4f4]
push eax
push ecx
add edx, 0x74
push 0x4ac108
push edx
call fcn.004914e6
add esp, 0x14
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f0]
push 7
push 0x4a9420
push eax
call fcn.0049115d
add esp, 0xc
test eax, eax
jne case.0x42b435.69
mov ecx, dword [0x4cb4f4]
movzx eax, word [ecx]
add eax, 0xffffffbc
cmp eax, 0x24
ja case.0x42b435.69
movzx edx, byte [eax + 0x42c3f4]
jmp dword [edx*4 + 0x42c3e8]
mov byte [edi + 0xf5], 0x44
mov edi, 1
jmp 0x4289c6
mov al, byte [ecx]
mov byte [edi + 0xf5], al
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb4f4]
call fcn.0043ded0
jmp 0x4289bc
movzx eax, byte [esi + 1]
mov dl, 4
cmp dl, al
sbb ecx, ecx
and ecx, dword [0x4cb4a8]
mov dl, 3
push ecx
mov ecx, dword [0x4cb504]
cmp dl, al
mov edx, dword [0x4cb500]
sbb eax, eax
and eax, dword [0x4cb4a4]
push eax
mov eax, dword [0x4cb4fc]
push ecx
mov ecx, dword [0x4cb4f8]
push edx
mov edx, dword [0x4cb4f0]
push eax
push ecx
mov ecx, dword [0x4cb4f4]
push edx
push 0x4cc518
call fcn.0046cc90
jmp 0x4289bc
mov eax, dword [0x4cb4fc]
mov ecx, dword [0x4cb4f8]
mov edx, dword [0x4cb4f4]
push eax
push ecx
mov ecx, dword [0x4cb4f0]
push edx
push 0x4cc518
call fcn.0045e720
jmp 0x4289bc
mov edx, dword [0x4cb4f4]
mov al, 2
cmp al, byte [esi + 1]
mov eax, dword [0x4cb4f0]
sbb ecx, ecx
and ecx, dword [0x4cb4a0]
push ecx
push edx
push eax
mov eax, dword [0x4cb4f8]
push esi
call fcn.0045f080
jmp 0x4289bc
mov ecx, dword [0x4cb4fc]
mov edx, dword [0x4cb4f8]
mov eax, dword [0x4cb4f4]
push ecx
push edx
push eax
push esi
call fcn.00460050
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
mov edi, eax
call fcn.0040a000
test eax, eax
jne 0x42b568
push 0x4a929c
push edi
call fcn.00490f59
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 6
jmp switch.0x0042b571
cmp eax, 7
ja case.0x42b435.69
jmp dword [eax*4 + 0x42c41c]
cmp byte [0x4cb6ba], 0
jne case.0x42b435.69
call fcn.00430330
mov edi, 1
jmp 0x4289c6
cmp byte [0x4cb6ba], 0
je case.0x42b435.69
call fcn.00430330
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f0]
push ecx
push 0
push 0x4a7ac4
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
mov edi, 1
mov ecx, esi
call fcn.00423800
test eax, eax
setne dl
movzx eax, dl
push eax
mov eax, dword [0x4cb4f0]
call fcn.0040a000
push eax
push esi
call fcn.00430380
jmp 0x4289bc
mov esi, dword [0x4cb4f0]
push 7
call fcn.00409f40
add esp, 4
cmp eax, 7
je 0x42b616
cmp eax, 1
sete cl
mov byte [edi + 0xf4], cl
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov esi, dword [0x4cb4f0]
call fcn.004167a0
mov byte [edi + 0xf2], al
cmp al, 4
jne 0x42b640
mov byte [edi + 0xf2], 0
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov esi, dword [0x4cb4f0]
push 7
call fcn.00409f40
add esp, 4
cmp eax, 7
je 0x42b66f
cmp eax, 1
sete dl
mov byte [edi + 0xea], dl
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov esi, dword [0x4cb4f0]
push 7
call fcn.00409f40
add esp, 4
cmp eax, 7
je 0x42b69e
cmp eax, 1
sete al
mov byte [edi + 0xeb], al
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f0]
call fcn.00416860
lea ecx, [eax - 1]
cmp ecx, 0xc
ja case.0x42b435.69
movzx ecx, byte [ecx + 0x42c454]
jmp dword [ecx*4 + 0x42c43c]
push 1
call dword [sym.imp.USER32.dll_BlockInput]
mov byte [0x4cbd6e], 1
mov edi, 1
jmp 0x4289c6
push 0
call dword [sym.imp.USER32.dll_BlockInput]
mov byte [0x4cbd6e], 0
mov edi, 1
jmp 0x4289c6
mov dword [0x4c7a64], eax
mov edi, 1
jmp 0x4289c6
or byte [0x4cbda0], 2
cmp dword [0x4cb68c], 0
mov byte [0x4cbd6f], 1
jne case.0x42b435.69
mov edx, dword [0x4c8b90]
movzx eax, word [edx]
push eax
call fcn.004085d0
add esp, 4
mov edi, 1
jmp 0x4289c6
mov byte [0x4cbd6f], 0
mov edi, 1
jmp 0x4289c6
mov eax, dword [0x4cb4f0]
mov edi, 0x4c7a58
mov cl, 0x90
call fcn.00444ae0
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
mov edi, 0x4c7a5c
mov cl, 0x14
call fcn.00444ae0
jmp 0x4289bc
mov eax, dword [0x4cb4f0]
mov edi, 0x4c7a60
mov cl, 0x91
call fcn.00444ae0
jmp 0x4289bc
mov al, 1
mov edx, 0x4cc518
call fcn.00418260
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov ecx, esi
call fcn.00423800
push 1
push eax
call fcn.00401430
add esp, 8
mov edi, 1
jmp 0x4289c6
mov ecx, dword [0x4cb4f4]
mov ebx, dword [0x4cb4fc]
mov edx, dword [0x4cb4f8]
push ecx
mov ecx, dword [0x4cb500]
call fcn.004739a0
jmp 0x4289bc
mov edx, dword [0x4cb4f0]
mov ecx, dword [0x4cb4fc]
mov ebx, dword [0x4cb4f8]
push edx
mov edx, dword [0x4cb4f4]
push esi
call fcn.00473be0
jmp 0x4289bc
cmp byte [esi + 1], 3
mov ecx, dword [0x4cb4f4]
mov edx, dword [0x4cb4f0]
sbb eax, eax
not eax
and eax, dword [0x4cb4f8]
push eax
push ecx
push esi
call fcn.00473d30
jmp 0x4289bc
mov eax, 2
cmp byte [esi + 1], al
jae 0x42b867
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42b867
lea edx, [edi + 0x808]
push edx
lea eax, [edi + 8]
push eax
mov eax, dword [edi + 4]
push esi
call fcn.00473db0
jmp 0x4289bc
lea ecx, [esp + 0x2f]
push ecx
mov ecx, dword [0x4cb4f4]
lea edx, [esp + 0x50]
push edx
push ecx
call fcn.00416110
mov ebx, eax
mov eax, dword [esp + 0x58]
add esp, 0xc
test eax, eax
jne 0x42b89b
mov eax, dword [0x4cb4f8]
mov ecx, dword [0x4cb4fc]
mov dword [esp + 0x4c], eax
jmp 0x42b8a1
mov ecx, dword [0x4cb4f8]
push ecx
push eax
push esi
mov eax, ebx
call fcn.00473db0
cmp byte [esp + 0x2f], 0
mov edi, eax
je 0x4289be
test ebx, ebx
je 0x4289be
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4289be
mov eax, 2
cmp byte [esi + 1], al
jae 0x42b903
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42b903
mov edx, dword [0x4cb4f0]
push edx
lea eax, [edi + 0x808]
push eax
mov eax, dword [edi + 4]
lea ecx, [edi + 8]
push ecx
mov ecx, dword [edi + 0x1008]
push esi
call fcn.00474150
jmp 0x4289bc
lea edx, [esp + 0x2f]
push edx
mov edx, dword [0x4cb4f4]
lea ecx, [esp + 0x50]
push ecx
push edx
call fcn.00416110
mov ebx, eax
mov eax, dword [esp + 0x58]
add esp, 0xc
test eax, eax
jne 0x42b93d
mov eax, dword [0x4cb4f8]
mov ecx, dword [0x4cb4fc]
mov edx, dword [0x4cb500]
mov dword [esp + 0x4c], eax
jmp 0x42b949
mov ecx, dword [0x4cb4f8]
mov edx, dword [0x4cb4fc]
mov esi, dword [0x4cb4f0]
push edx
push ecx
push eax
call fcn.004162e0
mov ecx, eax
mov eax, dword [esp + 0x1c]
push eax
mov eax, ebx
call fcn.00474150
cmp byte [esp + 0x2f], 0
mov edi, eax
je 0x42b979
test ebx, ebx
je 0x42b979
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [esp + 0x10]
jmp 0x4289be
cmp byte [esi + 1], 1
jae 0x42b9f6
mov eax, dword [edi + 0x14]
test eax, eax
je 0x42b9f6
cmp dword [eax + 0x1008], 0xfffffffe
lea ecx, [eax + 8]
jne 0x42b9d9
cmp word [ecx], 0
je 0x42b9cf
add eax, 0x808
push eax
push ecx
push 0x4ac11c
mov esi, 0x400
lea edi, [esp + 0x14c]
call fcn.00477380
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, edi
mov edi, dword [esp + 0x14]
xor eax, eax
jmp 0x42b9de
lea ecx, [eax + 0x808]
xor eax, eax
jmp 0x42b9de
add eax, 0x808
mov edx, dword [edi + 0x14]
mov ebx, dword [edx + 4]
push eax
push esi
mov edi, ecx
mov dword [esp + 0x54], ecx
call fcn.00474560
jmp 0x4289bc
mov edx, dword [0x4cb4f0]
lea eax, [esp + 0x2f]
push eax
lea ecx, [esp + 0x50]
push ecx
push edx
mov eax, 2
call fcn.00416110
add esp, 0xc
cmp dword [esp + 0x4c], 0
mov ebx, eax
jne 0x42ba2e
mov eax, dword [0x4cb4f4]
mov edi, dword [0x4cb4f8]
mov dword [esp + 0x4c], eax
jmp 0x42ba34
mov edi, dword [0x4cb4f4]
cmp word [edi], 0
jne 0x42ba3e
xor edi, edi
jmp 0x42ba55
push 0x4ac128
push edi
call fcn.00490f59
add esp, 8
test eax, eax
jne 0x42ba55
mov edi, 0x4a4910
push edi
mov edi, dword [esp + 0x50]
push esi
call fcn.00474560
cmp byte [esp + 0x2f], 0
mov edi, eax
je 0x4289be
test ebx, ebx
je 0x4289be
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4289be
mov esi, dword [0x4cb4f0]
call fcn.00416360
mov esi, eax
cmp esi, 0xffffffff
jne 0x42bab3
mov ecx, dword [0x4cb4f0]
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0x4a7ac4
call fcn.004309e0
mov esi, dword [esp + 0x10]
jmp 0x4289bc
call fcn.00478990
test eax, eax
je 0x42bac2
mov dword [edi + 0xd0], esi
mov esi, dword [esp + 0x10]
mov edi, 1
jmp 0x4289c6
mov edx, dword [0x4cb4f0]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov ecx, esi
call fcn.00423800
push eax
call fcn.00456630
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov edi, ecx
jmp 0x4289be
mov eax, dword [0x4cb4f0]
call fcn.00416e60
cmp eax, 0xffffffff
jne 0x42bb30
mov edx, dword [0x4cb4f0]
push edx
push 0
push 0x4a7ac4
mov ecx, esi
call fcn.004309e0
jmp 0x4289bc
mov dword [edi + 0xfc], eax
mov edi, 1
jmp 0x4289c6
xor edi, edi
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esp + 0x40]
mov dword [edx], eax
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
jmp case.0x4278c4.116
test ebx, ebx
je 0x42bbe8
cmp dword [ebx + 8], 0
jne 0x42bbe8
mov ecx, dword [0x4cb498]
test ecx, ecx
je 0x42bbd9
cmp byte [ecx + 0x17], 0
jne 0x42bba7
mov eax, dword [ecx + 0xc]
jmp 0x42bba9
mov eax, ecx
test byte [eax + 0x15], 2
je 0x42bbd9
mov eax, ebx
call fcn.00415820
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebx + 8], 0
mov edx, dword [0x4cb4f0]
mov dword [ebx], edx
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42bc1d
mov eax, dword [esp + 0x40]
mov dword [eax], esi
jmp case.0x4278c4.116
mov eax, 5
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42bc46
mov ecx, dword [esp + 0x40]
mov dword [ecx], esi
mov eax, 6
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4cb4f4]
mov ecx, dword [esp + 0x10]
push edx
push 0
push 0x4a7af0
call fcn.004309e0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x4cb4f8]
push eax
push 0
push 0x4a7b1c
mov ecx, esi
call fcn.004309e0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
jmp 0x42bb61
cmp dword [esp + 0x1c], 0
je 0x42bcda
lea esi, [esp + 0x1c]
call fcn.004311c0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x427895
cmp eax, 8
je 0x427895
mov ecx, dword [0x4ccb4c]
push 0x4a4910
push 0
push 0x4aba30
call fcn.004309e0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x40]
mov dword [eax], edx
jmp case.0x4278c4.116
mov ecx, dword [esp + 0x40]
mov dword [ecx], edx
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 1], 0
jne 0x42bd73
push 0x4a4910
push 0
push 0x4abf4c
mov ecx, esi
call fcn.004305e0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x10
call fcn.00492108
mov edi, eax
xor eax, eax
add esp, 4
cmp edi, eax
jne 0x42bdae
push 0x4a4910
push eax
push 0x4a76c0
mov ecx, esi
call fcn.004309e0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4cc47c]
mov ecx, dword [0x4cc480]
push eax
mov dword [esp + 0x40], edx
lea edx, [esp + 0x40]
push edx
push eax
push esi
lea ebx, [esp + 0x2c]
mov esi, edi
mov dword [esp + 0x2c], ecx
mov dword [0x4cc47c], eax
mov dword [0x4cc480], eax
call fcn.0045cc60
mov ebx, dword [esp + 0x3c]
mov esi, eax
cmp esi, 1
jne 0x42be09
cmp dword [edi + 8], 0
jne 0x42be09
cmp dword [edi], ebx
jne 0x42be09
cmp dword [esp + 0x1c], 0x400000
mov dword [edi + 0xc], ebx
jbe 0x42be6e
dec dword [0x4cc484]
jmp 0x42be6e
test ebx, ebx
je 0x42be40
mov eax, dword [0x4cc47c]
test eax, eax
je 0x42be31
push eax
call fcn.004915f6
add esp, 4
cmp dword [0x4cc480], 0x400000
jbe 0x42be31
dec dword [0x4cc484]
mov eax, dword [esp + 0x1c]
mov dword [0x4cc47c], ebx
mov dword [0x4cc480], eax
cmp esi, 1
je 0x42be67
push edi
call fcn.004915eb
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [edi + 0xc], 0
mov eax, dword [esp + 0x48]
test byte [eax + 0x100], 2
mov dword [eax + 0x104], edi
jne 0x42be8e
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00430ea0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4c8b90]
cmp word [edx], 0
jne 0x42bed7
cmp dword [0x4cbdd0], 0
jne 0x42bed7
cmp dword [0x4cb688], 0
jne 0x42bed7
cmp dword [0x4cb68c], 0
jne 0x42bed7
cmp byte [0x4cb696], 0
je case.0x4278c4.224
mov eax, 8
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor edi, edi
mov ecx, esi
call fcn.00423800
push eax
push 6
push 0x4cc518
call fcn.00418290
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 2
je case.0x4278c4.116
push 0x4a4910
push 0
push 0x4abf80
mov ecx, esi
call fcn.004309e0
mov ecx, dword [esp + 0x974]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc