Function at 0x420247
Capabilities:
Connect pipe
Delete directory
Enumerate gui resources
Get file attributes
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x37c
push edi
mov edi, ecx
mov dword [ebp - 0xec], edx
cmp dword [edi + 0x10], 0
jne 0x420266
xor al, al
jmp 0x421ffb
mov dword [ebp - 4], 0xe8b7
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x10], 0x7555b7ce
push 4
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x42029b
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x220]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x420288
push ebx
xor ebx, ebx
mov dword [ebp - 0x20], eax
inc ebx
jmp 0x4202bb
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x17c], 0xfffffff8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x4202aa
mov dword [ebp - 0x20], eax
jmp 0x4202d2
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x16c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x4202c5
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x220]
mov dword [eax], ecx
cmp dword [ebp - 4], ecx
jne 0x4202ea
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
cmp eax, ebx
push esi
setg cl
mov dword [ebp - 0x17c], ecx
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 4]
imul eax, ecx
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x16c], eax
call fcn.00415bbf
mov eax, dword [ebp - 0xec]
xor ecx, ecx
push 3
pop esi
mov dword [eax], ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], 0x3ca30775
mov dword [ebp - 0x1c], 0x44d5
mov dword [ebp - 8], ecx
jmp 0x420362
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd8], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x420351
cmp dword [ebp - 4], 0xa4a1
push 6
pop edx
jge 0x4203c6
mov dword [ebp - 8], 0x8872
mov dword [ebp - 0x18], 0xfffffffe
mov eax, dword [ebp - 8]
inc dword [ebp - 8]
test eax, eax
jne 0x4203a5
cmp dword [ebp - 4], ecx
jne 0x420393
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0xd4], ecx
jne 0x4203a5
mov edx, ecx
cmp dword [ebp - 8], ecx
je 0x4203a7
mov edx, ebx
mov eax, dword [ebp - 4]
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl bl
xor edx, edx
cmp ebx, eax
setne dl
mov dword [ebp - 0xd8], edx
jmp 0x4204dc
mov dword [ebp - 8], 0xaee51190
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 2
jg 0x4204df
xor esi, esi
inc esi
mov dword [ebp - 0xc], ecx
jmp 0x4203ef
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x36c], edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x4203e2
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x364]
mov eax, dword [ebp - 0xd4]
neg eax
sbb eax, eax
xor ebx, ebx
neg eax
cmp eax, 0x6a426232
mov eax, dword [ebp - 0xd0]
setne bl
xor edx, edx
imul ebx, eax
mov eax, dword [ebp - 8]
cmp ebx, eax
sete dl
xor ebx, ebx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
cmp edx, eax
mov eax, dword [ebp - 0xc]
setle bl
xor edx, edx
cmp ebx, eax
setle dl
add edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x18], edx
xor edx, edx
cmp dword [ebp - 0x18], eax
setg dl
mov dword [ebp - 0xd4], edx
mov dword [ebp - 8], 0xfffffffa
jmp 0x4204c3
mov dword [ebp - 0xc], ecx
jmp 0x42047f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2f8], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x420472
mov dword [ebp - 0xc], 0x1a
jmp 0x4204ba
mov dword [ebp - 0x18], 0xb0538fd2
cmp dword [ebp - 0x2f4], ecx
jne 0x4204c0
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xd8]
cmp eax, esi
setg dl
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x18], edx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffee
jle 0x42048e
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff3
jl 0x42046d
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
push 6
pop edx
jle 0x4203dd
push 3
pop esi
xor ebx, ebx
inc ebx
mov dword [ebp - 4], 0xffffffe5
jmp 0x420582
mov dword [ebp - 0x10], 0xc4f4
mov dword [ebp - 0x18], 0xa55c
mov dword [ebp - 8], ecx
jmp 0x42050f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x344], 0xfffa
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4204fe
cmp dword [ebp - 0x10], ecx
je 0x420564
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0xc]
je 0x420537
mov eax, ebx
cmp dword [ebp - 0x10], ecx
jne 0x420539
mov eax, ecx
dec eax
cmp eax, dword [ebp - 0x10]
jle 0x420546
mov eax, ebx
cmp dword [ebp - 0x18], ecx
jne 0x420548
mov eax, ecx
cmp eax, 0xd6068d11
sbb eax, eax
inc eax
sub eax, dword [ebp - 0xd0]
neg eax
sbb eax, eax
inc eax
add eax, 0xb55e
mov eax, ebx
jne 0x420566
mov eax, ecx
mov dword [ebp - 0xd4], eax
xor edx, edx
mov eax, dword [ebp - 0xd4]
cmp eax, ebx
setg dl
mov dword [ebp - 0x340], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffee
jle 0x4204eb
cmp dword [edi + 0x14], 0x10
jb 0x420596
mov ecx, dword [edi]
jmp 0x420598
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x110], ecx
jb 0x4205a8
mov edx, dword [edi]
jmp 0x4205aa
mov edx, edi
mov eax, dword [edi + 0x10]
add eax, edx
cmp ecx, eax
je 0x4214cf
mov al, byte [ecx]
cmp al, 0x30
jl 0x42064f
cmp al, 0x39
jg 0x42064f
push ebx
lea ecx, [ebp - 0x298]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0x3111738a
mov dword [ebp - 0x40], eax
jmp 0x4205f9
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x298]
mov dword [ecx + edx*4], 0x3ae35568
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jl 0x4205e6
mov dword [ebp - 0x40], eax
jmp 0x420614
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x108], 0xf7bf
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jl 0x420603
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0x298]
mov dword [eax], 0xffffffea
call fcn.00415bbf
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x110]
imul edx, dword [esi], 0xa
movsx eax, byte [ecx]
add eax, 0xffffffd0
add eax, edx
inc ecx
mov dword [esi], eax
jmp 0x420598
mov dword [ebp - 0x1c], 0xffffffff
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x1c], 0x4964a53a
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0xfffffffa
push ebx
call fcn.00415aed
mov dword [ebp - 0xb4], 0
jmp 0x42069b
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c4]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], ebx
jl 0x420682
mov eax, dword [ebp - 0x1c4]
inc dword [eax]
mov dword [ebp - 8], 0x17
jmp 0x4206e6
mov dword [ebp - 0x6c], 0xffff
mov dword [ebp - 0x6c], 0xbfc3938d
mov dword [ebp - 0x6c], 0
jmp 0x4206de
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1c4]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], ebx
jl 0x4206cb
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff5
jl 0x4206b4
lea ecx, [ebp - 0x1c4]
call fcn.00415bbf
mov eax, dword [ebp - 0xec]
lea ecx, [ebp - 0x318]
push 2
pop edi
push edi
and dword [eax], 0
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xbc], eax
jmp 0x420738
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x318]
mov dword [ecx + edx*4], 0x862fd41e
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], edi
jl 0x42071f
mov byte [ebp - 0x7b], al
cmp byte [ebp - 0x7b], al
je 0x420753
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
xor eax, eax
mov dword [ebp - 0xdc], ebx
cmp dword [ebp - 0xdc], eax
jl 0x420799
mov byte [ebp - 0x7a], al
cmp byte [ebp - 0x7a], 0
je 0x420774
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x420791
push 0x9d0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor eax, eax
dec dword [ebp - 0xdc]
jns 0x420761
lea ecx, [ebp - 0x318]
call fcn.00415bbf
push edi
lea ecx, [ebp - 0x250]
call fcn.00415aed
mov dword [ebp - 0x90], 0x667a876e
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0xcc], 0
jmp 0x4207e5
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x250]
mov dword [eax + ecx*4], 0xdf99ff60
inc dword [ebp - 0xcc]
cmp dword [ebp - 0xcc], edi
jl 0x4207cc
push 3
mov dword [ebp - 0x90], 0
pop esi
cmp dword [ebp - 0x90], ebx
jg 0x420889
push esi
lea ecx, [ebp - 0x244]
call fcn.00415aed
mov dword [ebp - 0x13c], 0x1f7b4007
mov dword [ebp - 0x158], 0x3888
mov dword [ebp - 8], 0
jmp 0x42083e
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x244]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42082f
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x250]
push eax
lea edx, [ebp - 0x168]
lea ecx, [ebp - 0x13c]
call fcn.0041fec5
add esp, 0x10
lea ecx, [ebp - 0x244]
call fcn.00415bbf
inc dword [ebp - 0x90]
jmp 0x4207fa
lea ecx, [ebp - 0x250]
call fcn.00415bbf
call fcn.0041aef3
push esi
lea ecx, [ebp - 0x1e8]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x190], eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x4208cd
push 0x13d0
push eax
push 0xa20
push 0x15bd
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea ecx, [ebp - 0x190]
call fcn.0041fcaa
xor eax, eax
mov dword [ebp - 0x44], 0xef20fe6e
mov dword [ebp - 0xa4], eax
jmp 0x420902
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x1e8]
mov dword [ecx + edx*4], 0x177e
inc dword [ebp - 0xa4]
cmp dword [ebp - 0xa4], esi
jl 0x4208e9
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], 5
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1a8], ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x10], 0x6721f7d
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], eax
jmp 0x42095a
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x138], 0x99cfe04
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x420949
mov dword [ebp - 4], eax
jmp 0x420975
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x164], 0xfffffffe
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x420964
mov ecx, dword [ebp - 0x134]
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov esi, dword [ebp - 8]
sub esi, ecx
mov ecx, dword [ebp - 0xc]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setl dl
sub edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x134]
add ecx, 0x1abcf11d
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x1f19
setne cl
cmp ecx, dword [ebp - 0x18]
jge 0x4209eb
mov edx, eax
cmp dword [ebp - 0x1a4], eax
je 0x4209ed
mov edx, ebx
mov ecx, dword [ebp - 0x138]
sub edx, ecx
mov ecx, dword [ebp - 0x15c]
inc dword [ebp - 0x15c]
cmp ecx, edx
push 0x3f6e
cmove eax, ebx
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
sub ecx, eax
mov eax, dword [ebp - 0x18]
sub ecx, 0xffff
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 8]
cmp edx, eax
mov edx, 0xf7
setge cl
mov dword [ebp - 4], ecx
xor cl, cl
call fcn.0041ecfb
pop ecx
call fcn.0041fd2b
mov dword [ebp - 0x44], edi
cmp dword [ebp - 0x44], 0
jl 0x4212bc
push ebx
lea ecx, [ebp - 0x280]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0xb0], eax
jmp 0x420a9f
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x280]
mov dword [ecx + edx*4], 0x5d6c05ba
inc dword [ebp - 0xb0]
cmp dword [ebp - 0xb0], ebx
jl 0x420a86
mov byte [ebp - 0x81], al
cmp byte [ebp - 0x81], al
je 0x420abf
push eax
push eax
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x280]
call fcn.0041fc1f
lea ecx, [ebp - 0x280]
call fcn.00415bbf
push dword [ebp - 0x108]
movdqa xmm0, xmmword [0xab9270]
lea ecx, [ebp - 0x328]
push ecx
xor eax, eax
mov dword [ebp - 8], 0xfffffffc
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x1dc], eax
push ecx
push eax
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 0x1d8], eax
movdqu xmmword [ebp - 0x338], xmm0
mov dword [ebp - 0x1d4], eax
call fcn.004172a5
xor eax, eax
mov dword [ebp - 8], ebx
mov dword [ebp - 8], eax
jmp 0x420b41
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x350], 0xfffe
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x420b30
mov byte [ebp - 0x73], al
cmp byte [ebp - 0x73], al
je 0x420b66
push 0x1bb0
push 0x1376
push 0x12d2
call dword [sym.imp.KERNEL32.dll_HeapCreate]
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x420b76
cmp dword [ebp - 0x348], eax
jne 0x420b7b
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x420b6b
mov dword [ebp - 0x88], 0x7e2799ac
mov dword [ebp - 0x88], eax
jmp 0x420bdc
lea eax, [ebp - 0x178]
mov dword [ebp - 0x140], 0xffbefa5f
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0xfc], 0x50678e04
mov dword [ebp - 0x178], 0x46e74a6e
lea edx, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xfc]
call fcn.0041ff99
xor eax, eax
pop ecx
pop ecx
cmp dword [ebp - 0xfc], eax
jne 0x420be5
dec dword [ebp - 0x88]
cmp dword [ebp - 0x88], 0xfffffff2
jge 0x420b8d
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x12c]
push 3
call fcn.00415aed
mov dword [ebp - 0x50], 8
xor eax, eax
mov dword [ebp - 4], 0xe0710dd0
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x3c], eax
jmp 0x420c23
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x12c]
mov dword [ecx + edx*4], 0x8bbc
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jl 0x420c10
mov dword [ebp - 0x3c], eax
jmp 0x420c3c
mov ecx, dword [ebp - 0x3c]
mov dword [ebp + ecx*4 - 0x68], 0xffffffff
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x420c2e
mov dword [ebp - 0x64], edi
cmp dword [ebp - 0x64], eax
jl 0x420d88
mov dword [ebp - 8], 0x90a624cd
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jg 0x420cf4
mov dword [ebp - 0xc], 0xb3921ded
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0xc], eax
jl 0x420ce5
mov dword [ebp - 0x10], 0x32f3
mov byte [ebp - 0x82], al
cmp byte [ebp - 0x82], 0
je 0x420c95
push eax
push 0x61c
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
xor eax, eax
mov ecx, dword [ebp - 0x64]
xor ebx, ebx
mov dword [ebp - 0x50], ecx
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x50]
cmp edx, ecx
mov ecx, dword [ebp - 0x12c]
setl bl
sub ebx, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x64]
neg ebx
sbb ebx, ebx
inc ebx
imul ecx, ebx
test ecx, ecx
je 0x420cc6
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x64]
xor edx, edx
mov esi, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x10]
cmp dword [esi + edi*4], ecx
setge dl
mov dword [ebp - 4], edx
dec dword [ebp - 0xc]
jns 0x420c6f
push 2
pop edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x420c60
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], eax
je 0x420d0f
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x12c]
cmp dword [ecx + edx*4], eax
mov ecx, ebx
jne 0x420d11
mov ecx, eax
imul edx, ecx, 0x8cff
xor ebx, ebx
mov dword [ebp - 0x50], 0xfff6
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
cmp edx, ecx
push 1
setl bl
xor ecx, ecx
cmp ebx, 2
setg cl
xor ebx, ebx
cmp ecx, 0x7c6d
mov ecx, dword [ebp - 0x68]
setl bl
add ecx, 0xf58a
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x68]
setle dl
xor ebx, ebx
add ecx, edx
mov edx, dword [ebp - 0x12c]
cmp ecx, dword [edx + esi*4]
setg bl
xor ecx, ecx
cmp dword [edx + edi*4], ebx
pop ebx
setg cl
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x50]
imul ecx, dword [ebp - 0x10]
push 2
pop edi
mov dword [ebp - 8], ecx
dec dword [ebp - 0x64]
jns 0x420c4d
mov dword [ebp - 4], 0x11
jmp 0x420e39
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0xc], 0x8b047c14
mov dword [ebp - 8], eax
jmp 0x420e2d
mov dword [ebp - 0x78], 0x4969
mov dword [ebp - 0x104], 0xffffffff
mov dword [ebp - 0xc], 0xd5dd215
mov dword [ebp - 0x50], ebx
jmp 0x420de0
mov dword [ebp - 0xc], ebx
mov edx, 0x8160
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x104]
sub edx, ecx
mov dword [ebp - 0xc], edx
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xffffffeb
jge 0x420dc7
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x18]
cmp ecx, edi
setl dl
add edx, 0x7b11
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x10]
imul ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jg 0x420daa
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffed
jge 0x420d94
lea ecx, [ebp - 0x12c]
call fcn.00415bbf
cmp byte [ebp - 0x11], 0
je 0x420fe7
push 0x5357
push 0
call fcn.00423a41
mov dword [ebp - 0x58], 0xffff
mov dword [ebp - 0xc], 9
pop ecx
mov dword [ebp - 0x10], 0
pop ecx
mov dword [ebp - 8], 0
jmp 0x420e95
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x214], 0x6eb6b9dd
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x420e84
inc dword [ebp - 0x58]
mov dword [ebp - 0x58], 0xffffffe4
jmp 0x420fdd
mov dword [ebp - 8], 0xfebb6748
mov dword [ebp - 8], 0x10
jmp 0x420fd0
mov dword [ebp - 4], 0xfffffff8
mov dword [ebp - 0x18], 0x920a6ff
mov byte [ebp - 0x71], 0
cmp byte [ebp - 0x71], 0
je 0x420edf
push 0x2366
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp - 4], 0
jmp 0x421061
push 3
lea ecx, [ebp - 0x20c]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0xac], eax
jmp 0x420f1b
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x20c]
mov dword [ecx + edx*4], 3
inc dword [ebp - 0xac]
cmp dword [ebp - 0xac], 3
jl 0x420f02
cmp dword [ebp - 0x58], eax
jne 0x420f30
mov ecx, eax
cmp dword [ebp - 4], eax
je 0x420f32
mov ecx, ebx
mov dword [ebp - 0x18], ecx
mov edx, 0x5206
mov ecx, dword [ebp - 0x214]
sub edx, ecx
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20c]
imul esi, edx
xor edx, edx
mov dword [ecx], esi
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x214]
cmp ecx, esi
sete dl
xor ecx, ecx
cmp edx, 0x1479
setg cl
imul ecx, dword [ebp - 8]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0xcf7d1649
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x881826fb
jne 0x421033
mov dword [ebp - 0xc], eax
jmp 0x420fb3
mov byte [ebp - 0x72], al
cmp byte [ebp - 0x72], 0
je 0x420fb0
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xb
jge 0x420f97
cmp dword [ebp - 0x10], eax
je 0x421053
lea ecx, [ebp - 0x20c]
call fcn.00415bbf
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xb
jne 0x420ebc
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0x2b
jl 0x420ea9
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 0x1c], 0xfb0b0297
mov dword [ebp - 0x1c], 0xb22124f8
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x1c], 0xed080c17
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x154], 0x2a3b3f36
push ebx
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x9c], eax
jmp 0x421084
mov dword [ebp - 0x144], 0x540f
mov dword [ebp - 0x14c], 0x357f039d
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x20c]
call fcn.00415bbf
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x420eeb
jmp 0x420fcd
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x2e4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], ebx
jl 0x42106f
inc dword [ebp - 0x114]
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 0x154], eax
call fcn.00415bbf
mov eax, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x1e8]
mov ecx, dword [esi + ecx*4]
cmp ecx, dword [esi + edx*4]
setge bl
xor ecx, ecx
cmp dword [esi], 0x4bb4
setg cl
sub ebx, ecx
neg ebx
sbb ebx, ebx
inc ebx
neg ebx
je 0x421231
call fcn.0041fdb1
or ebx, 0xffffffff
mov dword [ebp - 0x148], ebx
call fcn.00420033
mov dword [ebp - 8], 0
jmp 0x421226
call fcn.004200c9
mov byte [ebp - 0x74], 0
lea ecx, [ebp - 0x200]
push 3
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0xa0], eax
jmp 0x42113f
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x200]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 3
jl 0x42112a
mov dword [ebp - 0x80], eax
jmp 0x42116e
mov esi, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x200]
mov edx, dword [ebp - 0x200]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov dword [ebp - 0x198], eax
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], edi
jle 0x42114d
lea ecx, [ebp - 0x200]
call fcn.00415bbf
cmp byte [ebp - 0x74], 0
je 0x421196
push 0x4e27
xor dl, dl
mov ecx, 0x61c4
call fcn.0041d845
pop ecx
mov dword [ebp - 4], 0xc204e2db
mov esi, 0x30de9bf9
mov dword [ebp - 0x2b4], esi
xor eax, eax
mov dword [ebp - 0x2b0], esi
mov dword [ebp - 0x2ac], esi
mov dword [ebp - 0x2a8], esi
mov dword [ebp - 4], eax
jmp 0x421213
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c0], ebx
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0xc], eax
jmp 0x4211f2
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x37c], 0x3a0b8ee4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x4211e1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x2b4], ebx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffe
jg 0x4211c1
mov dword [ebp - 0x148], 0x193208af
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x421101
jmp 0x4212a5
mov dword [ebp - 0x8c], 0xe0648261
mov dword [ebp - 0x194], 0xfffffff7
mov dword [ebp - 0x8c], eax
jmp 0x421265
mov byte [ebp - 0x79], al
cmp byte [ebp - 0x79], 0
je 0x42125f
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
xor eax, eax
dec dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 0xffffffef
jg 0x42124d
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x194], ecx
lea ecx, [ebp - 0x150]
push 0x1731
push ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x150], eax
push ecx
push 0x5239
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0042223e
add esp, 0x18
lea ecx, [ebp - 0x1dc]
call fcn.00415bbf
dec dword [ebp - 0x44]
push 1
pop ebx
jns 0x420a6a
lea ecx, [ebp - 0x1e8]
call fcn.00415bbf
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x238]
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x4212ea
mov ecx, dword [ebp - 0x30]
mov dword [ebp + ecx*4 - 0xf8], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x4212dd
mov dword [ebp - 0x30], eax
jmp 0x421305
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x238]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x4212f5
mov dword [ebp - 4], edi
cmp dword [ebp - 4], eax
jl 0x4214ad
push edi
lea ecx, [ebp - 0x268]
call fcn.00415aed
mov dword [ebp - 0x1c], 0x9b41dbc4
xor eax, eax
mov dword [ebp - 0x5c], 0xb167d3d8
mov dword [ebp - 0xb8], eax
jmp 0x42134f
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], edi
jl 0x42133a
mov esi, dword [ebp - 0x268]
mov dword [esi + 4], edi
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0x2089ce3
mov dword [ebp - 0x34], edi
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xf8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xf8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xf8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xf8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 4]
xor ecx, ecx
cmp dword [esi + 4], ecx
setne cl
xor edx, edx
cmp ecx, 0xe0c0
sete dl
xor ecx, ecx
cmp dword [esi + 4], edx
setge cl
cmp ecx, ebx
jle 0x4213f3
mov dword [ebp - 0x1c], 0xfa1b4415
inc dword [ebp - 0x5c]
jmp 0x42148e
mov dword [ebp - 8], eax
mov dword [ebp - 0x5c], eax
jmp 0x421485
mov ecx, dword [esi + 4]
mov ecx, dword [ebp + ecx*4 - 0xf8]
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x5c], eax
je 0x421413
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0xc], eax
jl 0x421482
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jg 0x421464
mov edi, dword [ebp - 0x238]
mov ecx, dword [esi + 4]
mov edx, 0x8afc
mov ecx, dword [ebp + ecx*4 - 0xf8]
sub edx, ecx
mov dword [edi + 4], edx
mov ecx, dword [esi + 4]
cmp dword [ebp + ecx*4 - 0xf8], eax
jne 0x421461
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x421438
push 2
pop edi
mov byte [ebp - 0x83], al
cmp byte [ebp - 0x83], 0
je 0x42147d
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x42142a
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], edi
jle 0x4213fe
dec dword [esi + 4]
jns 0x421360
lea ecx, [ebp - 0x268]
call fcn.00415bbf
dec dword [ebp - 4]
jns 0x421316
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x4214bd
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0x238]
call fcn.00415bbf
xor al, al
jmp 0x421ff9
mov dword [ebp - 4], 0xfffffff6
xor ecx, ecx
mov dword [ebp - 0x18], 0xa6d
mov dword [ebp - 0x10], 0xd0e834ab
mov dword [ebp - 0x34], 0xdb5a
mov dword [ebp - 0x1c], 0xfffa
mov dword [ebp - 4], ecx
jmp 0x42150a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc8], 4
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x4214f9
push 3
mov dword [ebp - 4], ecx
pop esi
jmp 0x421529
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x22c], 2
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x421518
mov dword [ebp - 4], 0xe
jmp 0x42155d
mov dword [ebp - 8], 0xfffffffc
mov dword [ebp - 8], ecx
jmp 0x42154f
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc8], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jge 0x421543
mov eax, dword [ebp - 0xc4]
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffa
jg 0x421537
mov eax, dword [ebp - 0xc4]
xor edx, edx
mov eax, dword [ebp - 0xc4]
cmp eax, 0x8fc3a8a
mov eax, dword [ebp - 0x18]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 4]
push 5
setge bl
add ebx, 0xfc80ae84
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, eax
setl dl
xor ebx, ebx
mov dword [ebp - 4], edx
inc ebx
mov eax, dword [ebp - 0xc8]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x22c]
mov eax, dword [ebp - 0xc8]
cmp eax, ebx
mov eax, dword [ebp - 0x18]
setl dl
sub edx, eax
mov dword [ebp - 0x10], edx
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, 0xa77b
mov eax, dword [ebp - 0xc4]
setne dl
sub eax, edx
pop edx
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0x34], edx
jl 0x421602
mov dword [ebp - 0x10c], ebx
inc dword [ebp - 0x10c]
jmp 0x4216dc
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ecx
jmp 0x42161e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30c], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x421611
mov dword [ebp - 4], 0x18
cmp dword [ebp - 4], 0xfffffff5
jle 0x4216dc
push 6
pop edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x10], 0x4e26
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x304]
cmp edi, eax
sbb eax, eax
xor ebx, ebx
inc eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x224]
cmp edx, eax
mov eax, dword [ebp - 0xc8]
setg bl
xor edx, edx
cmp eax, ebx
setl dl
xor ebx, ebx
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
cmp edx, eax
setge bl
sub ebx, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
imul ebx, dword [ebp - 0x10]
cmp ebx, 0x978c
setne dl
imul eax, dword [ebp - 0x34], 0xa183
cmp eax, edx
jne 0x4216bd
cmp dword [ebp - 0x308], ecx
je 0x4216bd
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x4216c2
xor ebx, ebx
mov eax, ecx
inc ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xc4], 0xfe298319
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff5
jg 0x421638
mov dword [ebp - 0xc], 0xb110c93b
mov dword [ebp - 0xa8], ecx
push 8
mov dword [ebp - 0x1c], 0x35984225
pop edi
mov dword [ebp - 0x100], 0xfff6
mov dword [ebp - 0xc], edi
jmp 0x4217cf
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ecx
jmp 0x42171e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x35c], 0x59ec1348
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42170d
mov dword [ebp - 4], 0xa
cmp dword [ebp - 4], 0x14
jl 0x4217cc
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 4], ecx
je 0x421768
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 4], 0xffff9364
neg eax
sbb eax, eax
xor ebx, ebx
neg eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 4]
setge bl
xor edx, edx
cmp ebx, eax
setne dl
xor ebx, ebx
inc ebx
mov esi, ebx
add edx, dword [ebp - 0x1c]
jne 0x42176a
mov esi, ecx
mov eax, dword [ebp - 0xc]
xor edx, edx
sub esi, eax
mov eax, dword [ebp - 4]
cmp esi, eax
setg dl
cmp edx, dword [ebp - 0xa8]
jle 0x421788
mov eax, ecx
cmp dword [ebp - 4], ecx
je 0x42178a
mov eax, ebx
inc eax
xor edx, edx
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa8], 2
cmp dword [ebp - 0xa8], ecx
jl 0x4217bc
inc dword [ebp - 0x100]
dec dword [ebp - 0xa8]
jns 0x4217ae
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x14
jge 0x421734
push 3
pop esi
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff7
je 0x421705
push 4
lea ecx, [ebp - 0x1f4]
call fcn.00415aed
mov dword [ebp - 4], 0x4a18885c
mov eax, 0x925d3c09
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0xc0], 0
jmp 0x42182f
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x1f4]
mov dword [eax + ecx*4], 0xb3198a8f
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], 4
jl 0x421816
mov dword [ebp - 4], 0
jmp 0x4219d0
mov dword [ebp - 0xc], 0xffffffff
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x34], 0x4393
mov dword [ebp - 0x1c], 0xffffffff
push ebx
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], eax
jmp 0x421883
mov ecx, dword [ebp - 0x38]
mov dword [ebp + ecx*4 - 0x2d0], 0x69d1fe90
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x421872
mov dword [ebp - 0x38], eax
jmp 0x4218a0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x25c]
mov dword [ecx + edx*4], 0x9d6b80f4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x42188d
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jg 0x4219c2
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 8], 0xafe497d6
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
sub esi, ecx
mov ecx, dword [ebp - 0xc]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
mov ecx, 0xbf2b8319
setle dl
cmp ecx, edx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x2d0], ecx
neg ecx
jne 0x421903
mov ecx, eax
cmp dword [ebp - 0x1b4], eax
je 0x421905
mov ecx, ebx
cmp ecx, dword [ebp - 4]
je 0x421910
mov ecx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0xc]
mov esi, 0x8c53
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x1f4]
sub esi, dword [ecx + edx*4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x1f4]
mov dword [ecx + edx*4], esi
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
imul edx, esi
test edx, edx
je 0x421950
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
xor ebx, ebx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
cmp ecx, edx
mov ecx, dword [ebp - 8]
setg bl
xor edx, edx
cmp ebx, 0x5357
push 3
setg dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 8]
pop esi
setl bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x25c]
push 1
setl dl
xor ebx, ebx
cmp edx, 4
setne bl
xor edx, edx
mov dword [ecx], ebx
mov ecx, dword [ebp - 8]
cmp ebx, ecx
pop ebx
setg dl
sub edx, dword [ebp - 0xc]
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x4218b1
lea ecx, [ebp - 0x25c]
call fcn.00415bbf
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x421844
lea ecx, [ebp - 0x1f4]
call fcn.00415bbf
push dword [ebp - 0x108]
movdqa xmm0, xmmword [0xab92a0]
lea ecx, [ebp - 0x318]
push ecx
xor eax, eax
lea ecx, [ebp - 0x328]
push ecx
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x120], eax
movdqu xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
call fcn.004172a5
push 7
mov dword [ebp - 0x54], 0xffffffff
lea ecx, [ebp - 0x1d0]
pop eax
mov dword [ebp - 0x18], 0xcd04cd02
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x4c], 0x574417f9
mov dword [ebp - 0x48], eax
push esi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x98], eax
jmp 0x421a72
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x1d0]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], esi
jl 0x421a5c
mov dword [ebp - 0x28], eax
jmp 0x421c50
mov dword [ebp - 0x70], ebx
mov dword [ebp - 8], 0x1ad7ba96
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], eax
jmp 0x421aa2
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x24], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x421a94
mov dword [ebp - 0x24], 0xffffffec
cmp dword [ebp - 0x24], 0xfffffffd
jl 0x421c4d
mov dword [ebp - 0x10], 0xfffffffa
mov dword [ebp - 4], eax
jmp 0x421ad5
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x174], 0x650ba430
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x421ac4
mov dword [ebp - 4], eax
jmp 0x421af0
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x2f0], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x421adf
cmp dword [ebp - 0x28], eax
je 0x421b6e
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
cmp ecx, ebx
setle dl
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 8], ecx
jg 0x421b39
mov ecx, ebx
cmp dword [ebp - 0x24], eax
jne 0x421b3b
mov ecx, eax
mov esi, dword [ebp - 0x10]
xor edx, edx
add esi, ecx
mov ecx, dword [ebp - 0x24]
cmp esi, ecx
mov esi, ebx
setne dl
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x28]
imul ecx, ecx, 0x3b94
test ecx, ecx
jne 0x421b70
mov esi, eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0x10]
sete dl
imul ecx, edx
test ecx, ecx
je 0x421c22
mov dword [ebp - 0x18], 0x45a3
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], eax
jl 0x421c3d
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x70], eax
jmp 0x421bdc
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], eax
jl 0x421bd9
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x421bd4
push eax
push eax
push 0xeb2
push eax
push 0x1c25
push eax
push 0x17cd
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
xor eax, eax
dec dword [ebp - 0x48]
jns 0x421baf
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], eax
jle 0x421ba7
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 0x18], eax
jne 0x421bec
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp + ecx*4 - 0x174], esi
mov ecx, dword [ebp - 0x18]
cmp ecx, esi
setle dl
add edx, edx
mov dword [ebp - 0x2f0], edx
dec dword [ebp - 0x4c]
jns 0x421b9b
jmp 0x421c3d
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2f0], ecx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x421c3d
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffd
push 3
pop esi
jge 0x421ab8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jne 0x421a82
mov ecx, dword [ebp - 0x28]
add ecx, edi
jne 0x421c78
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
jne 0x421c78
mov ecx, dword [ebp - 0x1d0]
mov esi, eax
cmp dword [ecx + 8], eax
je 0x421c7a
mov esi, ebx
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setne dl
xor eax, eax
cmp esi, 0xffffffff
setl al
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x1d0]
cmp edx, dword [eax + 8]
setg cl
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x1d0]
call fcn.00415bbf
mov dword [ebp - 0x54], 0
cmp dword [ebp - 0x54], 3
jg 0x421fe7
push 2
pop edi
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x28c]
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x421ce4
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + ecx*4 - 0xe8], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x421cd7
mov dword [ebp - 0x2c], eax
jmp 0x421cff
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28c]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x421cef
mov dword [ebp - 4], edi
cmp dword [ebp - 4], eax
jl 0x421ea1
push edi
lea ecx, [ebp - 0x274]
call fcn.00415aed
mov dword [ebp - 0x1c], 0x9b41dbc4
xor eax, eax
mov dword [ebp - 0x60], 0xb167d3d8
mov dword [ebp - 0x94], eax
jmp 0x421d49
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x274]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0x94]
cmp dword [ebp - 0x94], edi
jl 0x421d34
mov esi, dword [ebp - 0x274]
mov dword [esi + 4], edi
mov dword [ebp - 0x10], 4
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x34], 0x2089ce3
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe8]
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 4]
xor ecx, ecx
cmp dword [esi + 4], ecx
setne cl
xor edx, edx
cmp ecx, 0xe0c0
sete dl
xor ecx, ecx
cmp dword [esi + 4], edx
setge cl
cmp ecx, ebx
jle 0x421ded
mov dword [ebp - 0x1c], 0xfa1b4415
inc dword [ebp - 0x60]
jmp 0x421e82
mov dword [ebp - 8], eax
mov dword [ebp - 0x60], eax
jmp 0x421e79
mov ecx, dword [esi + 4]
mov ecx, dword [ebp + ecx*4 - 0xe8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x60], eax
je 0x421e0d
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x421e76
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jg 0x421e5e
mov edi, dword [ebp - 0x28c]
mov ecx, dword [esi + 4]
mov edx, 0x8afc
mov ecx, dword [ebp + ecx*4 - 0xe8]
sub edx, ecx
mov dword [edi + 4], edx
mov ecx, dword [esi + 4]
cmp dword [ebp + ecx*4 - 0xe8], eax
jne 0x421e5b
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x421e32
push 2
pop edi
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x421e71
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x421e24
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], edi
jle 0x421df8
dec dword [esi + 4]
jns 0x421d5a
lea ecx, [ebp - 0x274]
call fcn.00415bbf
dec dword [ebp - 4]
jns 0x421d10
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x421eb1
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0x28c]
call fcn.00415bbf
mov dword [ebp - 0x18c], 0x2751c76d
mov dword [ebp - 0x188], 0x2751c76d
mov dword [ebp - 0x184], 0x2751c76d
mov dword [ebp - 0x180], 0x2751c76d
mov dword [ebp - 0x1c], 0x83afd470
mov dword [ebp - 0x10], 0
jmp 0x421f05
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2d8], 0xbf24
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x421ef4
mov dword [ebp - 0x18c], 3
cmp dword [ebp - 0x18c], 0
jl 0x421fda
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x2a4]
push 3
call fcn.00415aed
lea eax, [ebp - 0x2fc]
mov dl, bl
push eax
lea ecx, [ebp - 0x2a4]
call fcn.0041d845
lea eax, [ebp - 0x54]
mov cl, bl
push eax
lea edx, [ebp - 0x120]
call fcn.0041ecfb
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x120]
mov edi, dword [ebp - 0x2a4]
pop ecx
pop ecx
xor ecx, ecx
cmp dword [eax], 0xd982
mov eax, dword [ebp - 0x2d4]
sete cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
dec dword [edi + 8]
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0xd7d2
setg al
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
cmp dword [edi + 8], eax
mov eax, dword [ebp - 0x120]
sete dl
xor ecx, ecx
cmp dword [eax + esi*4], edx
sete cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x2a4]
call fcn.00415bbf
dec dword [ebp - 0x18c]
push 2
pop edi
jns 0x421f21
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 3
jle 0x421cc1
lea ecx, [ebp - 0x120]
call fcn.00415bbf
call fcn.00420186
mov al, bl
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret