Function at 0x424e00
Capabilities:
Check for time delay via gettickcount
Empty the recycle bin
Move file
Print debug messages
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4dcbcb
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
xor edi, edi
mov dword [esp + 0xa4], ecx
cmp eax, edi
jne 0x424e3b
lea eax, [esp + 0xa0]
mov ebx, dword [0x5165ec]
mov edx, eax
mov esi, ecx
mov dword [esp + 0x78], eax
mov dword [edx], edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], esi
cmp ecx, edi
je 0x425155
mov edi, edi
cmp dword [0x51c0b4], edi
je 0x424e94
cmp dword [0x51c0a4], edi
je 0x424e82
mov eax, dword [0x51c09c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [0x51c0a4], edi
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x51c0b4], edi
mov dword [0x51c09c], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x5165ec]
mov edi, eax
mov ecx, edi
sub ecx, dword [0x51cbec]
cmp ecx, dword [edx + 0xd8]
jbe 0x424ee6
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 0x424ed8
push 1
push 0xffffffffffffffff
call fcn.00401930
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov dword [0x51cbec], edi
cmp byte [ebx + 0xec], 0
jne 0x424f17
cmp byte [ebx + 0xee], 0
jne 0x424f17
mov ecx, dword [0x51cbe0]
cmp ecx, 0xffffffff
jle 0x424f17
mov eax, dword [ebx + 0x28]
cmp eax, ecx
jle 0x424f13
mov byte [ebx + 0xec], 1
jmp 0x424f17
inc eax
mov dword [ebx + 0x28], eax
call fcn.00401230
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
cmp eax, 0xffffffff
jl 0x424f3f
jg 0x424f2d
cmp ecx, 0xffffffff
jbe 0x424f3f
cmp dword [0x51cbdc], eax
jg 0x424f51
jl 0x424f3f
cmp dword [0x51cbd8], ecx
jae 0x424f51
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
jle 0x424f5d
sub edi, dword [0x51cbe8]
cmp edi, eax
jb 0x424f5d
push 1
push 0xa
call fcn.00401930
add esp, 8
cmp byte [ebx + 0xf8], 0
je 0x424f88
jmp 0x424f70
push 1
push 0x8000012f
call fcn.00401930
add esp, 8
cmp byte [ebx + 0xf8], 0
jne 0x424f70
mov dword [0x51c728], esi
cmp byte [ebx + 0xf9], 0
je 0x424fd0
mov ecx, dword [0x51bfe8]
mov dword [ecx*4 + 0x51b9a8], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x51bfe8]
mov dword [ecx*4 + 0x51a7c8], eax
inc ecx
mov dword [0x51bfe8], ecx
cmp ecx, 0x190
jl 0x424fd0
mov dword [0x51bfe8], 0
movzx eax, word [esi]
cmp eax, 1
je 0x424fff
cmp eax, 0x6b
je 0x424fff
cmp eax, 0x72
je 0x424fff
mov edi, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push edi
push esi
call fcn.00459620
mov dword [esp + 0x58], eax
cmp eax, 1
jne 0x42515a
jmp 0x425002
mov edi, dword [ebp + 0xc]
movzx eax, word [esi]
cmp eax, 9
jb 0x425171
cmp eax, 0x20
ja 0x425171
add dword [0x51cbd8], 1
push esi
adc dword [0x51cbdc], 0
call fcn.0042a0c0
mov ebx, 3
cmp eax, ebx
jne 0x4250c4
mov ecx, dword [esi + 0x18]
cmp word [ecx], 0x73
jne 0x425062
mov ecx, dword [ecx + 0x18]
lea edx, [esp + 0x5c]
push edx
push edi
push 2
call fcn.00424e00
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov ecx, dword [esi + 0x18]
cmp edx, ecx
je 0x425041
jmp 0x425076
lea eax, [esp + 0x5c]
push eax
push edi
push ebx
call fcn.00424e00
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
cmp edx, esi
je 0x428b1e
cmp dword [ebp + 8], ebx
je 0x42969d
cmp eax, 1
jne 0x42969d
test edx, edx
je 0x4250a9
mov ecx, dword [edx + 0x20]
cmp ecx, dword [esi + 0x20]
jne 0x429692
mov dword [esp + 0x48], edx
jmp 0x428b1a
mov esi, dword [esi + 0x1c]
cmp word [esi], 0x21
mov dword [esp + 0x48], esi
jne 0x428b1a
mov edx, esi
mov eax, dword [edx + 0x1c]
jmp 0x428b16
mov esi, dword [esi + 0x1c]
cmp word [esi], 0x21
mov dword [esp + 0x48], esi
jne 0x42514c
mov ecx, dword [esi + 0x18]
cmp word [ecx], 0x73
jne 0x425101
lea ebx, [ebx]
mov ecx, dword [ecx + 0x18]
lea edx, [esp + 0x5c]
push edx
push edi
push 2
call fcn.00424e00
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov ecx, dword [esi + 0x18]
cmp edx, ecx
je 0x4250e0
jmp 0x425115
lea eax, [esp + 0x5c]
push eax
push edi
push ebx
call fcn.00424e00
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
cmp dword [ebp + 8], ebx
je 0x42969d
cmp eax, 1
jne 0x42969d
test edx, edx
je 0x425140
mov ecx, dword [edx + 0x20]
cmp ecx, dword [esi + 0x20]
jne 0x4296bd
mov dword [esp + 0x48], edx
jmp 0x428b1a
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x48], edx
jmp 0x428b1a
cmp dword [ebp + 8], ebx
jne 0x428b1a
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
xor edx, edx
cmp dword [0x51aeb0], edx
jne 0x42519b
cmp dword [0x51aeb4], edx
jne 0x42519b
cmp dword [0x51aeb8], edx
jne 0x42519b
cmp dword [0x51aebc], edx
jne 0x42519b
cmp dword [0x51aec0], edx
je 0x4251aa
mov ecx, dword [esp + 0xa4]
mov eax, 0xde
mov word [ecx], ax
movzx eax, word [esi]
lea ecx, [eax - 0x60]
cmp ecx, 0x7e
ja case.0x4251c0.98
movzx ecx, byte [ecx + 0x429b44]
jmp dword [ecx*4 + 0x429b08]
add dword [0x51cbd8], 1
adc dword [0x51cbdc], edx
mov eax, dword [esi + 0x1c]
cmp eax, edx
je 0x425260
mov edx, eax
xor eax, eax
cmp dword [esi + 0x10], 1
mov dword [esp + 0x94], edx
sete al
mov edi, eax
test edi, edi
je 0x425214
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0xb4]
mov dword [eax + 0xb8], ecx
mov dword [eax + 0xb4], 0
mov ecx, edx
call fcn.00401760
mov dword [esp + 0x58], eax
test edi, edi
je 0x425240
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0xb8]
mov dword [ecx + 0xb4], edx
mov dword [ecx + 0xb8], 0
test eax, eax
je 0x42515a
cmp eax, 8
je 0x42515a
cmp dword [ebp + 8], 3
je 0x4296cc
jmp 0x428b13
push esi
mov bl, 1
call fcn.00442450
mov edx, eax
mov dword [esp + 0x94], edx
test edx, edx
je 0x429a39
mov ecx, dword [esp + 0x80]
cmp dword [ecx + 0xb4], 0
je 0x42529f
mov eax, dword [edx + 8]
call fcn.00442510
test eax, eax
je 0x42529f
mov edi, 1
jmp 0x4251f7
xor edi, edi
jmp 0x425214
add dword [0x51cbd8], 1
adc dword [0x51cbdc], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x94], eax
cmp eax, edx
jne 0x4252d8
push esi
mov bl, 1
call fcn.00442450
mov dword [esp + 0x94], eax
test eax, eax
je 0x429a39
cmp dword [ebp + 8], 3
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0xbc], eax
je 0x4296ba
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x20]
cmp edx, dword [ecx + 0x20]
jne 0x4296ba
mov dword [esp + 0x48], ecx
jmp 0x428b1a
add dword [0x51cbd8], 1
mov eax, dword [esp + 0xa4]
adc dword [0x51cbdc], edx
mov edi, dword [eax + 0x10]
cmp edi, edx
jne 0x425352
mov eax, dword [0x51ae58]
mov ebx, eax
cmp word [eax], dx
je 0x425350
mov edi, dword [0x51c130]
test edi, edi
je 0x425350
mov ecx, dword [edi + 4]
push ebx
push ecx
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x425352
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x425338
xor edi, edi
mov dword [esp + 0x58], 1
mov dword [esp + 0x70], 0
test edi, edi
je 0x425474
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x42538b
push 0x4ec270
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x42538b
mov al, 1
jmp 0x42538d
xor al, al
lea edx, [esp + 0x94]
push edx
push eax
push edi
xor eax, eax
call fcn.004b1f40
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x94]
test eax, eax
je 0x425474
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x425402
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4253cd
cmp edx, ecx
je 0x425402
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x4253c2
push 0x4f5ac4
push 0
push 0x4f4938
call fcn.004a4b10
add esp, 4
push eax
mov ecx, esi
call fcn.0042dd40
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 + 0x80]
mov edx, dword [ebx + 0xb4]
test edx, edx
je 0x4254a3
call fcn.00442510
test eax, eax
je 0x4254a3
mov edi, 1
mov dword [ebx + 0xb8], edx
mov dword [ebx + 0xb4], 0
mov ecx, dword [esp + 0x94]
call fcn.00401760
mov dword [esp + 0x58], eax
test edi, edi
je 0x425463
mov ecx, dword [ebx + 0xb8]
mov dword [ebx + 0xb4], ecx
mov dword [ebx + 0xb8], 0
test eax, eax
je 0x42515a
cmp eax, 8
je 0x42515a
cmp dword [esp + 0x70], 0
mov ecx, dword [esp + 0xa4]
sete dl
movzx eax, dl
push eax
push ecx
call fcn.0042db70
cmp dword [ebp + 8], 3
je 0x4296c8
mov edx, dword [esi + 0x18]
mov dword [esp + 0x48], edx
jmp 0x428b1a
xor edi, edi
jmp 0x425439
mov edi, dword [esi + 0x10]
mov eax, edi
dec eax
je 0x4254f9
sub eax, 3
je 0x4254db
sub eax, 5
jne 0x425572
push eax
push eax
mov eax, dword [0x51ae5c]
push 1
push eax
call fcn.0041b5a0
add esp, 0x10
mov dword [esp + 0x9c], eax
jmp 0x425572
mov ecx, dword [0x51ae58]
push 0
push 0
push 0
push ecx
call fcn.0041b5a0
add esp, 0x10
mov dword [esp + 0x9c], eax
jmp 0x425572
movzx eax, byte [esi + 2]
sub eax, edx
je 0x42556d
dec eax
je 0x42552f
mov edx, dword [0x51ae58]
push str.Read
push edx
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x425521
lea edi, [eax + 5]
jmp 0x425572
mov eax, dword [0x51ae58]
push 0
push 0
push 0
push eax
jmp 0x425552
mov eax, dword [0x51ae58]
push 0
push 1
push 1
push 1
call fcn.004abed0
add esp, 0x10
test eax, eax
jne 0x42556d
mov edx, dword [0x51ae58]
push eax
push eax
push eax
push edx
call fcn.0041b5a0
xor ecx, ecx
add esp, 0x10
test eax, eax
setne cl
mov dword [esp + 0x9c], eax
lea edi, [ecx + 3]
jmp 0x425572
mov edi, 2
lea eax, [edi - 3]
cmp eax, 7
ja case.0x425585.5
movzx edx, byte [eax + 0x429bd0]
jmp dword [edx*4 + 0x429bc4]
mov esi, dword [0x51ae5c]
call fcn.0041be00
mov dword [esp + 0x8c], eax
test eax, eax
je 0x4297ae
mov eax, dword [0x51ae60]
cmp word [eax], 0x31
jne 0x4255c9
cmp word [eax + 2], 0
jne 0x4255c9
mov esi, dword [esp + 0x48]
mov byte [esp + 0x90], 1
jmp case.0x425585.5
mov esi, dword [esp + 0x48]
mov byte [esp + 0x90], 0
jmp case.0x425585.5
cmp edi, 4
jne 0x42561f
mov esi, dword [0x51ae60]
call fcn.0041be00
mov dword [esp + 0x8c], eax
mov eax, dword [0x51ae64]
cmp word [eax], 0x31
jne 0x425611
cmp word [eax + 2], 0
jne 0x425611
mov esi, dword [esp + 0x48]
mov byte [esp + 0x90], 1
jmp 0x425646
mov esi, dword [esp + 0x48]
mov byte [esp + 0x90], 0
jmp 0x425646
mov eax, dword [0x51ae60]
call fcn.0041be50
mov dword [esp + 0x8c], eax
shr eax, 2
and al, 1
mov byte [esp + 0x90], al
je 0x425646
and dword [esp + 0x8c], 0xfffffffb
cmp dword [esp + 0x8c], 0
je 0x4297e5
mov byte [esp + 0x57], 0
mov dword [esp + 0x5c], 0
mov ebx, dword [esi + 0x1c]
cmp word [ebx], 0x6c
mov dword [esp + 0x70], ebx
jne 0x425677
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x70], eax
jmp 0x425679
xor ebx, ebx
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc8], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xcc], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
cmp edi, 8
je 0x4256c3
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
lea eax, [edi - 2]
cmp eax, 8
ja case.default.0x4256cf
jmp dword [eax*4 + 0x429bd8]
cmp byte [esi + 2], 0
jbe 0x4256ef
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov byte [esp + 0xbc], 0
jmp 0x4256fb
xor eax, eax
xor edx, edx
mov byte [esp + 0xbc], 1
mov ecx, dword [esp + 0xbc]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ebx
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x6b]
push eax
push ecx
mov edi, esi
call fcn.0042b7d0
mov dword [esp + 0x58], eax
jmp case.default.0x4256cf
mov ebx, dword [ebp + 0xc]
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x5b]
push eax
call fcn.0042b930
mov esi, dword [esp + 0x48]
mov dword [esp + 0x58], eax
jmp case.default.0x4256cf
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x5f]
push edx
push eax
push esi
call fcn.0042bb20
mov dword [esp + 0x58], eax
jmp case.default.0x4256cf
mov ecx, dword [0x51ae60]
push 0x4f0998
push ecx
call fcn.004c9bad
mov ecx, dword [ebp + 0xc]
add esp, 8
push ebx
lea edx, [esp + 0x60]
push edx
test eax, eax
lea eax, [esp + 0x5f]
push eax
push ecx
push esi
je 0x425797
call fcn.0042c880
mov dword [esp + 0x58], eax
jmp case.default.0x4256cf
call fcn.0042cb70
mov dword [esp + 0x58], eax
jmp case.default.0x4256cf
lea esi, [esp + 0xec]
call fcn.0041c4b0
mov dword [esp + 0x97c], 0
mov edx, dword [0x51ae5c]
cmp word [edx], 0
je 0x425818
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0xfc]
and eax, 0x7fffffff
push 0x30c
mov ecx, esi
call fcn.004a5710
test al, al
je 0x425818
mov ecx, esi
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x60]
push edx
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x5f]
push eax
push ecx
mov ecx, dword [0x51ae60]
push edx
mov edx, ebx
call fcn.0042ce80
mov dword [esp + 0x58], eax
call fcn.0041c410
jmp 0x425820
mov dword [esp + 0x58], 1
lea ecx, [esp + 0xec]
mov dword [esp + 0x97c], 0xffffffff
call fcn.0041c500
mov esi, dword [esp + 0x48]
jmp case.default.0x4256cf
mov eax, dword [0x51ae58]
cmp edi, 3
je 0x42584f
mov eax, dword [0x51ae5c]
mov ecx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x94]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x6b]
push eax
push ecx
mov ecx, esi
call fcn.0042c040
mov dword [esp + 0x58], eax
jmp case.default.0x4256cf
lea edx, [esp + 0x8a]
push edx
cmp edi, 4
jne 0x4258aa
mov eax, dword [0x51ae58]
push 0
push 0
push eax
call fcn.0041b5a0
mov ecx, dword [0x51ae5c]
mov dword [esp + 0xa8], ecx
jmp 0x4258c0
mov ecx, dword [0x51ae5c]
lea eax, [esp + 0x9c]
push eax
push 1
push ecx
call fcn.0041b5a0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x425917
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x90]
push edi
push eax
push ecx
push edx
mov edx, dword [ebp + 0xc]
push ebx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x73]
push ecx
push edx
mov ecx, esi
call fcn.0042c450
cmp byte [esp + 0x8a], 0
mov dword [esp + 0x58], eax
je case.default.0x4256cf
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp case.default.0x4256cf
mov dword [esp + 0x58], 1
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x42515a
cmp eax, 7
je 0x42515a
cmp eax, 8
je 0x42515a
cmp byte [esp + 0x57], 0
jne 0x428b1e
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x42599e
mov edx, dword [ecx + 0x20]
cmp edx, dword [esi + 0x20]
jne 0x429ad0
mov dword [esp + 0x48], ecx
mov esi, ecx
jmp 0x428b1e
cmp dword [ebp + 8], 3
je 0x425155
mov eax, dword [esp + 0x70]
jmp 0x428b16
mov ecx, eax
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x64], eax
cmp ecx, 0x70
jne 0x425a45
mov eax, dword [esp + 0x80]
mov ecx, dword [0x51ae08]
mov ebx, dword [eax + 0x104]
mov dword [esp + 0x70], ebx
mov dword [eax + 0x104], edx
test ecx, ecx
je 0x4259fe
mov eax, ebx
mov ebx, ecx
call fcn.004ae8c0
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x58], eax
jmp 0x425a06
mov dword [esp + 0x58], 1
cmp dword [ebx + 8], 6
jne 0x425a16
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x425a26
push eax
call fcn.004ca991
add esp, 4
push ebx
call fcn.004cb3e6
add esp, 4
cmp dword [esp + 0x58], 0
je 0x429a39
mov ebx, dword [esp + 0x80]
xor edx, edx
jmp 0x425a60
or eax, 1
mov dword [ebx + 0x100], eax
mov ecx, dword [esi + 0x1c]
cmp word [ecx], 0x71
je 0x425a60
or eax, 2
mov dword [ebx + 0x100], eax
mov dword [esp + 0x5c], edx
mov ecx, dword [esi + 0x18]
cmp word [ecx], 0x73
jne 0x425a91
lea ecx, [ecx]
mov ecx, dword [ecx + 0x18]
lea edx, [esp + 0x5c]
push edx
push edi
push 2
call fcn.00424e00
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov ecx, dword [esi + 0x18]
cmp edx, ecx
je 0x425a70
jmp 0x425aa6
lea eax, [esp + 0x5c]
push eax
push edi
push 3
call fcn.00424e00
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x48], esi
cmp cx, 0x6f
jne 0x425b13
mov ecx, dword [esp + 0x64]
mov dword [ebx + 0x100], ecx
xor cl, cl
cmp word [esi], 0x70
jne 0x425adf
cmp dword [ebx + 0x104], 0
mov cl, 1
jne 0x428b1a
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x48], esi
cmp word [esi], 0x71
je 0x425b27
test cl, cl
jne 0x425bee
cmp dword [ebx + 0x104], 0
lea esi, [ebx + 0x104]
je 0x425bee
call fcn.0042e3b0
mov eax, 1
mov dword [esp + 0x58], eax
jmp 0x425bea
cmp cx, 0x70
jne 0x425bee
cmp word [esi], 0x71
jne 0x425bee
cmp eax, 1
jne 0x425b38
test edx, edx
je 0x428b1a
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x80]
mov ebx, dword [eax + 0x104]
mov edx, dword [0x51bff4]
mov edi, dword [0x51bff0]
xor ecx, ecx
mov dword [eax + 0x104], ecx
lea eax, [esp + 0xd0]
push eax
push ecx
mov dword [0x51bff0], ecx
mov dword [0x51bff4], ecx
push 3
mov ecx, esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x88], edx
call fcn.00424e00
mov dword [esp + 0x70], eax
test edi, edi
je 0x425bbe
mov eax, dword [0x51bff0]
test eax, eax
je 0x425bae
push eax
call fcn.004ca991
add esp, 4
cmp dword [0x51bff4], 0x400000
jbe 0x425bae
dec dword [0x51bff8]
mov ecx, dword [esp + 0x7c]
mov dword [0x51bff0], edi
mov dword [0x51bff4], ecx
mov eax, dword [esp + 0x70]
cmp eax, 1
jne 0x42981a
cmp dword [esp + 0xd0], 0
jne 0x42981a
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x58]
mov dword [edx + 0x104], ebx
mov edx, dword [esp + 0x5c]
cmp dword [ebp + 8], 3
je 0x42969d
cmp eax, 1
jne 0x42969d
test edx, edx
je 0x428b1a
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + 0x20]
jne 0x4296bd
mov dword [esp + 0x48], edx
jmp 0x428b1a
cmp dword [esi + 0x10], 1
jne 0x425c30
mov eax, dword [esi + 0x1c]
jmp 0x428b16
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esi + 0x18]
push edi
push 2
call fcn.00424e00
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
cmp ecx, esi
je 0x428b1e
cmp dword [ebp + 8], 3
je 0x429ad0
cmp eax, 1
jne 0x429ad0
test ecx, ecx
je 0x425c28
mov edx, dword [esi + 0x20]
cmp edx, dword [ecx + 0x20]
jne 0x429ac5
mov dword [esp + 0x48], ecx
mov esi, ecx
jmp 0x428b1e
call fcn.004011b0
add dword [0x51cbd8], 1
mov eax, dword [0x51ae08]
mov edi, dword [0x5165ec]
adc dword [0x51cbdc], 0
movzx ecx, word [esi]
lea edx, [ecx - 1]
mov ebx, eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edi
cmp edx, 0x127
ja case.0x425cbf.8
movzx edx, byte [edx + 0x429ed4]
jmp dword [edx*4 + 0x429bfc]
mov eax, dword [0x51ae68]
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae60]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0047a720
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae5c]
push eax
push esi
call fcn.0047aba0
jmp 0x428afd
mov ecx, dword [0x51ae68]
mov edx, dword [0x51ae64]
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push edx
push eax
push ecx
mov ecx, dword [0x51ae58]
push esi
call fcn.0047aef0
jmp 0x428afd
mov ecx, dword [0x51ae58]
push esi
call fcn.00480db0
jmp 0x428afd
mov edi, 4
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 1
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
xor edi, edi
mov ecx, esi
call fcn.004215b0
push eax
mov eax, esi
call fcn.00480c00
jmp 0x428afd
mov edi, 6
mov ecx, esi
call fcn.004215b0
mov edx, dword [0x51ae68]
push eax
mov eax, dword [0x51ae64]
push edx
push eax
push ecx
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae60]
add esp, 4
push eax
push esi
call fcn.00488100
jmp 0x428afd
mov ecx, dword [0x51ae68]
push ecx
push ecx
mov edi, 3
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 1
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
push esi
call fcn.00487060
jmp 0x428afd
mov edx, dword [0x51ae6c]
mov eax, dword [0x51ae68]
push edx
push eax
mov edi, 3
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae60]
push eax
push ecx
push esi
call fcn.0047ff80
jmp 0x428afd
mov edx, dword [0x51ae6c]
push edx
push ecx
mov edi, 3
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae68]
add esp, 4
push eax
mov eax, dword [0x51ae60]
push eax
push esi
call fcn.004807c0
jmp 0x428afd
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae60]
push ecx
push edx
push esi
call fcn.0047f860
jmp 0x428afd
mov eax, dword [0x51ae64]
push eax
push ecx
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae5c]
add esp, 4
push eax
push ecx
push esi
call fcn.0047fae0
jmp 0x428afd
mov edx, dword [0x51ae60]
mov eax, dword [0x51ae5c]
mov ecx, dword [0x51ae64]
push edx
push eax
push esi
call fcn.0047f330
jmp 0x428afd
mov ecx, dword [0x51ae74]
push ecx
push ecx
mov edi, 6
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 5
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 4
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 3
mov ecx, esi
call fcn.004215b0
push eax
push esi
call fcn.0048e470
jmp 0x428afd
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae58]
push esi
call fcn.00491d20
jmp 0x428afd
mov edx, dword [0x51ae70]
mov eax, dword [0x51ae6c]
push edx
push eax
mov edi, 4
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 1
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
push esi
call fcn.00492180
jmp 0x428afd
mov ecx, dword [0x51ae64]
push ecx
push ecx
mov edi, 1
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
xor edi, edi
mov ecx, esi
call fcn.004215b0
push eax
push esi
call fcn.00498a00
jmp 0x428afd
mov edx, dword [0x51ae64]
push edx
push ecx
mov edi, 2
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ebx, dword [0x51ae58]
push eax
push esi
call fcn.0049a600
jmp 0x428afd
mov eax, dword [0x51ae74]
push eax
push ecx
mov edi, 6
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 5
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 4
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 3
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae58]
add esp, 4
push eax
push ecx
push esi
call fcn.0049baa0
jmp 0x428afd
mov edx, dword [0x51ae68]
push edx
push ecx
mov edi, 3
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov eax, dword [0x51ae60]
push eax
push esi
call fcn.0049dfb0
jmp 0x428afd
mov ecx, dword [0x51ae60]
mov edx, dword [0x51ae64]
push ecx
push esi
call fcn.0049e320
jmp 0x428afd
mov edx, dword [0x51ae64]
mov eax, dword [0x51ae60]
mov ecx, dword [0x51ae58]
push edx
push eax
push esi
call fcn.00481930
jmp 0x428afd
push esi
call fcn.0043b9e0
jmp 0x428afd
cmp byte [esi + 2], 1
mov edx, dword [0x51ae5c]
jbe 0x426115
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x11], 0
je 0x4260bd
mov eax, 1
jmp 0x428afd
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4260d6
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
push ebx
call fcn.0041ad20
jmp 0x428afd
mov eax, dword [0x51ae0c]
test eax, eax
je 0x426115
cmp word [edx], 0
jne 0x426115
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4260f2
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
dec ecx
je 0x426109
sub ecx, 2
jne 0x426115
mov eax, ebx
call fcn.004ae9d0
jmp 0x428afd
mov ecx, ebx
call fcn.004ae740
jmp 0x428afd
push 1
push 0
push 0xffffffffffffffff
push edx
push ebx
call fcn.004aefb0
jmp 0x428afd
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x1c], 0
je 0x426143
cmp byte [eax + 0x11], 0
jne 0x426143
mov eax, 1
mov dword [esp + 0x4c], eax
xor edi, edi
jmp 0x426184
mov edi, dword [0x51ae0c]
mov eax, dword [0x51ae5c]
mov dword [esp + 0x4c], 0
test edi, edi
je 0x426172
cmp word [eax], 0
jne 0x426172
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x42616d
mov edx, dword [edi + 0xc]
mov cl, byte [edx + 0x17]
cmp cl, 1
je 0x4261e6
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
push 1
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0041ad80
mov dword [esp + 0x7c], eax
mov eax, dword [0x51ae60]
movzx eax, word [eax]
test ax, ax
je 0x42633e
call fcn.00409d00
movzx ecx, ax
push 0x4f0ab8
mov dword [esp + 0x74], ecx
call fcn.004a4b10
mov edx, dword [esp + 0x74]
add esp, 4
push edx
push eax
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x42633e
cmp dword [esp + 0x50], 0
jne 0x4261f5
mov eax, 1
jmp 0x428afd
test edi, edi
je 0x426174
push 1
mov ecx, edi
call fcn.0041ad80
jmp 0x426184
cmp dword [esp + 0x4c], 0
je 0x426206
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x1c]
fild qword [ecx]
jmp 0x426224
test edi, edi
je 0x426215
push 0
mov eax, edi
call fcn.0041aeb0
jmp 0x426224
mov esi, dword [0x51ae5c]
call fcn.0041ac70
mov esi, dword [esp + 0x48]
push 0
fstp qword [esp + 0x6c]
push 1
mov ecx, ebx
call fcn.004016f0
cmp word [eax], 0
je 0x42626d
lea edx, [esp + 0xa8]
push edx
push 0
push 1
mov ecx, ebx
call fcn.004016f0
call fcn.004aba90
add esp, 4
test eax, eax
jne 0x426291
push 1
push eax
push 0xffffffffffffffff
push 0x4f5ac4
push ebx
call fcn.004aefb0
jmp 0x428afd
lea eax, [esp + 0xe4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0xe8]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [0x51ae60]
mov ax, word [eax]
call fcn.00409d00
movzx eax, ax
add eax, 0xffffffbc
cmp eax, 0xf
ja case.0x4262b0.69
movzx ecx, byte [eax + 0x42a010]
jmp dword [ecx*4 + 0x429ffc]
fld qword [esp + 0x68]
fmul qword [0x50f938]
jmp 0x4262eb
fld qword [esp + 0x68]
fmul qword [0x50f930]
jmp 0x4262eb
fld qword [esp + 0x68]
fmul qword [0x50f928]
jmp 0x4262eb
fld qword [esp + 0x68]
fmul qword [0x50f920]
jmp 0x4262eb
fld qword [esp + 0x68]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
call fcn.004d8af6
add esi, eax
adc edi, edx
mov dword [esp + 0xa8], esi
push 0
lea eax, [esp + 0xac]
lea esi, [esp + 0x144]
mov dword [esp + 0xb0], edi
call fcn.004abd40
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
push ebx
call fcn.004aefb0
mov esi, dword [esp + 0x48]
jmp 0x428afd
mov eax, 2
cmp dword [esp + 0x50], eax
je 0x4263b0
cmp dword [esp + 0x7c], eax
je 0x4263b0
cmp dword [esp + 0x4c], 0
je 0x42636a
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xc4], eax
jmp 0x426391
test edi, edi
je 0x426379
push 0
mov eax, edi
call fcn.0041ae30
jmp 0x426388
mov esi, dword [0x51ae5c]
call fcn.0041ac40
mov esi, dword [esp + 0x48]
mov dword [esp + 0xc4], edx
mov edi, eax
push 0
mov eax, ebx
call fcn.0041ae30
add eax, edi
adc edx, dword [esp + 0xc4]
push edx
push eax
push ebx
call fcn.0041ad20
jmp 0x428afd
cmp dword [esp + 0x4c], 0
je 0x4263c1
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x4263df
test edi, edi
je 0x4263d0
push 0
mov eax, edi
call fcn.0041aeb0
jmp 0x4263df
mov esi, dword [0x51ae5c]
call fcn.0041ac70
mov esi, dword [esp + 0x48]
push 0
fstp qword [esp + 0x6c]
mov eax, ebx
call fcn.0041aeb0
fadd qword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push ebx
call fcn.0041ad50
jmp 0x428afd
mov eax, dword [0x51ae60]
movzx eax, word [eax]
test ax, ax
je 0x426506
call fcn.00409d00
push 0x4f0ab8
movzx edi, ax
call fcn.004a4b10
add esp, 4
push edi
push eax
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x426506
mov ecx, dword [0x51ae0c]
mov edi, dword [0x51ae5c]
test ecx, ecx
je 0x42646f
cmp word [edi], 0
jne 0x42646f
mov al, byte [ecx + 0x17]
test al, al
jne 0x42645c
mov edx, dword [ecx + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x42646f
test ecx, ecx
je 0x42646f
push 0
push 1
call fcn.004016f0
mov edi, eax
push 0
push 1
mov ecx, ebx
call fcn.004016f0
push eax
lea ebx, [esp + 0x8f]
mov eax, edi
call fcn.004abdf0
add esp, 4
cmp byte [esp + 0x8b], 0
mov edi, eax
mov ebx, edx
je 0x4264b4
mov eax, dword [esp + 0x50]
push 1
push 0
push 0xffffffffffffffff
push 0x4f5ac4
push eax
call fcn.004aefb0
jmp 0x428afd
mov ecx, dword [0x51ae60]
mov ax, word [ecx]
call fcn.00409d00
movzx eax, ax
cmp eax, 0x44
je 0x4264e3
cmp eax, 0x48
je 0x4264da
cmp eax, 0x4d
jne 0x4264f5
push 0
push 0x3c
jmp 0x4264ea
push 0
push 0xe10
jmp 0x4264ea
push 0
push 0x15180
push ebx
push edi
call fcn.004d8a10
mov edi, eax
mov ebx, edx
mov edx, dword [esp + 0x50]
push ebx
push edi
push edx
call fcn.0041ad20
jmp 0x428afd
mov eax, dword [esi + 0xc]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x426524
cmp byte [eax + 0x11], dl
jne 0x426524
mov edi, 1
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
jmp 0x426577
mov edi, dword [0x51ae0c]
mov eax, dword [0x51ae5c]
mov dword [esp + 0x4c], edx
cmp edi, edx
je 0x426561
cmp word [eax], dx
jne 0x426561
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x426549
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x426561
mov dword [esp + 0x50], edi
cmp edi, edx
je 0x426565
push 1
mov ecx, edi
call fcn.0041ad80
jmp 0x426575
mov dword [esp + 0x50], edx
push 1
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
mov edi, eax
push 1
mov ecx, ebx
call fcn.0041ad80
cmp edi, 2
je 0x4265ed
cmp eax, 2
je 0x4265ed
cmp dword [esp + 0x4c], 0
je 0x4265a5
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xdc], eax
jmp 0x4265ce
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4265b6
push 0
call fcn.0041ae30
jmp 0x4265c5
mov esi, dword [0x51ae5c]
call fcn.0041ac40
mov esi, dword [esp + 0x48]
mov dword [esp + 0xdc], edx
mov edi, eax
push 0
mov eax, ebx
call fcn.0041ae30
sub eax, edi
sbb edx, dword [esp + 0xdc]
push edx
push eax
push ebx
call fcn.0041ad20
jmp 0x428afd
cmp dword [esp + 0x4c], 0
je 0x4265fe
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x42661e
mov eax, dword [esp + 0x50]
test eax, eax
je 0x42660f
push 0
call fcn.0041aeb0
jmp 0x42661e
mov esi, dword [0x51ae5c]
call fcn.0041ac70
mov esi, dword [esp + 0x48]
push 0
fstp qword [esp + 0x6c]
mov eax, ebx
call fcn.0041aeb0
fsub qword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push ebx
call fcn.0041ad50
jmp 0x428afd
mov eax, dword [esi + 0xc]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x42665e
cmp byte [eax + 0x11], dl
jne 0x42665e
mov edi, 1
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
jmp 0x4266b1
mov edi, dword [0x51ae0c]
mov eax, dword [0x51ae5c]
mov dword [esp + 0x4c], edx
cmp edi, edx
je 0x42669b
cmp word [eax], dx
jne 0x42669b
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x426683
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x42669b
mov dword [esp + 0x50], edi
cmp edi, edx
je 0x42669f
push 1
mov ecx, edi
call fcn.0041ad80
jmp 0x4266af
mov dword [esp + 0x50], edx
push 1
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
mov edi, eax
push 1
mov ecx, ebx
call fcn.0041ad80
cmp edi, 2
je 0x42672e
cmp eax, 2
je 0x42672e
cmp dword [esp + 0x4c], 0
je 0x4266df
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xb4], eax
jmp 0x426708
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4266f0
push 0
call fcn.0041ae30
jmp 0x4266ff
mov esi, dword [0x51ae5c]
call fcn.0041ac40
mov esi, dword [esp + 0x48]
mov dword [esp + 0xb4], edx
mov edi, eax
push 0
mov eax, ebx
call fcn.0041ae30
mov ecx, dword [esp + 0xb4]
push ecx
push edi
push edx
push eax
call fcn.004d0ab0
push edx
push eax
push ebx
call fcn.0041ad20
jmp 0x428afd
cmp dword [esp + 0x4c], 0
je 0x42673f
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x42675f
mov eax, dword [esp + 0x50]
test eax, eax
je 0x426750
push 0
call fcn.0041aeb0
jmp 0x42675f
mov esi, dword [0x51ae5c]
call fcn.0041ac70
mov esi, dword [esp + 0x48]
push 0
fstp qword [esp + 0x6c]
mov eax, ebx
call fcn.0041aeb0
fmul qword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push ebx
call fcn.0041ad50
jmp 0x428afd
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x1c], 0
je 0x4267a1
cmp byte [eax + 0x11], 0
jne 0x4267a1
mov dword [esp + 0x4c], 1
mov edi, 1
xor ebx, ebx
jmp 0x4267e4
mov ebx, dword [0x51ae0c]
mov eax, dword [0x51ae5c]
mov dword [esp + 0x4c], 0
test ebx, ebx
je 0x4267d0
cmp word [eax], 0
jne 0x4267d0
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x4267cb
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x426815
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
mov edi, eax
mov ecx, dword [esp + 0x50]
push 1
call fcn.0041ad80
cmp edi, 2
je 0x42687f
cmp eax, 2
je 0x42687f
cmp dword [esp + 0x4c], 0
je 0x426824
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x426846
test ebx, ebx
je 0x4267d2
push 1
mov ecx, ebx
call fcn.0041ad80
jmp 0x4267e2
test ebx, ebx
je 0x426833
push 0
mov eax, ebx
call fcn.0041ae30
jmp 0x426842
mov esi, dword [0x51ae5c]
call fcn.0041ac40
mov esi, dword [esp + 0x48]
mov ebx, edx
mov edi, eax
mov eax, edi
or eax, ebx
jne 0x42685a
mov ecx, dword [esp + 0x50]
call fcn.0041acb0
jmp 0x428afd
mov eax, dword [esp + 0x50]
push 0
call fcn.0041ae30
push ebx
push edi
push edx
push eax
call fcn.004d8a10
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
call fcn.0041ad20
jmp 0x428afd
cmp dword [esp + 0x4c], 0
je 0x426890
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x4268ae
test ebx, ebx
je 0x42689f
push 0
mov eax, ebx
call fcn.0041aeb0
jmp 0x4268ae
mov esi, dword [0x51ae5c]
call fcn.0041ac70
mov esi, dword [esp + 0x48]
fst qword [esp + 0x68]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4268cb
mov ecx, dword [esp + 0x50]
call fcn.0041acb0
jmp 0x428afd
mov edi, dword [esp + 0x50]
push 0
mov eax, edi
call fcn.0041aeb0
fdiv qword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push edi
call fcn.0041ad50
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ebx, eax
test ebx, ebx
jns 0x426903
xor ebx, ebx
jmp 0x426915
mov edi, 1
mov ecx, esi
call fcn.00421530
cmp ebx, eax
jle 0x426915
mov ebx, eax
mov ecx, dword [0x51ae5c]
mov edx, dword [esp + 0x50]
push 1
push 0
push ebx
push ecx
push edx
call fcn.004aefb0
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ebx, eax
test ebx, ebx
jns 0x426944
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00421530
cmp ebx, eax
jbe 0x426956
mov ebx, eax
mov ecx, dword [0x51ae5c]
mov edx, dword [esp + 0x50]
push 1
push 0
sub eax, ebx
push ebx
lea eax, [ecx + eax*2]
push eax
push edx
call fcn.004aefb0
jmp 0x428afd
cmp byte [esi + 2], 4
jb 0x4269a9
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x34]
cmp word [ecx], 0
je 0x4269a9
mov edi, 3
mov ecx, esi
call fcn.004215b0
mov dword [esp + 0x4c], eax
cmp eax, 1
jge 0x4269b1
mov ecx, ebx
call fcn.0041acb0
jmp 0x428afd
mov dword [esp + 0x4c], SysReAllocString
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov edx, dword [0x51ae68]
mov ebx, eax
mov ax, word [edx]
call fcn.00409d00
cmp ax, 0x4c
jne 0x426a00
cmp ebx, 1
jge 0x4269e6
mov ecx, dword [esp + 0x50]
call fcn.0041acb0
jmp 0x428afd
mov eax, dword [esp + 0x4c]
mov ecx, 1
sub ecx, eax
add ebx, ecx
cmp ebx, 1
jge 0x426a0a
lea edx, [eax + ebx - 1]
mov dword [esp + 0x4c], edx
cmp ebx, 1
jge 0x426a0a
mov ebx, 1
mov edi, 1
mov ecx, esi
call fcn.00421530
cmp eax, ebx
jae 0x426a28
mov ecx, dword [esp + 0x50]
call fcn.0041acb0
jmp 0x428afd
mov ecx, edi
sub ecx, ebx
add eax, ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jbe 0x426a38
mov ecx, eax
mov edx, dword [0x51ae5c]
mov eax, dword [esp + 0x50]
push 1
push 0
push ecx
lea ebx, [edx + ebx*2 - 2]
push ebx
push eax
call fcn.004aefb0
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ebx, eax
test ebx, ebx
jns 0x426a6b
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00421530
cmp ebx, eax
jbe 0x426a7d
mov ebx, eax
mov ecx, dword [0x51ae5c]
mov edx, dword [esp + 0x50]
push 1
push 0
sub eax, ebx
push eax
lea ecx, [ecx + ebx*2]
push ecx
push edx
call fcn.004aefb0
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ebx, eax
test ebx, ebx
jns 0x426ab1
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00421530
cmp ebx, eax
jbe 0x426ac3
mov ebx, eax
mov ecx, dword [esp + 0x50]
push 1
push 0
sub eax, ebx
push eax
mov eax, dword [0x51ae5c]
push eax
push ecx
call fcn.004aefb0
jmp 0x428afd
push 1
push 1
mov ecx, ebx
call fcn.004016f0
mov edi, eax
cmp edi, dword [0x51ae5c]
jne 0x426b05
mov al, byte [ebx + 0x17]
test al, al
jne 0x426b01
mov edx, dword [ebx + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
je 0x426b51
push 1
push 0
mov edi, 1
mov ecx, esi
call fcn.00421530
push eax
push 0
push ebx
call fcn.004aefb0
cmp eax, edi
jne case.0x425cbf.8
push 0
push edi
mov ecx, ebx
call fcn.004016f0
mov ecx, dword [0x51ae5c]
mov edi, eax
mov edx, edi
lea ebx, [ebx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x426b40
mov eax, dword [0x51ae60]
movzx eax, word [eax]
test ax, ax
je 0x426b7f
call fcn.00409d00
cmp ax, 0x54
jne 0x426b7f
mov ecx, dword [0x51ae60]
cmp word [ecx + 2], 0
jne 0x426b7f
mov eax, edi
call fcn.0041aa90
jmp 0x426b94
cmp word [esi], 0x31
push edi
jne 0x426b8e
call dword [sym.imp.USER32.dll_CharLowerW]
jmp 0x426b94
call dword [sym.imp.USER32.dll_CharUpperW]
cmp byte [ebx + 0x17], 0
jne 0x426b9d
mov ebx, dword [ebx + 0xc]
cmp byte [ebx + 0x17], 2
jne 0x426bbb
cmp dword [0x51c0a8], 0
je 0x426bbb
mov ecx, 0x51c09c
call fcn.004049a0
jmp 0x428afd
and byte [ebx + 0x15], 0x86
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae0c]
test eax, eax
je 0x426bfb
cmp byte [eax + 0x17], 0
jne 0x426be0
mov edx, dword [eax + 0xc]
mov cl, byte [edx + 0x15]
jmp 0x426be3
mov cl, byte [eax + 0x15]
test cl, 1
je 0x426bfb
call fcn.0041b110
push 0
push eax
push ebx
call fcn.0041ad20
jmp 0x428afd
mov edi, 1
mov ecx, esi
call fcn.00421530
push 0
push eax
push ebx
call fcn.0041ad20
jmp 0x428afd
mov edi, dword [0x51ae64]
movzx eax, word [edi]
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], 0xffffffff
test ax, ax
je 0x426cb3
call fcn.00409d00
movzx eax, ax
push eax
push 0x4f0ad4
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x426cb3
cmp word [edi + 2], 0
je 0x426cb3
lea esi, [edi + 2]
call fcn.0040e380
mov esi, dword [esp + 0x48]
mov dword [esp + 0x64], eax
test eax, eax
jle 0x426dba
mov eax, dword [0x51ae60]
cmp word [eax], 0
jne 0x426cbd
mov dword [esp + 0x70], 0
mov eax, 0x4e6a28
mov edx, dword [0x51b6d0]
push 1
push 0
push 0xffffffffffffffff
push eax
push edx
call fcn.004aefb0
mov eax, dword [esp + 0x70]
cdq
push 0x18
push edx
push eax
mov eax, dword [esp + 0x5c]
call fcn.00401590
mov eax, 1
jmp 0x428afd
mov dword [esp + 0x64], 1
jmp 0x426c6c
mov ecx, dword [0x51ae5c]
mov dword [esp + 0x7c], ecx
mov edi, 4
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.004215b0
mov ebx, eax
test ebx, ebx
jns 0x426cdf
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.00421530
mov edi, eax
cmp ebx, edi
jge 0x426dba
mov edx, dword [esp + 0x68]
movzx eax, word [edx]
cmp eax, 0x31
je 0x426d7c
call fcn.00409d00
cmp ax, 0x52
je 0x426d7c
mov edi, 2
mov ecx, esi
call fcn.00421530
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x7c]
mov edi, 1
lea ecx, [eax + ebx*2]
lea esp, [esp]
mov edx, dword [0x5165ec]
mov al, byte [edx + 0xf2]
test al, al
jne 0x426d4b
mov eax, dword [esp + 0x48]
call fcn.004ac420
jmp 0x426d68
cmp al, 2
mov eax, dword [esp + 0x48]
jne 0x426d5e
push ecx
call fcn.004ac6e0
add esp, 4
jmp 0x426d68
push eax
push ecx
call fcn.004ca9f2
add esp, 8
test eax, eax
je 0x426dba
cmp edi, dword [esp + 0x64]
je 0x426da6
mov ecx, dword [esp + 0x68]
inc edi
lea ecx, [eax + ecx*2]
jmp 0x426d30
mov eax, dword [esp + 0x4c]
movzx ecx, byte [eax + 0xf2]
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov eax, edi
sub eax, ebx
push ecx
call fcn.004ac210
add esp, 0x10
test eax, eax
je 0x426dba
sub eax, dword [esp + 0x7c]
sar eax, 1
mov dword [esp + 0x70], eax
jns 0x426c7f
mov eax, 0x4eb75c
jmp 0x426c84
push esi
call fcn.0043bdf0
jmp 0x428afd
mov eax, dword [0x51ae60]
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae5c]
push eax
call fcn.00431dd0
jmp 0x428afd
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae60]
mov eax, dword [0x51ae58]
push ecx
mov ecx, dword [0x51ae5c]
push edx
push esi
call fcn.0043c010
jmp 0x428afd
mov eax, dword [0x51ae58]
push eax
mov eax, esi
call fcn.0043c7a0
jmp 0x428afd
mov ecx, dword [0x51ae58]
push ecx
mov ecx, dword [0x51ae5c]
push esi
call fcn.0043cdd0
jmp 0x428afd
push 0
push ecx
mov edi, 7
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 6
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 5
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae78]
push eax
push esi
call fcn.004907d0
jmp 0x428afd
mov edx, dword [0x51ae70]
push edx
push ecx
mov edi, 5
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.004215b0
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.004215b0
push eax
push esi
call fcn.0048a7c0
jmp 0x428afd
mov eax, dword [0x51ae64]
push eax
push ecx
mov edi, 2
mov ecx, esi
call fcn.004215b0
add esp, 4
push eax
mov edi, 1
mov ecx, esi
call fcn.004215b0
push eax
push esi
call fcn.0049b8f0
jmp 0x428afd
mov edx, dword [edi + 0xd4]
xor eax, eax
cmp ecx, 0x42
mov ecx, dword [0x51ae58]
sete al
push 0
push edx
push eax
push ecx
call fcn.0040e7f0
add esp, 0x10
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae58]
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.0040e7f0
add esp, 0x10
mov eax, 1
jmp 0x428afd
mov ecx, dword [0x51ae58]
push 0
push 2
push 0
push ecx
call fcn.0040e7f0
add esp, 0x10
mov eax, 1
jmp 0x428afd
mov edx, dword [0x51ae58]
push 0
push 0
push 0
push edx
call fcn.0040e7f0
add esp, 0x10
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae58]
push eax
call fcn.00410960
add esp, 4
jmp 0x428afd
mov edx, dword [0x51ae70]
mov eax, dword [0x51ae6c]
push 0x4f5ac4
push 0x4f5ac4
push edx
mov edx, dword [0x51ae68]
push eax
mov eax, dword [0x51ae64]
push edx
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
push eax
push ecx
call fcn.00410bd0
add esp, 0x24
jmp 0x428afd
mov edx, dword [0x51ae6c]
mov eax, dword [0x51ae64]
push edx
mov edx, dword [0x51ae70]
push eax
mov eax, dword [0x51ae68]
push edx
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
push 0x4f5ac4
push 0x4f5ac4
push edx
mov edx, dword [0x51ae58]
push eax
push ecx
call fcn.00410bd0
add esp, 0x24
jmp 0x428afd
mov edx, dword [0x51ae64]
mov eax, dword [0x51ae60]
push 0x4f5ac4
push 0x4f5ac4
push edx
mov edx, dword [0x51ae5c]
push eax
mov eax, dword [0x51ae58]
push 0x4f5ac4
push 0x4f5ac4
push edx
push eax
push ecx
mov edx, 0x4f5ac4
call fcn.00410bd0
add esp, 0x24
jmp 0x428afd
mov edi, 4
mov ecx, esi
call fcn.004215b0
push eax
mov ecx, esi
call fcn.0043ada0
jmp 0x428afd
mov eax, dword [0x51ae5c]
mov ebx, dword [0x51ae60]
mov esi, dword [0x51ae58]
cmp ecx, 0x76
push 0
sete cl
movzx edx, cl
push 0
push edx
push eax
mov eax, dword [0x51ae64]
push edi
call fcn.004afcf0
add esp, 0x14
test eax, eax
je 0x4270fb
mov ecx, dword [0x5165ec]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle 0x4270fb
push 1
push eax
call fcn.00401930
add esp, 8
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
push 9
push 0x4f0adc
call fcn.004a4b10
mov edx, dword [0x51ae58]
add esp, 4
push eax
push edx
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x427147
mov eax, dword [0x51ae5c]
cmp word [eax], 0
jne 0x427147
mov ecx, dword [0x51ae64]
cmp word [ecx], 0
jne 0x427147
mov bl, 1
jmp 0x427149
xor bl, bl
movzx eax, word [esi]
xor edx, edx
test bl, bl
setne dl
mov ecx, 0x82
dec edx
and edx, 0x14
mov dword [esp + 0x64], edx
cmp ax, cx
je 0x4271c3
mov edx, 0x83
cmp ax, dx
je 0x4271c3
mov eax, dword [0x51ae60]
cmp word [eax], 0
je 0x42720a
movzx eax, word [esi]
mov edx, 0x82
cmp ax, dx
je 0x427273
mov ecx, 0x83
cmp ax, cx
je 0x427273
mov edx, dword [0x51ae60]
mov ecx, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
push ecx
mov ecx, dword [0x51ae64]
mov edi, eax
call fcn.004342d0
jmp 0x428afd
mov ecx, dword [0x51ae60]
cmp word [ecx], 0
je 0x4271fa
mov edi, 2
mov ecx, esi
call fcn.00421660
fmul qword [0x50f870]
call fcn.004d8ac0
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x4271fa
mov dword [esp + 0x64], 0x1f4
mov edx, dword [0x51ae68]
cmp word [edx], 0
jne 0x42717e
test bl, bl
je 0x42717e
mov eax, dword [0x51ae58]
add eax, 0x12
call fcn.00409d80
cmp word [eax], 0
mov dword [esp + 0x68], eax
je 0x42717e
mov ebx, dword [0x51c130]
test ebx, ebx
je 0x42717e
jmp 0x427240
mov eax, dword [esp + 0x68]
mov ecx, dword [ebx + 4]
push eax
push ecx
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x427261
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x427240
jmp 0x42717e
mov edx, dword [esp + 0x64]
mov cx, word [esi]
push ebx
call fcn.004b1d70
jmp 0x428afd
mov ebx, dword [0x51ae58]
mov edx, 0x83
cmp ax, dx
mov edx, dword [0x51ae68]
sete al
movzx ecx, al
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [0x51ae5c]
push edx
push eax
mov eax, dword [0x51ae64]
push ecx
push edi
call fcn.004affc0
add esp, 0x14
test eax, eax
je 0x4272c6
mov edx, dword [0x5165ec]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x4272c6
push 1
push eax
call fcn.00401930
add esp, 8
mov eax, 1
jmp 0x428afd
mov ebx, dword [0x51ae5c]
call fcn.00438750
jmp 0x428afd
mov eax, dword [0x51ae5c]
mov ecx, dword [0x51ae58]
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.0042db70
jmp 0x428afd
lea ecx, [esp + 0xe0]
push ecx
push 0x3a98
push 1
push 0x4f0b00
call fcn.004a4b10
add esp, 4
push eax
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.0042db70
jmp 0x428afd
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae58]
push ecx
push edx
push esi
call fcn.004518e0
jmp 0x428afd
mov eax, dword [0x51ae58]
mov ecx, 0x51cbf0
call fcn.004a4a60
mov eax, dword [0x51ae5c]
mov ecx, 0x51cbfc
call fcn.004a4a60
mov eax, dword [0x51ae60]
mov ecx, 0x51cc08
call fcn.004a4a60
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51e6cc]
mov ecx, dword [0x51ae60]
call fcn.004ac420
test eax, eax
push 0
setne bl
push 0
push 0
mov al, 3
cmp al, byte [esi + 2]
mov eax, dword [0x51ae60]
sbb ecx, ecx
and ecx, dword [0x51ae14]
mov byte [esp + 0xe0], bl
mov edx, dword [esp + 0xe0]
push ecx
push 1
push edx
push 0
test bl, bl
sete cl
push eax
mov eax, dword [0x51ae5c]
movzx edx, cl
mov ecx, dword [0x51ae58]
push edx
push eax
push 0
push 0x51c0f8
call fcn.0042ec50
test bl, bl
je 0x428afd
test eax, eax
je 0x42740d
mov eax, 0x4e6a28
jmp 0x42741a
push 0x4f0b28
call fcn.004a4b10
add esp, 4
mov ecx, dword [0x51b6d0]
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.004aefb0
jmp 0x428afd
push esi
call fcn.004343b0
jmp 0x428afd
cmp byte [esi + 2], 2
jbe 0x42747f
mov edx, dword [0x51ae70]
mov eax, dword [0x51ae6c]
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae74]
push edx
mov edx, dword [0x51ae58]
push eax
mov eax, dword [0x51ae5c]
call fcn.00435120
jmp 0x428afd
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae58]
push 0x4f5ac4
push 0x4f5ac4
push 0x4f5ac4
push ecx
mov ecx, 0x4f5ac4
push edx
mov eax, ecx
mov edx, ecx
call fcn.00435120
jmp 0x428afd
mov eax, dword [0x51ae80]
mov ecx, dword [0x51ae7c]
mov edx, dword [0x51ae78]
push eax
mov eax, dword [0x51ae74]
push ecx
mov ecx, dword [0x51ae70]
push edx
mov edx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
push eax
push ecx
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae6c]
push esi
call fcn.004505c0
jmp 0x428afd
mov edx, dword [0x51ae64]
xor eax, eax
cmp ecx, 0x47
mov ecx, dword [0x51ae68]
sete al
push eax
mov eax, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae58]
push edx
mov edx, dword [0x51ae60]
push eax
push ecx
mov ecx, dword [0x51ae6c]
push esi
call fcn.00435260
jmp 0x428afd
mov esi, dword [0x51ae64]
push 1
xor bl, bl
call fcn.0040e3b0
add esp, 4
mov byte [esp + 0xa0], al
test al, al
jne 0x427583
mov edx, dword [0x51ae64]
push edx
push 0
push str.P__09_3yozl_.__x
call fcn.004a4b10
mov ecx, dword [esp + 0x54]
add esp, 4
push eax
call fcn.0042dd40
mov esi, dword [esp + 0x48]
jmp 0x428afd
mov eax, dword [0x51ae68]
cmp word [eax], 0
je 0x42759e
mov ecx, dword [esp + 0x48]
mov edi, 4
call fcn.004215b0
jmp 0x4275a3
mov eax, 1
mov ecx, dword [0x51ae70]
mov edx, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae58]
push edx
mov edx, dword [0x51ae6c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [0x51ae5c]
push eax
mov eax, dword [esp + 0xb4]
push eax
push ecx
mov ecx, dword [0x51ae74]
call fcn.00435320
mov esi, dword [esp + 0x48]
jmp 0x428afd
mov edx, dword [0x51ae74]
mov eax, dword [0x51ae70]
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
push eax
push ecx
mov ecx, dword [0x51ae78]
push edx
mov edx, dword [0x51ae6c]
push esi
call fcn.004359a0
jmp 0x428afd
mov eax, dword [0x51ae78]
mov ecx, dword [0x51ae74]
mov edx, dword [0x51ae70]
push eax
mov eax, dword [0x51ae6c]
push ecx
mov ecx, dword [0x51ae68]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00435bd0
jmp 0x428afd
mov edx, dword [0x51ae68]
mov eax, dword [0x51ae64]
mov ecx, dword [0x51ae60]
push edx
mov edx, dword [0x51ae5c]
push eax
push ecx
push edx
push esi
call fcn.00435d20
jmp 0x428afd
mov eax, dword [0x51ae64]
mov ecx, dword [0x51ae60]
mov edx, dword [0x51ae58]
push eax
push ecx
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae5c]
push esi
call fcn.00435f00
jmp 0x428afd
mov eax, dword [0x51ae68]
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae5c]
push eax
push ecx
mov ecx, dword [0x51ae6c]
push edx
mov edx, dword [0x51ae60]
push esi
mov esi, dword [0x51ae58]
call fcn.00436010
mov esi, dword [esp + 0x48]
jmp 0x428afd
mov eax, dword [0x51ae68]
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae64]
push ecx
mov ecx, dword [0x51ae6c]
push esi
call fcn.004360d0
jmp 0x428afd
mov edx, dword [0x51ae70]
mov eax, dword [0x51ae6c]
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
push eax
push esi
call fcn.004508c0
jmp 0x428afd
mov ecx, dword [0x51ae74]
mov edx, dword [0x51ae70]
mov eax, dword [0x51ae6c]
push ecx
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push edx
push eax
push esi
call fcn.00451090
jmp 0x428afd
mov ecx, dword [0x51ae68]
mov eax, dword [0x51ae64]
mov edx, dword [0x51ae60]
mov edi, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae6c]
call fcn.00436880
jmp 0x428afd
mov edx, dword [0x51ae70]
mov eax, dword [0x51ae6c]
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae58]
push edx
mov edx, dword [0x51ae64]
push eax
push ecx
mov ecx, dword [0x51ae74]
call fcn.00436900
jmp 0x428afd
mov edx, 0x90
cmp cx, dx
sete al
movzx ecx, al
push ecx
mov ebx, esi
call fcn.00436a40
jmp 0x428afd
mov edx, dword [0x51ae5c]
mov ecx, dword [0x51ae60]
push edx
mov edx, dword [0x51ae58]
push esi
call fcn.00436cf0
jmp 0x428afd
mov eax, dword [0x51ae6c]
mov ecx, dword [0x51ae68]
mov edx, dword [0x51ae64]
push eax
mov eax, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
push eax
push esi
call fcn.00437390
jmp 0x428afd
cmp byte [esi + 2], 1
jbe 0x427879
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae60]
mov eax, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae68]
push edx
mov edx, dword [0x51ae58]
call fcn.00437780
jmp 0x428afd
mov edi, dword [0x51ae58]
mov ecx, 0x4f5ac4
push 0x4f5ac4
mov eax, ecx
mov edx, ecx
call fcn.00442310
test eax, eax
je 0x42789e
push edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae64]
mov ecx, dword [0x51ae68]
mov edx, dword [0x51ae5c]
push eax
mov eax, dword [0x51ae60]
call fcn.004377b0
jmp 0x428afd
mov ecx, dword [0x51ae64]
mov eax, dword [0x51ae60]
mov edx, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae68]
call fcn.00437910
jmp 0x428afd
mov edx, dword [0x51ae68]
mov eax, dword [0x51ae64]
mov ecx, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae60]
push eax
push ecx
mov ecx, dword [0x51ae6c]
push esi
call fcn.00437a30
jmp 0x428afd
mov edx, dword [0x51ae64]
mov ecx, dword [0x51ae68]
mov eax, dword [0x51ae60]
push edx
mov edx, dword [0x51ae5c]
push esi
call fcn.004383a0
jmp 0x428afd
mov eax, dword [0x51ae74]
mov ecx, dword [0x51ae70]
mov edx, dword [0x51ae6c]
push eax
mov eax, dword [0x51ae68]
push ecx
push edx
push eax
mov eax, esi
call fcn.004385d0
jmp 0x428afd
mov ecx, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
push esi
call fcn.00438830
jmp 0x428afd
push 0
push 0x1a3
push 0x111
push 0
push 0x4ee690
call fcn.004a4b10
add esp, 4
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [0x5165ec]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x4272c6
push 1
push eax
call fcn.00401930
add esp, 8
mov eax, 1
jmp 0x428afd
push 0
push 0x1a0
push 0x111
push 0
push 0x4ee690
call fcn.004a4b10
add esp, 4
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [0x5165ec]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x4272c6
push 1
push eax
call fcn.00401930
add esp, 8
mov eax, 1
jmp 0x428afd
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x427a59
mov edi, dword [0x51ae58]
cmp word [edi], ax
je 0x427a59
mov eax, 0x51c0f8
call fcn.0041dd90
test eax, eax
jne 0x427a59
mov ecx, dword [0x51ae58]
push ecx
push 0
push 0x4ebab8
call fcn.004a4b10
add esp, 4
push eax
mov ecx, esi
call fcn.0042dd40
jmp 0x428afd
mov dword [0x51cb84], eax
mov eax, 1
jmp 0x428afd
mov eax, dword [esi + 0x10]
mov dl, 1
cmp dl, byte [esi + 2]
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
push edx
mov edx, dword [0x51ae58]
sbb ecx, ecx
and ecx, dword [0x51ae0c]
push eax
push edx
call fcn.0040b1b0
add esp, 0x10
jmp 0x428afd
mov ebx, dword [esi + 0x10]
test ebx, ebx
jne 0x427b15
mov ecx, dword [0x51ae58]
push 0x51c0f8
call fcn.0041ddd0
mov ebx, eax
test ebx, ebx
jne 0x427b15
mov eax, dword [0x51ae58]
cmp word [eax], bx
je 0x427ac7
push eax
jmp 0x427a3d
cmp byte [esi + 2], 0
jbe 0x427aea
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp word [eax], 0
je 0x427aea
push 0x4f5ac4
push 0
push 0x4ec0ec
jmp 0x427a44
mov ebx, dword [edi + 0xbc]
test ebx, ebx
jne 0x427b15
mov edi, dword [edi + 0xc0]
test edi, edi
je 0x427b04
mov ebx, dword [edi]
test ebx, ebx
jne 0x427b15
push 0x4f5ac4
push 0
push 0x4f0b80
jmp 0x427a44
mov eax, dword [0x51ae5c]
push 0
push 1
push 1
push 1
call fcn.004abed0
add esp, 0x10
test eax, eax
jne 0x427bdb
mov esi, dword [0x51ae5c]
push eax
call fcn.00409e20
add esp, 4
test eax, eax
jne 0x427b9f
mov ecx, dword [0x51ae5c]
push str.Delete
push ecx
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x427b76
push ebx
push 0x51c0f8
call fcn.0041dca0
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov edx, dword [0x51ae5c]
push edx
push 0
push 0x4ec128
call fcn.004a4b10
mov ecx, dword [esp + 0x54]
add esp, 4
push eax
call fcn.0042dd40
mov esi, dword [esp + 0x48]
jmp 0x428afd
jle 0x427bd7
cmp eax, 2
jg 0x427bd7
mov edx, dword [0x51ae60]
cmp eax, 1
sete al
push 0
movzx ecx, al
push ecx
push edx
push 0x4f5ac4
push ebx
mov ecx, 0x51c0f8
call fcn.0041da70
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov esi, dword [esp + 0x48]
mov ecx, dword [0x51ae5c]
cmp word [ecx], 0
mov edx, dword [0x51ae60]
jne 0x427bf7
cmp word [edx], 0
je 0x427bf7
mov al, 1
jmp 0x427bf9
xor al, al
push eax
push 1
push edx
push ecx
push ebx
mov ecx, 0x51c0f8
call fcn.0041da70
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae58]
cmp word [eax], 0
mov ebx, 0x10
je 0x427c48
push 0x4f0bec
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x427c48
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov edi, dword [esp + 0x4c]
mov ebx, eax
test ebx, ebx
je 0x427c4d
mov eax, 1
mov byte [edi + 0xee], al
test al, al
je 0x427c79
or eax, 0xffffffff
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0xd8], ebx
mov byte [edi + 0xec], 0
mov eax, 1
jmp 0x428afd
mov dword [edi + 0xd8], 5
mov byte [edi + 0xec], 1
mov eax, 1
jmp 0x428afd
mov esi, dword [0x51ae58]
call fcn.0041bb80
dec eax
je 0x427d46
dec eax
je 0x427cfc
dec eax
jne 0x427d5b
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x427ce6
mov ecx, dword [esp + 0x48]
mov edi, 1
call fcn.004215b0
or eax, edx
jne 0x427ce2
mov esi, dword [esp + 0x48]
mov eax, edi
mov edi, dword [esp + 0x4c]
mov byte [edi + 0xed], al
jmp 0x428afd
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
xor eax, eax
mov byte [edi + 0xed], al
mov eax, 1
jmp 0x428afd
mov ecx, dword [0x51ae5c]
cmp word [ecx], 0
je 0x427d1b
mov ecx, dword [esp + 0x48]
mov edi, 1
call fcn.004215b0
mov dword [0x51cbe4], eax
mov edx, dword [0x51ae60]
cmp word [edx], 0
je 0x427d5b
mov ecx, dword [esp + 0x48]
mov edi, 2
call fcn.004215b0
mov esi, dword [esp + 0x48]
mov dword [0x51cbe0], eax
lea eax, [edi - 1]
jmp 0x428afd
mov ecx, dword [esp + 0x48]
mov edi, 1
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x2c], eax
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov ebx, dword [esi + 0x10]
test ebx, ebx
jne 0x427d8c
mov edi, dword [0x51ae58]
push 0x51c0f8
mov cl, 1
call fcn.00422270
mov ebx, eax
test ebx, ebx
je case.0x425cbf.8
mov edi, dword [0x51ae64]
cmp word [edi], 0
je 0x427dbc
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x427db9
mov eax, 0x51c0f8
call fcn.0041dd90
test eax, eax
jne 0x427db9
mov edx, dword [0x51ae64]
push edx
jmp 0x427a3d
mov dword [ebx + 0x10], eax
mov eax, dword [0x51ae6c]
mov ecx, dword [0x51ae68]
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
push ecx
push edx
push eax
push ebx
call fcn.004b1a80
jmp 0x428afd
mov edi, dword [esi + 0x10]
test edi, edi
jne 0x427e20
mov eax, dword [0x51ae58]
mov ebx, eax
cmp word [eax], di
je 0x427e5b
mov edi, dword [0x51c130]
test edi, edi
je 0x427e5b
mov edi, edi
mov ecx, dword [edi + 4]
push ebx
push ecx
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x427e20
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x427e00
lea eax, [edi + 1]
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x427e51
push 0x4ec270
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x427e51
mov al, 1
mov ecx, edi
push eax
call fcn.004b20c0
mov eax, 1
jmp 0x428afd
xor al, al
mov ecx, edi
push eax
call fcn.004b20c0
mov eax, 1
jmp 0x428afd
mov edi, dword [esi + 0x10]
test edi, edi
jne 0x427eb0
mov eax, dword [0x51ae58]
mov ebx, eax
cmp word [eax], di
je 0x427f1d
mov edi, dword [0x51c130]
test edi, edi
je 0x427f1d
lea ebx, [ebx]
mov edx, dword [edi + 4]
push ebx
push edx
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x427eb0
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x427e90
lea eax, [edi + 1]
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x427f14
push 0x4f0bf4
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x427ee4
push edi
xor edx, edx
mov ecx, 0x82
call fcn.004b1d70
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x427f14
push 0x4ec270
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x427f14
mov al, 1
push eax
push edi
call fcn.004b1e30
mov eax, 1
jmp 0x428afd
xor al, al
push eax
push edi
call fcn.004b1e30
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
call fcn.0043d960
jmp 0x428afd
test ebx, ebx
jne 0x427f56
lea edi, [ebx + 1]
mov ecx, esi
call fcn.004215b0
call fcn.00413d30
mov eax, edi
jmp 0x428afd
mov eax, dword [0x51ae5c]
push 0
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
cmp eax, 2
je 0x427f8e
mov eax, dword [0x51ae60]
push 0
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
cmp eax, 2
jne 0x42801b
mov ecx, dword [0x51ae5c]
cmp word [ecx], 0
je 0x427fa8
mov edi, 1
mov ecx, esi
call fcn.00421660
jmp 0x427faa
fldz
mov edx, dword [0x51ae60]
fst qword [esp + 0x68]
cmp word [edx], 0
je 0x427fe5
mov edi, 2
fstp st(0)
mov ecx, esi
call fcn.00421660
fst qword [esp + 0x70]
fld qword [esp + 0x68]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x427ff1
fstp qword [esp + 0x68]
fstp qword [esp + 0x70]
jmp 0x427ff5
fld qword [0x50f918]
fst qword [esp + 0x70]
jmp 0x427fd2
fstp st(0)
fstp st(0)
call fcn.00413ea0
fld qword [esp + 0x70]
fld qword [esp + 0x68]
sub esp, 8
fsub st(1), st(0)
fxch st(2)
fmulp st(1)
faddp st(1)
fstp qword [esp]
push ebx
call fcn.0041ad50
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x42803a
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ebx, eax
mov dword [esp + 0x70], eax
jmp 0x428040
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov ecx, dword [0x51ae60]
cmp word [ecx], 0
je 0x42805c
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov edi, eax
jmp 0x428061
mov edi, SysReAllocString
cmp ebx, edi
jle 0x42806f
mov eax, ebx
mov ebx, edi
mov dword [esp + 0x70], ebx
mov edi, eax
call fcn.00413e50
mov ecx, eax
mov eax, ebx
cdq
mov ebx, eax
mov dword [esp + 0x68], edx
mov eax, edi
cdq
sub eax, ebx
sbb edx, dword [esp + 0x68]
add eax, 1
adc edx, 0
push edx
push eax
push 0
push ecx
call fcn.004d94d0
add eax, dword [esp + 0x70]
jmp 0x426c9b
mov ecx, dword [0x51ae5c]
push esi
mov bl, 1
call fcn.0043da80
jmp 0x428afd
mov edx, dword [0x51ae60]
mov eax, dword [0x51ae5c]
mov ecx, dword [0x51ae58]
push edx
push esi
call fcn.0043dcb0
jmp 0x428afd
mov eax, dword [0x51ae60]
mov ecx, dword [0x51ae5c]
push esi
call fcn.0043dfb0
jmp 0x428afd
mov eax, dword [0x51ae64]
mov edx, dword [0x51ae5c]
push eax
push edx
xor edx, edx
mov eax, 0x9b
cmp cx, ax
sete dl
dec edx
and edx, dword [0x51ae58]
push edx
push esi
call fcn.0043e5f0
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x42812e
mov edi, 1
mov ecx, esi
call fcn.004215b0
dec eax
jmp 0x428130
xor eax, eax
cdq
test edx, edx
jg 0x428141
jl 0x42813b
test eax, eax
jae 0x428141
xor eax, eax
mov dword [esp + 0x6c], eax
mov ecx, 0x9d
push eax
cmp word [esi], cx
jne 0x42815a
call fcn.0043f760
mov esi, dword [esp + 0x48]
jmp 0x428afd
mov edi, dword [0x51ae58]
mov ebx, esi
call fcn.0043f810
jmp 0x428afd
mov edx, dword [0x51ae5c]
cmp word [edx], 0
je 0x428188
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ebx, eax
jmp 0x42818d
mov ebx, 0x96
mov eax, dword [0x51ae58]
cmp word [eax], 0
je 0x4281b1
xor edi, edi
mov ecx, esi
call fcn.004215b0
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
lea eax, [edi + 1]
jmp 0x428afd
mov eax, 0x20b
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x4281ea
push 0x4f0bf8
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x42820f
mov eax, dword [0x51ae5c]
push 0x4eb75c
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x42820f
xor al, al
push eax
mov eax, dword [0x51ae58]
push esi
call fcn.0043f970
jmp 0x428afd
mov eax, 1
push eax
mov eax, dword [0x51ae58]
push esi
call fcn.0043f970
jmp 0x428afd
cmp byte [esi + 2], 2
jae 0x428230
mov edi, dword [edi + 0x18]
jmp 0x428232
xor edi, edi
mov ecx, dword [0x51ae58]
mov edx, dword [0x51ae5c]
push edi
push ecx
push edx
push esi
call fcn.00440dd0
jmp 0x428afd
mov ecx, dword [0x51ae5c]
push esi
call fcn.004404c0
jmp 0x428afd
mov eax, dword [0x51ae5c]
mov ecx, dword [0x51ae60]
push eax
push esi
call fcn.00440a40
jmp 0x428afd
mov esi, dword [0x51ae58]
mov edi, dword [esp + 0x48]
call fcn.004411d0
mov esi, edi
jmp 0x428afd
mov eax, dword [0x51ae58]
mov edi, esi
call fcn.004525d0
jmp 0x428afd
mov ecx, dword [0x51ae58]
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.0042db70
jmp 0x428afd
mov eax, dword [0x51ae58]
mov ecx, dword [0x51ae60]
mov edx, dword [0x51ae5c]
push eax
push esi
call fcn.00441250
jmp 0x428afd
add edi, 0x30
push edi
push 0
mov edi, 2
mov ecx, esi
call fcn.004215b0
cmp eax, 1
mov eax, dword [0x51ae5c]
sete cl
movzx edx, cl
push edx
mov edx, dword [0x51ae58]
push eax
call fcn.00452d40
add esp, 0x10
test eax, eax
jne 0x428366
mov ecx, dword [0x51b6d0]
push 1
push eax
push 0xffffffffffffffff
push 0x4e6a28
push ecx
call fcn.004aefb0
jmp 0x428afd
add edi, 0x30
push edi
push 1
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae5c]
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x51ae58]
push eax
push ecx
call fcn.00452d40
add esp, 0x10
push eax
push esi
call fcn.0042dc30
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae5c]
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x51ae58]
push eax
push ecx
call fcn.004528b0
add esp, 8
test al, al
sete dl
movzx eax, dl
push eax
push esi
call fcn.0042db70
jmp 0x428afd
mov ecx, dword [0x51ae60]
mov ax, word [ecx]
call fcn.00409d00
cmp ax, 0x52
jne 0x4283ec
mov edx, dword [0x51ae5c]
mov eax, dword [0x51ae58]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
sete cl
movzx edx, cl
push edx
push esi
call fcn.0042db70
jmp 0x428afd
mov edi, 2
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae58]
push ecx
mov edi, eax
call fcn.00452a80
add esp, 4
test al, al
sete dl
movzx eax, dl
push eax
push esi
call fcn.0042db70
jmp 0x428afd
mov ecx, dword [0x51ae58]
push ecx
mov ecx, esi
call fcn.004402f0
jmp 0x428afd
mov edx, dword [0x51ae58]
cmp word [edx], 0
je 0x428477
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov edx, dword [0x51ae58]
cmp eax, edi
sete al
movzx ecx, al
push ecx
call fcn.00452c50
add esp, 4
test al, al
je 0x428477
xor al, al
push eax
push esi
call fcn.0042db70
jmp 0x428afd
mov eax, 1
push eax
push esi
call fcn.0042db70
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
jne 0x4284a2
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x2c]
test edi, edi
jne 0x4284a2
mov eax, 0x4f5ac4
mov edi, esi
call fcn.004415d0
jmp 0x428afd
mov ebx, dword [0x51ae5c]
cmp word [ebx], 0
jne 0x4284c9
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x2c]
test edi, edi
jne 0x4284c9
mov ebx, 0x4f5ac4
mov edi, 3
mov ecx, esi
call fcn.004215b0
mov esi, dword [0x51ae60]
cmp eax, 1
sete dl
movzx eax, dl
push eax
call fcn.0041be00
mov ecx, dword [esp + 0x4c]
push eax
mov eax, dword [0x51ae58]
push ebx
push ecx
call fcn.004416e0
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
xor eax, eax
cmp dword [edx + 0x104], eax
sete al
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
jne 0x42852d
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x2c]
test edi, edi
jne 0x42852d
mov eax, 0x4f5ac4
mov ecx, dword [0x51ae60]
movzx edx, word [ecx]
push edx
mov edi, esi
call fcn.00441d30
jmp 0x428afd
mov ebx, dword [0x51ae5c]
cmp word [ebx], 0
jne 0x42855e
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x2c]
test edi, edi
jne 0x42855e
mov ebx, 0x4f5ac4
mov edi, 4
mov ecx, esi
call fcn.004215b0
mov esi, dword [0x51ae64]
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.0041be00
mov edx, dword [0x51ae60]
mov edi, dword [esp + 0x4c]
push eax
movzx eax, word [edx]
push eax
mov eax, dword [0x51ae58]
push ebx
call fcn.00441eb0
mov ecx, dword [esp + 0x4c]
xor eax, eax
cmp dword [ecx + 0x104], eax
mov esi, edi
sete al
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x4285ce
mov edx, dword [0x51ae60]
push edx
mov edi, eax
push esi
call fcn.00442070
jmp 0x428afd
mov edi, dword [edi + 0x10]
test edi, edi
je 0x4285ea
mov edx, dword [0x51ae60]
push edx
add edi, 0x2c
push esi
call fcn.00442070
jmp 0x428afd
mov edx, dword [0x51ae60]
push edx
mov edi, 0x4f5ac4
push esi
call fcn.00442070
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
jne 0x42861b
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x2c]
test edi, edi
jne 0x42861b
mov eax, 0x4f5ac4
push esi
call fcn.004526e0
jmp 0x428afd
mov edi, dword [0x51ae58]
call fcn.0043fb80
mov ecx, dword [esp + 0x4c]
xor eax, eax
cmp dword [ecx + 0x104], eax
sete al
jmp 0x428afd
mov edx, dword [0x51ae68]
mov eax, dword [0x51ae60]
mov ecx, dword [0x51ae5c]
push edx
push eax
push ecx
mov ecx, dword [0x51ae64]
push esi
call fcn.0043fc70
jmp 0x428afd
mov edx, dword [0x51ae60]
mov eax, dword [0x51ae5c]
mov ecx, dword [0x51ae64]
push edx
push eax
mov edx, esi
call fcn.00451d20
jmp 0x428afd
mov ecx, dword [0x51ae58]
push ecx
push esi
call fcn.00452040
jmp 0x428afd
mov edx, dword [0x51ae78]
mov eax, dword [0x51ae74]
mov ecx, dword [0x51ae70]
mov ebx, dword [0x51ae68]
mov edi, dword [0x51ae64]
push edx
mov edx, dword [0x51ae6c]
push eax
mov eax, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae58]
push edx
push eax
push ecx
mov ecx, dword [0x51ae60]
push esi
call fcn.00452380
jmp 0x428afd
push 0
mov ecx, 4
call fcn.0043a060
add esp, 4
jmp 0x428afd
mov esi, dword [0x51ae58]
push 7
call fcn.00409e20
add esp, 4
cmp eax, 7
jne 0x42871f
push 0
lea ecx, [eax - 6]
call fcn.0043a060
mov esi, dword [esp + 0x4c]
add esp, 4
jmp 0x428afd
cmp byte [edi + 0xf9], 0
je 0x42874b
mov ecx, dword [0x51bfe8]
test ecx, ecx
jle 0x428735
dec ecx
jmp 0x42873a
mov ecx, 0x18f
mov dword [0x51bfe8], ecx
mov dword [ecx*4 + 0x51b9a8], 0
mov esi, dword [esp + 0x48]
cmp eax, 1
sete dl
mov byte [edi + 0xf9], dl
mov eax, 1
jmp 0x428afd
push 0
mov ecx, 2
call fcn.0043a060
add esp, 4
jmp 0x428afd
push 0
mov ecx, 3
call fcn.0043a060
add esp, 4
jmp 0x428afd
mov ebx, dword [0x5165ec]
add ebx, 0x4c
call fcn.0045ab80
test eax, eax
je 0x4287ac
mov eax, dword [0x5165ec]
mov ecx, dword [eax + 0x4c]
mov ebx, dword [ecx + 4]
jmp 0x4287ae
xor ebx, ebx
mov al, byte [esi + 2]
test al, al
jne 0x4287d5
fldz
sub esp, 8
fstp qword [esp]
push ebx
push 0
push 0x10000
push str.P:44_u
call fcn.004a4b10
add esp, 4
push eax
jmp 0x42881c
cmp al, 1
jne 0x4287f2
fldz
mov edx, dword [0x51ae58]
sub esp, 8
fstp qword [esp]
push ebx
push 0
push 0x10000
push edx
jmp 0x42881c
mov edi, 3
mov ecx, esi
call fcn.00421660
mov eax, dword [0x51ae5c]
sub esp, 8
fstp qword [esp]
push ebx
push eax
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov ecx, dword [0x51ae60]
push eax
push ecx
call fcn.004b0b80
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x428849
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x59e
jne 0x428849
mov edx, dword [0x51ae58]
push edx
push edi
push 0x4ec0ec
jmp 0x427a44
xor eax, eax
test edi, edi
setne al
jmp 0x428afd
mov eax, dword [0x51ae74]
cmp word [eax], 0
je 0x428872
mov edi, 7
mov ecx, esi
call fcn.004215b0
mov dword [esp + 0x70], eax
jmp 0x42887a
mov dword [esp + 0x70], SysReAllocString
mov ecx, dword [0x51ae70]
cmp word [ecx], 0
je 0x428898
mov edi, 6
mov ecx, esi
call fcn.004215b0
mov dword [esp + 0x7c], eax
jmp 0x4288a0
mov dword [esp + 0x7c], SysReAllocString
mov edx, dword [0x51ae6c]
cmp word [edx], 0
je 0x4288be
mov edi, 5
mov ecx, esi
call fcn.004215b0
mov dword [esp + 0x64], eax
jmp 0x4288c6
mov dword [esp + 0x64], SysReAllocString
mov eax, dword [0x51ae68]
cmp word [eax], 0
je 0x4288e3
mov edi, 4
mov ecx, esi
call fcn.004215b0
mov dword [esp + 0x50], eax
jmp 0x4288eb
mov dword [esp + 0x50], SysReAllocString
mov edi, 9
mov ecx, esi
call fcn.00421660
mov ecx, dword [0x51ae80]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [0x51ae64]
push eax
mov ax, word [edx]
push ecx
call fcn.00409d00
mov edx, dword [0x51ae5c]
mov edi, dword [esp + 0x68]
cmp ax, 0x48
mov eax, dword [0x51ae60]
push eax
push edx
sete cl
push ebx
call fcn.0043a2b0
add esp, 0x24
jmp 0x428afd
mov eax, dword [0x51ae5c]
cmp word [eax], 0
je 0x428962
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ebx, eax
jmp 0x428964
xor ebx, ebx
mov ecx, dword [0x51ae58]
cmp word [ecx], 0
je 0x42897b
xor edi, edi
mov ecx, esi
call fcn.004215b0
jmp 0x428980
mov eax, 0xc8
mov edx, dword [0x51ae64]
mov ecx, dword [0x51ae60]
push edx
push ecx
push ebx
push eax
call fcn.00450330
jmp 0x428afd
mov eax, dword [0x51aed8]
test eax, eax
je 0x4289bb
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4289bb
mov edx, dword [0x51aed8]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x51aed8], 0
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae68]
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae60]
push 0
push eax
mov eax, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae58]
push edx
push eax
push ecx
push esi
mov ecx, 0x4f5ac4
call fcn.00430690
jmp 0x428afd
mov edx, dword [0x51ae6c]
mov eax, dword [0x51ae68]
mov ecx, dword [0x51ae64]
push 1
push edx
mov edx, dword [0x51ae60]
push eax
mov eax, dword [0x51ae5c]
push ecx
mov ecx, dword [0x51ae58]
push edx
push eax
push esi
call fcn.00430690
jmp 0x428afd
mov ecx, dword [0x51ae60]
mov edx, dword [0x51ae5c]
mov eax, dword [0x51ae58]
push ecx
mov ecx, dword [0x51ae64]
push edx
push eax
push esi
call fcn.00431950
jmp 0x428afd
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae58]
mov edi, dword [0x51ae64]
mov esi, dword [0x51ae60]
push ecx
push edx
call fcn.00431cd0
mov esi, dword [esp + 0x48]
jmp 0x428afd
push esi
call fcn.004338e0
jmp 0x428afd
mov esi, dword [0x51ae5c]
call fcn.0041c090
mov esi, dword [0x51ae58]
movzx ebx, ax
call fcn.0041c100
mov edx, dword [esp + 0x48]
mov cl, 2
cmp cl, byte [edx + 2]
movzx eax, ax
sbb esi, esi
and esi, dword [0x51ae10]
mov dword [esp + 0x70], eax
je 0x428b4c
movzx ecx, ax
cmp ecx, 0xffffffff
je 0x428b4c
movzx eax, word [edi + 0xf0]
shr eax, cl
and eax, 3
jne 0x428b34
push 0x4f0c40
call fcn.004a4b10
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
push esi
call fcn.004aefb0
test eax, eax
jne 0x428b4c
mov esi, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x58], eax
test eax, eax
je 0x42515a
cmp dword [ebp + 8], 3
je 0x42515a
mov eax, dword [esi + 0x18]
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x48]
test esi, esi
je 0x425155
mov ebx, dword [esp + 0x80]
xor edi, edi
jmp 0x424e60
cmp eax, 1
jne 0x428b40
push 0x4f0c60
jmp 0x428ade
cmp eax, 2
jne 0x428b4c
push 0x4f0c80
jmp 0x428ade
movzx ecx, word [esp + 0x70]
cmp ecx, 0xffffffff
je 0x428b7a
cmp ebx, 0xffffffff
je 0x428b7a
mov edx, 3
shl dx, cl
shl bx, cl
not dx
and dx, word [edi + 0xf0]
or dx, bx
mov word [edi + 0xf0], dx
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov byte [ecx + 0xef], al
cmp al, 0x64
jbe case.0x428f8a.69
mov byte [ecx + 0xef], 2
lea eax, [edi + 1]
jmp 0x428afd
mov eax, dword [edi + 0xd4]
push eax
mov eax, dword [0x51ae58]
call fcn.0041bd70
mov dword [edi + 0xd4], eax
add esp, 4
mov eax, 1
jmp 0x428afd
xor edi, edi
mov ecx, esi
call fcn.004215b0
cmp eax, 0x64
ja case.0x428f8a.69
mov ecx, dword [esp + 0x4c]
mov byte [ecx + 0xf6], al
lea eax, [edi + 1]
jmp 0x428afd
push str.P_0_
call fcn.004a4b10
mov edx, dword [0x51ae60]
add esp, 4
push eax
push edx
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x428c60
mov eax, dword [0x51ae58]
cmp word [eax], 0
je 0x428c36
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x60], eax
mov edx, dword [0x51ae5c]
cmp word [edx], 0
je case.0x428f8a.69
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x68], eax
mov eax, edi
jmp 0x428afd
mov edx, dword [0x51ae58]
cmp word [edx], 0
je 0x428c7c
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x5c], eax
mov edx, dword [0x51ae5c]
cmp word [edx], 0
je case.0x428f8a.69
mov edi, 1
mov ecx, esi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x64], eax
mov eax, edi
jmp 0x428afd
push str.P_0_
call fcn.004a4b10
mov edx, dword [0x51ae5c]
add esp, 4
push eax
push edx
call fcn.004c9bad
add esp, 8
xor edi, edi
mov ecx, esi
test eax, eax
jne 0x428cdf
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x70], eax
lea eax, [edi + 1]
jmp 0x428afd
call fcn.004215b0
mov edx, dword [esp + 0x4c]
mov dword [edx + 0x6c], eax
mov eax, 1
jmp 0x428afd
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x54], eax
lea eax, [edi + 1]
jmp 0x428afd
xor edi, edi
mov ecx, esi
call fcn.004215b0
mov edx, dword [esp + 0x4c]
mov dword [edx + 0x58], eax
lea eax, [edi + 1]
jmp 0x428afd
mov ecx, dword [0x51ae58]
mov eax, 0x4f0cbc
call fcn.004ac420
mov ecx, esi
test eax, eax
je 0x428d5e
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
xor edi, edi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x24], eax
lea eax, [edi + 1]
jmp 0x428afd
mov dword [edi + 0x24], 0xffffffff
xor edi, edi
call fcn.004215b0
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov edx, eax
or edx, dword [ecx + 4]
mov dword [ecx], eax
jne case.0x428f8a.69
mov dword [ecx], 0xa
mov dword [ecx + 4], edi
lea eax, [edi + 1]
jmp 0x428afd
mov esi, dword [0x51ae58]
push 7
call fcn.00409e20
add esp, 4
cmp eax, 7
je 0x428db2
cmp eax, 1
sete al
mov byte [edi + 0xf3], al
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov esi, dword [0x51ae58]
call fcn.0041b850
dec eax
cmp eax, 5
ja case.default.0x428dd5
jmp dword [eax*4 + 0x42a020]
mov esi, dword [esp + 0x48]
mov eax, 1
mov dword [edi + 0x20], eax
jmp 0x428afd
mov esi, dword [esp + 0x48]
mov dword [edi + 0x20], 2
mov eax, 1
jmp 0x428afd
mov esi, dword [esp + 0x48]
mov dword [edi + 0x20], 4
mov eax, 1
jmp 0x428afd
mov esi, dword [esp + 0x48]
mov dword [edi + 0x20], 3
mov eax, 1
jmp 0x428afd
mov esi, dword [esp + 0x48]
mov byte [edi + 0xe9], 1
mov eax, 1
jmp 0x428afd
mov esi, dword [esp + 0x48]
mov byte [edi + 0xe9], 0
mov eax, 1
jmp 0x428afd
push 5
push 0x4f0cc4
call fcn.004a4b10
mov edx, dword [0x51ae58]
add esp, 4
push eax
push edx
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x428f48
lea edi, [eax + 1]
mov ecx, esi
call fcn.00421530
cmp eax, 0x1e
jb 0x428e93
mov eax, edi
jmp 0x428afd
mov ecx, esi
call fcn.004215b0
mov edi, eax
mov eax, dword [0x51ae5c]
push 0x2e
push eax
mov ebx, edx
call fcn.004ca9cb
add esp, 8
mov dword [esp + 0x70], eax
test eax, eax
je 0x428ec6
mov esi, eax
add esi, 2
call fcn.0041ac40
mov esi, dword [esp + 0x48]
jmp 0x428eca
xor eax, eax
xor edx, edx
add edi, eax
adc ebx, edx
add edi, 2
adc ebx, 0
mov dword [esp + 0x6c], ebx
js 0x428eec
jg case.0x428f8a.69
cmp edi, 0xff
ja case.0x428f8a.69
mov eax, dword [0x51ae5c]
push 0
push 1
push 1
push 1
call fcn.004abed0
add esp, 0x10
mov ecx, 0x4f0ce0
test eax, eax
jne 0x428f0f
mov ecx, 0x4f5ac4
cmp dword [esp + 0x70], 0
mov eax, 0x4f5ac4
jne 0x428f20
mov eax, 0x4eef9c
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [0x51ae5c]
push eax
push ecx
add edx, 0x74
push 0x4f0ce4
push edx
call fcn.004c9fb7
add esp, 0x14
mov eax, 1
jmp 0x428afd
push 7
push 0x4f0cf8
call fcn.004a4b10
add esp, 4
push eax
mov eax, dword [0x51ae58]
push eax
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne case.0x428f8a.69
mov ecx, dword [0x51ae5c]
movzx eax, word [ecx]
add eax, 0xffffffbc
cmp eax, 0x24
ja case.0x428f8a.69
movzx edx, byte [eax + 0x42a044]
jmp dword [edx*4 + 0x42a038]
mov byte [edi + 0xf5], 0x44
mov eax, 1
jmp 0x428afd
mov al, byte [ecx]
mov byte [edi + 0xf5], al
mov eax, 1
jmp 0x428afd
mov ecx, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae5c]
call fcn.0043b170
jmp 0x428afd
movzx eax, byte [esi + 2]
mov dl, 4
cmp dl, al
sbb ecx, ecx
and ecx, dword [0x51ae18]
mov dl, 3
cmp dl, al
mov edx, dword [0x51ae68]
push ecx
mov ecx, dword [0x51ae6c]
sbb eax, eax
and eax, dword [0x51ae14]
push eax
mov eax, dword [0x51ae64]
push ecx
mov ecx, dword [0x51ae60]
push edx
mov edx, dword [0x51ae58]
push eax
mov eax, dword [0x51ae5c]
push ecx
push edx
push 0x51c0f8
call fcn.00469140
jmp 0x428afd
mov eax, dword [0x51ae64]
mov ecx, dword [0x51ae60]
mov edx, dword [0x51ae5c]
push eax
push ecx
mov ecx, dword [0x51ae58]
push edx
push 0x51c0f8
call fcn.0045abf0
jmp 0x428afd
mov edx, dword [0x51ae60]
mov al, 2
cmp al, byte [esi + 2]
mov eax, dword [0x51ae5c]
sbb ecx, ecx
and ecx, dword [0x51ae10]
push ecx
mov ecx, dword [0x51ae58]
push edx
push eax
push ecx
push esi
call fcn.0045b560
jmp 0x428afd
mov edx, dword [0x51ae64]
mov eax, dword [0x51ae5c]
push edx
push eax
mov eax, dword [0x51ae60]
push esi
call fcn.0045c560
jmp 0x428afd
mov eax, dword [0x51ae58]
mov edi, eax
call fcn.00409ee0
test eax, eax
jne 0x4290bc
push str.Permit
push edi
call fcn.004c9bad
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 6
jmp switch.0x004290c5
cmp eax, 7
ja case.0x428f8a.69
jmp dword [eax*4 + 0x42a06c]
cmp byte [0x51b02c], 0
jne case.0x428f8a.69
call fcn.0042d780
mov eax, 1
jmp 0x428afd
cmp byte [0x51b02c], 0
je case.0x428f8a.69
call fcn.0042d780
mov eax, 1
jmp 0x428afd
mov ecx, dword [0x51ae58]
push ecx
push 0
push 0x4ec0ec
jmp 0x427a44
mov edi, 1
mov ecx, esi
call fcn.004215b0
test eax, eax
setne dl
movzx eax, dl
push eax
mov eax, dword [0x51ae58]
call fcn.00409ee0
push eax
push esi
call fcn.0042d7d0
jmp 0x428afd
mov esi, dword [0x51ae58]
push 7
call fcn.00409e20
add esp, 4
cmp eax, 7
je 0x429163
cmp eax, 1
sete cl
mov byte [edi + 0xf4], cl
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov esi, dword [0x51ae58]
call fcn.0041bbe0
mov byte [edi + 0xf2], al
cmp al, 4
jne 0x42918d
mov byte [edi + 0xf2], 0
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov esi, dword [0x51ae58]
push 7
call fcn.00409e20
add esp, 4
cmp eax, 7
je 0x4291bc
cmp eax, 1
sete dl
mov byte [edi + 0xea], dl
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov esi, dword [0x51ae58]
push 7
call fcn.00409e20
add esp, 4
cmp eax, 7
je 0x4291eb
cmp eax, 1
sete al
mov byte [edi + 0xeb], al
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae58]
call fcn.0041bca0
lea ecx, [eax - 1]
cmp ecx, 0xc
ja case.0x428f8a.69
movzx ecx, byte [ecx + 0x42a0a4]
jmp dword [ecx*4 + 0x42a08c]
mov bl, 1
call fcn.0042d8d0
mov eax, 1
jmp 0x428afd
xor bl, bl
call fcn.0042d8d0
mov eax, 1
jmp 0x428afd
mov dword [0x5165fc], eax
mov eax, 1
jmp 0x428afd
or byte [0x51b8e2], 2
cmp dword [0x51b004], 0
mov byte [0x51b8e1], 1
jne case.0x428f8a.69
mov edx, dword [0x516610]
movzx eax, word [edx]
push eax
call fcn.00408500
add esp, 4
mov eax, 1
jmp 0x428afd
mov byte [0x51b8e1], 0
mov eax, 1
jmp 0x428afd
mov eax, dword [0x51ae58]
mov edi, str._a_a_a_v
mov cl, 0x90
call fcn.00442230
jmp 0x428afd
mov eax, dword [0x51ae58]
mov edi, 0x5165f4
mov cl, 0x14
call fcn.00442230
jmp 0x428afd
mov eax, dword [0x51ae58]
mov edi, 0x5165f8
mov cl, 0x91
call fcn.00442230
jmp 0x428afd
push 0x51c0f8
mov al, 1
call fcn.0041d610
mov eax, 1
jmp 0x428afd
xor edi, edi
mov ecx, esi
call fcn.004215b0
push 1
push eax
call fcn.00401930
add esp, 8
lea eax, [edi + 1]
jmp 0x428afd
mov ecx, dword [0x51ae5c]
mov ebx, dword [0x51ae64]
mov edx, dword [0x51ae60]
push ecx
mov ecx, dword [0x51ae68]
call fcn.004a3000
jmp 0x428afd
mov edx, dword [0x51ae58]
mov ecx, dword [0x51ae64]
mov ebx, dword [0x51ae60]
push edx
mov edx, dword [0x51ae5c]
push esi
call fcn.004a3240
jmp 0x428afd
cmp byte [esi + 2], 3
mov ecx, dword [0x51ae5c]
mov edx, dword [0x51ae58]
sbb eax, eax
not eax
and eax, dword [0x51ae60]
push eax
push ecx
push esi
call fcn.004a3380
jmp 0x428afd
cmp byte [esi + 2], 2
jae 0x42939d
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42939d
mov ecx, dword [edi + 4]
lea edx, [edi + 8]
push edx
lea eax, [edi + 0x808]
push esi
call fcn.004a33f0
jmp 0x428afd
mov edx, dword [0x51ae5c]
lea eax, [esp + 0x63]
push eax
lea ecx, [esp + 0x88]
push ecx
push 2
push edx
call fcn.0041b5a0
mov ecx, dword [esp + 0x94]
add esp, 0x10
mov edi, eax
test ecx, ecx
jne 0x4293dc
mov ecx, dword [0x51ae60]
mov eax, dword [0x51ae64]
mov dword [esp + 0x84], ecx
jmp 0x4293e1
mov eax, dword [0x51ae60]
push ecx
push esi
mov ecx, edi
call fcn.004a33f0
cmp byte [esp + 0x63], 0
mov ebx, eax
je 0x4293fe
test edi, edi
je 0x4293fe
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
jmp 0x428afd
cmp byte [esi + 2], 2
jae 0x429437
mov edi, dword [edi + 0x14]
test edi, edi
je 0x429437
mov eax, dword [0x51ae58]
push eax
mov eax, dword [edi + 4]
lea ecx, [edi + 0x808]
push ecx
mov ecx, dword [edi + 0x1008]
lea edx, [edi + 8]
push edx
push esi
call fcn.004a37a0
jmp 0x428afd
mov edx, dword [0x51ae5c]
lea eax, [esp + 0x63]
push eax
lea ecx, [esp + 0x88]
push ecx
push 2
push edx
call fcn.0041b5a0
mov edi, eax
mov eax, dword [esp + 0x94]
add esp, 0x10
test eax, eax
jne 0x42947c
mov eax, dword [0x51ae60]
mov ecx, dword [0x51ae64]
mov edx, dword [0x51ae68]
mov dword [esp + 0x84], eax
jmp 0x429488
mov ecx, dword [0x51ae60]
mov edx, dword [0x51ae64]
mov esi, dword [0x51ae58]
push edx
push ecx
push eax
call fcn.0041b700
mov ecx, eax
mov eax, dword [esp + 0x54]
push eax
mov eax, edi
call fcn.004a37a0
cmp byte [esp + 0x63], 0
mov esi, eax
je 0x4294b8
test edi, edi
je 0x4294b8
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov esi, dword [esp + 0x48]
jmp 0x428afd
cmp byte [esi + 2], 1
jae 0x42953a
mov eax, dword [edi + 0x14]
test eax, eax
je 0x42953a
cmp dword [eax + 0x1008], 0xfffffffe
lea ecx, [eax + 8]
jne 0x42951a
cmp word [ecx], 0
je 0x429510
add eax, 0x808
push eax
push ecx
push 0x4f0a9c
mov esi, 0x400
lea edi, [esp + 0x14c]
call fcn.004ac070
mov esi, dword [esp + 0x54]
add esp, 0xc
mov ecx, edi
mov edi, dword [esp + 0x4c]
xor eax, eax
jmp 0x42951f
lea ecx, [eax + 0x808]
xor eax, eax
jmp 0x42951f
add eax, 0x808
mov edx, dword [edi + 0x14]
mov ebx, dword [edx + 4]
push eax
push esi
mov edi, ecx
mov dword [esp + 0x8c], ecx
call fcn.004a3bb0
jmp 0x428afd
mov edx, dword [0x51ae58]
lea eax, [esp + 0x63]
push eax
lea ecx, [esp + 0x88]
push ecx
push 2
push edx
call fcn.0041b5a0
add esp, 0x10
cmp dword [esp + 0x84], 0
mov ebx, eax
jne 0x429578
mov eax, dword [0x51ae5c]
mov edi, dword [0x51ae60]
mov dword [esp + 0x84], eax
jmp 0x42957e
mov edi, dword [0x51ae5c]
cmp word [edi], 0
jne 0x429588
xor edi, edi
jmp 0x4295a8
push 0x4f0d18
call fcn.004a4b10
add esp, 4
push eax
push edi
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x4295a8
mov edi, 0x4f5ac4
push edi
mov edi, dword [esp + 0x88]
push esi
call fcn.004a3bb0
cmp byte [esp + 0x63], 0
mov edi, eax
je 0x4295ca
test ebx, ebx
je 0x4295ca
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x428afd
mov esi, dword [0x51ae58]
call fcn.0041b7a0
mov esi, eax
cmp esi, 0xffffffff
jne 0x42960c
mov ecx, dword [0x51ae58]
push ecx
push 0
push 0x4ec0ec
call fcn.004a4b10
mov ecx, dword [esp + 0x54]
add esp, 4
push eax
call fcn.0042dd40
mov esi, dword [esp + 0x48]
jmp 0x428afd
call fcn.004ad600
test eax, eax
je 0x42961b
mov dword [edi + 0xd0], esi
mov esi, dword [esp + 0x48]
mov eax, 1
jmp 0x428afd
mov edx, dword [0x51ae58]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, 1
jmp 0x428afd
xor edi, edi
mov ecx, esi
call fcn.004215b0
push eax
call fcn.00453660
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov eax, ecx
jmp 0x428afd
mov eax, dword [0x51ae58]
call fcn.0041c2c0
cmp eax, 0xffffffff
jne 0x429682
mov edx, dword [0x51ae58]
push edx
push 0
push 0x4ec0ec
jmp 0x427a44
mov dword [edi + 0xfc], eax
mov eax, 1
jmp 0x428afd
mov ecx, dword [esp + 0x78]
mov dword [ecx], edx
jmp 0x425155
mov ecx, dword [esp + 0x78]
mov dword [ecx], edx
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 [eax + 8]
mov eax, dword [esp + 0x78]
mov dword [eax], edx
jmp 0x425155
mov eax, dword [esp + 0x58]
cmp eax, 7
jne 0x42515a
jmp 0x425155
cmp edi, edx
je 0x429734
cmp dword [edi + 8], edx
jne 0x429734
mov ecx, dword [0x51ae08]
test ecx, ecx
je 0x429729
cmp byte [ecx + 0x17], dl
jne 0x4296f7
mov eax, dword [ecx + 0xc]
jmp 0x4296f9
mov eax, ecx
test byte [eax + 0x15], 2
je 0x429729
mov eax, edi
call fcn.0041afc0
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 [edi + 8], edx
mov ecx, dword [0x51ae58]
mov dword [edi], ecx
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 + 0x1c]
cmp esi, edx
je 0x429769
mov edx, dword [esp + 0x78]
mov dword [edx], esi
jmp 0x425155
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 + 0x1c]
cmp esi, edx
je 0x429792
mov eax, dword [esp + 0x78]
mov dword [eax], 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 ecx, dword [0x51ae5c]
push ecx
push 0
push 0x4ec128
call fcn.004a4b10
mov ecx, dword [esp + 0x54]
add esp, 4
push eax
call fcn.0042dd40
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 [0x51ae60]
push edx
push 0
push str.P__09_3yol_.__x
call fcn.004a4b10
add esp, 4
push eax
mov ecx, esi
call fcn.0042dd40
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test ebx, ebx
je 0x42982b
lea esi, [esp + 0x68]
call fcn.0042e3b0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x42515a
cmp eax, 8
je 0x42515a
push 0x4f5ac4
push 0
push str.J_7_u.__7:l_12i3c
call fcn.004a4b10
mov ecx, dword [0x51c728]
add esp, 4
push eax
call fcn.0042dd40
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 + 2], dl
jne 0x4298ab
push 0x4f5ac4
push 0
push 0x4f09a0
call fcn.004a4b10
add esp, 4
push eax
mov ecx, esi
call fcn.0042dac0
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.004cb48c
mov edi, eax
add esp, 4
test edi, edi
je 0x4298fd
mov eax, dword [0x51bff0]
test eax, eax
jne 0x429927
mov edx, dword [esi + 0xc]
movzx eax, word [edx + 2]
mov ecx, 0xff
mov ebx, ecx
cmp ax, cx
jb 0x4298d9
mov ebx, eax
inc ebx
lea edx, [ebx + ebx]
push edx
call fcn.004c9c38
add esp, 4
mov dword [0x51bff0], eax
test eax, eax
jne 0x42992d
push edi
mov dword [0x51bff4], eax
call fcn.004cb3e6
add esp, 4
push 0x4f5ac4
push 0
push str.Out_of_memory.
mov ecx, esi
call fcn.0042dd40
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 [0x51bff4]
xor ecx, ecx
push ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xb4]
push eax
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x70]
push eax
lea edx, [esp + 0xb0]
push edx
push edi
lea eax, [esp + 0x70]
push eax
push ecx
push esi
mov dword [esp + 0xbc], ebx
mov dword [0x51bff0], ecx
mov dword [0x51bff4], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], ecx
mov dword [edi + 8], 0x41
call fcn.00456f70
mov ebx, eax
cmp ebx, dword [esp + 0x64]
jne 0x42999a
mov dword [edi + 0xc], ebx
jmp 0x4299e3
cmp dword [esp + 0x64], 0
mov dword [edi + 0xc], 0
je 0x4299e3
mov eax, dword [0x51bff0]
test eax, eax
je 0x4299cc
push eax
call fcn.004ca991
add esp, 4
cmp dword [0x51bff4], 0x400000
jbe 0x4299cc
dec dword [0x51bff8]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x98]
mov dword [0x51bff0], ecx
mov dword [0x51bff4], edx
test ebx, ebx
jne 0x429a0b
push edi
call fcn.004cb3e6
mov eax, dword [esp + 0x5c]
add esp, 4
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 [edi + 8], 0x41
jne 0x429a1a
mov dword [edi + 8], 0
mov dword [edi], ebx
mov eax, dword [esp + 0x80]
test byte [eax + 0x100], 2
mov dword [eax + 0x104], edi
jne 0x429a39
push esi
call fcn.0042e060
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 eax, dword [0x516610]
cmp word [eax], dx
jne 0x429a7c
cmp dword [0x51b940], edx
jne 0x429a7c
cmp dword [0x51b000], edx
jne 0x429a7c
cmp dword [0x51b004], edx
jne 0x429a7c
cmp byte [0x51b024], dl
je case.0x4251c0.222
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.004215b0
push eax
push 9
push 0x51c0f8
call fcn.0041d650
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 + 0x78]
mov dword [edx], ecx
jmp 0x425155
mov edx, dword [esp + 0x78]
pop edi
mov dword [edx], ecx
mov ecx, dword [esp + 0x970]
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 2
je 0x425155
push 0x4f5ac4
push 0
push 0x4f09e8
jmp 0x4297f3