Function at 0x10038ff1
Capabilities:
Accept command line arguments
Check os version
Create process on windows
Delete directory
Enumerate gui resources
Get common file path
Get disk information
Identify system language via api
Parse pe header
Read .ini file
Resume thread

Disassembly:
mov eax, 0x10090799
call fcn.1008efd8
mov eax, 0x1494
call fcn.10075240
mov dword [ebp - 0x50], 0x37ad
lea eax, [ebp - 0x104c]
mov dword [ebp - 0x5c], 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0xe923e64f
push ebx
mov dword [ebp - 0x20], 0x2e91a049
push esi
mov dword [ebp - 0x34], 0x55cc25b
mov dword [ebp - 0x34], 0x1b68dee2
push edi
mov dword [ebp - 0x34], 0xfda7ef5d
push eax
mov dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x105c]
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x1414]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x34], 0xf6b3e713
mov dword [ebp - 0x34], 0xe71b35d5
push eax
mov byte [ebp - 0x75], dl
movdqu xmmword [ebp - 0x105c], xmm0
call fcn.1001049d
lea ecx, [ebp - 0x281]
mov esi, eax
call fcn.1001049a
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1298]
push dword [esi]
call fcn.10010460
xor eax, eax
mov dword [ebp - 4], eax
push 1
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x20], eax
pop ebx
jmp 0x10039113
mov dword [ebp - 0x24], 0x39ed080c
lea ecx, [ebp - 0xfb0]
push 4
call fcn.10010401
xor eax, eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x10], eax
jmp 0x100390e6
push dword [ebp - 0x10]
lea ecx, [ebp - 0xfb0]
call fcn.1001048b
mov dword [eax], 0x3b3f3656
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100390cf
mov eax, dword [ebp - 0x24]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10039102
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
xor eax, eax
lea ecx, [ebp - 0xfb0]
mov byte [ebp - 4], al
call fcn.10010486
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x18
jne 0x100390b1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1298]
call fcn.10010486
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x14], 0x1177e8ed
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], 0x7507af9c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10039160
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6ec], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10039147
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 2
pop esi
push 5
pop ecx
cmp dword [ebp - 0x14], eax
je 0x100392cd
mov dword [ebp - 0x2c], 0xa31e468a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x10039280
jmp 0x1003918d
xor eax, eax
mov dword [ebp - 0x10], 0x7ad4351c
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], eax
jl 0x10039263
push ebx
lea ecx, [ebp - 0xaa0]
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100391df
push dword [ebp - 0x20]
lea ecx, [ebp - 0xaa0]
call fcn.1001048b
or dword [eax], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100391c4
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100391f0
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x6ec]
mov eax, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x6ec]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x6ec]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x6ec]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6ec], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0xaa0]
call fcn.1001048b
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xaa0]
or dword [ebp - 4], 0xffffffff
call fcn.10010486
dec dword [ebp - 0x10]
jns 0x100391ab
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x6ec], 0
jne 0x1003927d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1003918b
push 5
pop ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x2b00
mov dword [ebp - 0x14], ecx
jmp 0x100392ed
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100392ed
push 0x1567
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
mov dword [ebp - 0x3c], 0xffffffff
lea ecx, [ebp - 0x7cc]
mov dword [ebp - 0x24], 0xa96950a4
mov dword [ebp - 0x2c], 0x3ad3b315
mov dword [ebp - 0x60], 0x21cd4309
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x44], 0xfffffff7
push ebx
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003934e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7cc]
call fcn.1001048b
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10039334
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x100393c6
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x60]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
test edx, edx
setg cl
xor edx, edx
sub ecx, 0x9c27
cmp ecx, eax
mov eax, dword [ebp - 0x60]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setge bl
xor ecx, ecx
test eax, eax
sets cl
xor edx, edx
cmp ebx, ecx
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setl cl
xor ebx, ebx
imul ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x2c]
jl 0x100393c5
xor eax, eax
inc ebx
jmp 0x100393c8
inc ebx
mov eax, ebx
add eax, 0xffff
cmp eax, 0x5a8df044
jle 0x100393d7
mov eax, dword [ebp - 0x60]
push 0xfffffffffffffffb
pop edx
xor eax, eax
mov dword [ebp - 0x60], 0x9d7fccea
push 0xfffffffffffffff9
pop ecx
cmp dword [ebp - 0x40], eax
je 0x1003958a
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], 0xd743ccc
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x34], 0x7a68fab8
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0xe20]
mov dword [ebp - 0x10], 0xef874acc
push ebx
call fcn.10010401
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x58], 0x72cb566e
mov dword [ebp - 0x5c], 0xa963965b
mov dword [ebp - 0x10], eax
jmp 0x10039450
push dword [ebp - 0x10]
lea ecx, [ebp - 0xe20]
call fcn.1001048b
mov dword [eax], 0xda550e8f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10039439
dec dword [ebp - 0x58]
mov dword [ebp - 0x10], 0xfffffff1
cmp dword [ebp - 0x10], 0xfffffffc
je 0x1003957d
push esi
lea ecx, [ebp - 0x8ec]
call fcn.10010401
push 5
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x100394a0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x8ec]
call fcn.1001048b
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10039485
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x1003950c
push eax
lea ecx, [ebp - 0x7cc]
call fcn.1001048b
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff8
lea ecx, [ebp - 0x8ec]
setne al
xor ebx, ebx
cmp eax, 0xcedb
setne bl
xor eax, eax
inc eax
push eax
call fcn.1001048b
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
cmp dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x8ec]
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.1001048b
xor ebx, ebx
sub esi, dword [eax]
cmp esi, 0xe2efaada
jbe 0x1003950b
xor eax, eax
inc ebx
mov esi, eax
jmp 0x10039510
inc ebx
mov esi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x7cc]
call fcn.1001048b
mov ecx, dword [ebp - 0x10]
sub esi, ecx
mov dword [eax], esi
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x1003955e
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10039559
push 0x875
push eax
push 0x465
push 0x1e15
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1003952d
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.10010486
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffc
push 2
pop esi
jne 0x10039469
lea ecx, [ebp - 0xe20]
call fcn.10010486
jmp 0x100395aa
mov dword [ebp - 0x58], 0xd55faf23
inc dword [ebp - 0x58]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x100395aa
push ebx
push 0x1575
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7cc]
call fcn.10010486
mov dword [ebp - 0x34], 0x495231fb
xor eax, eax
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0x3ea3a722
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x100395ed
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 4
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setle dl
cmp edx, 0x3c69
jg 0x1003963e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x1003971d
xor eax, eax
mov dword [ebp - 0x30], 0xc0429090
mov dword [ebp - 0x10], 0x6723ff49
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x40], 0xf08a
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
push 0
setge cl
sub ecx, 0x9babe4a9
add ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub ecx, esi
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x40]
imul edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
cmp edx, eax
mov eax, dword [ebp - 0x40]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xc073
mov edx, 0xffff
setge al
cmp edx, eax
sbb eax, eax
neg eax
pop eax
setns al
cmp eax, 0x44c677cc
jl 0x10039716
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10039718
mov eax, ebx
mov dword [ebp - 0x20], eax
jmp 0x10039730
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10039730
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
mov dword [ebp - 0x48], 0xab1d6a56
lea ecx, [ebp - 0x744]
mov dword [ebp - 0x10], 0x962e
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x5c], 0x79a20b28
push esi
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10039787
push dword [ebp - 0x14]
lea ecx, [ebp - 0x744]
call fcn.1001048b
mov dword [eax], 0xfd03b15a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10039769
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003979d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1040], 0x17a68fab
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003978c
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
sub eax, ecx
lea ecx, [ebp - 0x744]
mov dword [ebp - 0x5c], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add esi, 0x72e7
mov eax, dword [ebp - 0x20]
neg esi
sbb esi, esi
xor eax, eax
push eax
inc esi
call fcn.1001048b
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x744]
push ebx
sete dl
add edx, 0xd204
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
call fcn.1001048b
mov eax, dword [ebp - 0x10]
sub eax, 0x3f667bcd
jne 0x10039826
push eax
lea ecx, [ebp - 0x744]
call fcn.1001048b
cmp dword [eax], 0
jne 0x10039826
xor eax, eax
jmp 0x10039828
mov eax, ebx
mov dword [ebp - 0x1040], eax
lea ecx, [ebp - 0x744]
or dword [ebp - 4], 0xffffffff
call fcn.10010486
mov dword [ebp - 0x30], 0x7b18
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x5c], 0x1bd53d2a
push ebx
call fcn.10010401
push 7
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], 0x4fe605a4
mov dword [ebp - 0x20], 0xc72fddd0
mov dword [ebp - 0x34], 0x2e525b78
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100398b8
push dword [ebp - 0x14]
lea ecx, [ebp - 0x394]
call fcn.1001048b
mov dword [eax], 0xc4438182
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003989a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x100398ce
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x388], 0xe6d99275
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100398bd
mov eax, dword [ebp - 0x30]
mov ecx, 0xd34caa8e
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x30]
neg eax
cmp ebx, eax
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x40]
test eax, eax
setg cl
cmp ecx, dword [ebp - 0x30]
jge 0x10039916
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
je 0x10039924
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x10039932
mov ecx, ebx
cmp dword [ebp - 0x1c], eax
jne 0x10039934
mov ecx, eax
xor eax, eax
cmp ecx, 0xe2d3
setle al
xor ecx, ecx
cmp eax, 8
setle cl
xor eax, eax
cmp ecx, 0x3cea2ff3
mov ecx, dword [ebp - 0x30]
setle al
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
imul ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x30]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jg 0x10039b9d
jmp 0x10039979
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffd
mov ecx, 0xffff
mov dword [ebp - 0x54], 0x94191b8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100399bc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3d0], 0x3a861d8d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100399a4
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x100399d2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x108c], 0xc3bc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100399c1
push dword [ebp - 0x30]
lea ecx, [ebp - 0x394]
call fcn.1001048b
xor ecx, ecx
cmp dword [eax], 0x830a
mov eax, dword [ebp - 0x40]
setne cl
dec dword [ebp - 0x40]
cmp ecx, eax
jg 0x100399fe
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x394]
xor eax, eax
push eax
call fcn.1001048b
mov eax, dword [ebp - 0x1084]
lea ecx, [ebp - 0x394]
mov eax, dword [ebp - 0x1080]
push dword [ebp - 0x30]
call fcn.1001048b
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x394]
push dword [ebp - 0x30]
call fcn.1001048b
push dword [ebp - 0x30]
lea ecx, [ebp - 0x394]
call fcn.1001048b
push dword [ebp - 0x30]
lea ecx, [ebp - 0x394]
mov esi, eax
call fcn.1001048b
mov ecx, dword [esi]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10039b88
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x5c], 0x1c77dd35
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10039a9b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2b0], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10039a83
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jg 0x10039b85
mov dword [ebp - 0x40], 0x695f
xor ecx, ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x58], 0xfffffffb
mov eax, dword [ebp - 0x58]
cmp edx, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x388]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor eax, eax
cmp edx, 0x218
setg al
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x10039b77
mov dword [ebp - 0x54], 0x85fc0193
xor edx, edx
mov eax, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x2b0]
add eax, 0x7b9f
add ecx, eax
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xd02ac2ff
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b0]
cmp eax, 0xdd52
setg cl
xor eax, eax
mov dword [ebp - 0x5c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10039b04
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x10039aa7
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x10039a66
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x10039977
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x394]
call fcn.10010486
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10039bd3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc08], 0xd8f6efba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10039bba
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10039be9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13f4], 0xd6c34f1d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10039bd8
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
inc dword [ebp - 0x48]
cmp eax, ecx
jg 0x10039c0e
mov esi, ebx
xor eax, eax
jmp 0x10039c12
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x24], eax
jne 0x10039c1a
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc00]
xor ebx, ebx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x13ec]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov ecx, dword [ebp - 0xc00]
mov eax, dword [ebp - 0xc00]
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
sub ebx, eax
xor ecx, ecx
add edx, esi
cmp ebx, 0x50169ff9
setle cl
xor eax, eax
cmp edx, ecx
setge al
cmp eax, 0xb99bf0bb
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x3c], 0x860a421e
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0xa218f0ed
mov dword [ebp - 0x14], 0xfffffff9
cmp dword [ebp - 0x14], 0x17
jg 0x10039d3e
mov dword [ebp - 0x10], 0xfffffff6
xor edx, edx
mov dword [ebp - 0x24], 0x27359b50
mov dword [ebp - 0x24], 0xf8651162
mov dword [ebp - 0x24], 0x20859495
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], 0x5da2
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
push 5
setle dl
xor eax, eax
pop ecx
cmp edx, ecx
setle al
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
imul ecx, ecx, 0xffff
cmp ecx, eax
setge dl
xor eax, eax
cmp dword [ebp - 0x14], edx
jle 0x10039d2c
cmp dword [ebp - 0x10], eax
je 0x10039d2c
mov eax, ebx
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
jle 0x10039c9e
xor eax, eax
mov dword [ebp - 0x20], 0x2e91a049
lea ecx, [ebp - 0x1374]
mov dword [ebp - 0x34], 0x55cc25b
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0x1b68dee2
mov dword [ebp - 0x34], 0xfda7ef5d
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x113c]
push eax
lea eax, [ebp - 0x114c]
mov dword [ebp - 0x34], 0xf6b3e713
mov dword [ebp - 0x34], 0xe71b35d5
push eax
movdqu xmmword [ebp - 0x114c], xmm0
call fcn.1001049d
lea ecx, [ebp - 0x1f1]
mov esi, eax
call fcn.1001049a
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1250]
push dword [esi]
call fcn.10010460
mov dword [ebp - 4], 8
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x20], eax
jmp 0x10039e2d
mov dword [ebp - 0x24], 0x39ed080c
lea ecx, [ebp - 0x1004]
push 4
call fcn.10010401
push 9
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10039e01
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1004]
call fcn.1001048b
mov dword [eax], 0x3b3f3656
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10039dea
mov eax, dword [ebp - 0x24]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10039e1b
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
lea ecx, [ebp - 0x1004]
mov byte [ebp - 4], 8
call fcn.10010486
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x18
jne 0x10039dc9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1250]
call fcn.10010486
mov dword [ebp - 0x5c], 0x37ad
xor eax, eax
mov dword [ebp - 0x14], 0x1177e8ed
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x48], 0x7507af9c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10039e7e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x708], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10039e65
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10039fe3
mov dword [ebp - 0x2c], 0xa31e468a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x10039f93
jmp 0x10039e9f
xor eax, eax
mov dword [ebp - 0x10], 0x7ad4351c
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], eax
jl 0x10039f79
push ebx
lea ecx, [ebp - 0xab8]
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10039ef5
push dword [ebp - 0x20]
lea ecx, [ebp - 0xab8]
call fcn.1001048b
or dword [eax], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10039eda
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10039f06
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x708], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0xab8]
call fcn.1001048b
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xab8]
or dword [ebp - 4], 0xffffffff
call fcn.10010486
dec dword [ebp - 0x10]
jns 0x10039ebd
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x708], 0
jne 0x10039f93
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x10039e9d
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x2c]
push 5
pop ecx
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x2b00
mov dword [ebp - 0x14], ecx
jmp 0x1003a003
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003a003
push 0x1567
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0x7e4]
mov dword [ebp - 0x2c], 0x3ad3b315
mov dword [ebp - 0x20], 0x21cd4309
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x3c], 0xfffffff7
push ebx
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003a05d
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7e4]
call fcn.1001048b
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003a043
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1003a0d5
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
test edx, edx
setg cl
xor edx, edx
sub ecx, 0x9c27
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setge bl
xor ecx, ecx
test eax, eax
sets cl
xor edx, edx
cmp ebx, ecx
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setl cl
xor ebx, ebx
imul ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x2c]
jl 0x1003a0d4
xor eax, eax
inc ebx
jmp 0x1003a0d7
inc ebx
mov eax, ebx
add eax, 0xffff
cmp eax, 0x5a8df044
jle 0x1003a0e6
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x1003a28c
mov dword [ebp - 0x34], 0xfffffffb
lea ecx, [ebp - 0xe30]
mov dword [ebp - 0x20], 0xd743ccc
mov dword [ebp - 0x34], eax
push 0xfffffffffffffff9
mov dword [ebp - 0x34], 3
pop eax
mov dword [ebp - 0x34], 0x7a68fab8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xef874acc
push ebx
call fcn.10010401
mov byte [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x24], 0x72cb566e
mov dword [ebp - 0x50], 0xa963965b
mov dword [ebp - 0x10], eax
jmp 0x1003a159
push dword [ebp - 0x10]
lea ecx, [ebp - 0xe30]
call fcn.1001048b
mov dword [eax], 0xda550e8f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003a142
dec dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xfffffff1
jmp 0x1003a275
push 2
lea ecx, [ebp - 0x9f4]
call fcn.10010401
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1003a1a5
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9f4]
call fcn.1001048b
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1003a189
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1003a211
push eax
lea ecx, [ebp - 0x7e4]
call fcn.1001048b
mov ecx, dword [ebp - 0x50]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff8
lea ecx, [ebp - 0x9f4]
setne al
xor ebx, ebx
cmp eax, 0xcedb
setne bl
xor eax, eax
inc eax
push eax
call fcn.1001048b
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
cmp dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x9f4]
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.1001048b
xor ebx, ebx
sub esi, dword [eax]
cmp esi, 0xe2efaada
jbe 0x1003a210
xor eax, eax
inc ebx
mov esi, eax
jmp 0x1003a215
inc ebx
mov esi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x7e4]
call fcn.1001048b
mov ecx, dword [ebp - 0x10]
sub esi, ecx
mov dword [eax], esi
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x1003a263
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003a25e
push 0x875
push eax
push 0x465
push 0x1e15
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1003a232
lea ecx, [ebp - 0x9f4]
mov byte [ebp - 4], 0xc
call fcn.10010486
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffc
jne 0x1003a16d
lea ecx, [ebp - 0xe30]
call fcn.10010486
jmp 0x1003a2ac
mov dword [ebp - 0x24], 0xd55faf23
inc dword [ebp - 0x24]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1003a2ac
push ebx
push 0x1575
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7e4]
call fcn.10010486
mov dword [ebp - 0x24], 0xe923e64f
xor eax, eax
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0x3ea3a722
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1003a2ef
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 4
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, 0x3c69
jg 0x1003a340
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x1003a420
xor eax, eax
mov dword [ebp - 0x30], 0xc0429090
mov dword [ebp - 0x10], 0x6723ff49
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x48], 0xf08a
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
push 0
setge cl
sub ecx, 0x9babe4a9
add ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub ecx, 2
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x48]
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
cmp edx, eax
mov eax, dword [ebp - 0x48]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, 0xffff
setne dl
xor eax, eax
cmp edx, 0xc073
setge al
cmp ecx, eax
sbb eax, eax
neg eax
pop eax
setns al
cmp eax, 0x44c677cc
jl 0x1003a419
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1003a41b
mov eax, ebx
mov dword [ebp - 0x20], eax
jmp 0x1003a433
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1003a435
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x10], 0x962e
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x24], 0x79a20b28
push 2
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003a48b
push dword [ebp - 0x14]
lea ecx, [ebp - 0x628]
call fcn.1001048b
mov dword [eax], 0xfd03b15a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003a46c
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003a4a1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe10], 0x17a68fab
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003a490
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
sub eax, ecx
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add esi, 0x72e7
mov eax, dword [ebp - 0x20]
neg esi
sbb esi, esi
xor eax, eax
push eax
inc esi
call fcn.1001048b
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x628]
push ebx
sete dl
add edx, 0xd204
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
call fcn.1001048b
mov eax, dword [ebp - 0x10]
sub eax, 0x3f667bcd
jne 0x1003a52b
push eax
lea ecx, [ebp - 0x628]
call fcn.1001048b
cmp dword [eax], 0
jne 0x1003a52b
xor eax, eax
jmp 0x1003a52d
mov eax, ebx
mov dword [ebp - 0xe10], eax
lea ecx, [ebp - 0x628]
or dword [ebp - 4], 0xffffffff
call fcn.10010486
mov dword [ebp - 0x30], 0x7b18
lea ecx, [ebp - 0x3dc]
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x24], 0x1bd53d2a
push ebx
call fcn.10010401
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], 0x4fe605a4
mov dword [ebp - 0x20], 0xc72fddd0
mov dword [ebp - 0x34], 0x2e525b78
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003a5be
push dword [ebp - 0x14]
lea ecx, [ebp - 0x3dc]
call fcn.1001048b
mov dword [eax], 0xc4438182
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003a5a0
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003a5d4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x328], 0xe6d99275
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003a5c3
mov eax, dword [ebp - 0x30]
mov ecx, 0xd34caa8e
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x30]
neg eax
cmp ebx, eax
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setle cl
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x48]
test eax, eax
setg cl
cmp ecx, dword [ebp - 0x30]
jge 0x1003a61c
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
je 0x1003a62a
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x1003a638
mov ecx, ebx
cmp dword [ebp - 0x1c], eax
jne 0x1003a63a
mov ecx, eax
xor eax, eax
cmp ecx, 0xe2d3
setle al
xor ecx, ecx
cmp eax, 8
setle cl
xor eax, eax
cmp ecx, 0x3cea2ff3
mov ecx, dword [ebp - 0x30]
setle al
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
imul ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jg 0x1003a8a3
jmp 0x1003a67f
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffd
mov ecx, 0xffff
mov dword [ebp - 0x40], 0x94191b8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003a6c2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x384], 0x3a861d8d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003a6aa
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003a6d8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10ac], 0xc3bc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003a6c7
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3dc]
call fcn.1001048b
xor ecx, ecx
cmp dword [eax], 0x830a
mov eax, dword [ebp - 0x48]
setne cl
dec dword [ebp - 0x48]
cmp ecx, eax
jg 0x1003a704
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3dc]
xor eax, eax
push eax
call fcn.1001048b
mov eax, dword [ebp - 0x10a4]
lea ecx, [ebp - 0x3dc]
mov eax, dword [ebp - 0x10a0]
push dword [ebp - 0x30]
call fcn.1001048b
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x3dc]
push dword [ebp - 0x30]
call fcn.1001048b
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3dc]
call fcn.1001048b
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3dc]
mov esi, eax
call fcn.1001048b
mov ecx, dword [esi]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1003a88e
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x54], 4
mov dword [ebp - 0x50], 0x1c77dd35
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003a7a1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2a4], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003a789
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jg 0x1003a88b
mov dword [ebp - 0x48], 0x695f
xor ecx, ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x24], 0xfffffffb
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x328]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor eax, eax
cmp edx, 0x218
setg al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1003a87d
mov dword [ebp - 0x58], 0x85fc0193
xor edx, edx
mov eax, dword [ebp - 0x384]
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x54]
imul ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2a4]
add eax, 0x7b9f
add ecx, eax
mov eax, dword [ebp - 0x48]
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0xd02ac2ff
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a4]
cmp eax, 0xdd52
setg cl
xor eax, eax
mov dword [ebp - 0x50], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x1003a80a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1003a7ad
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x1003a76c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1003a67d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3dc]
call fcn.10010486
mov dword [ebp - 0x50], 0xffffffff
lea ecx, [ebp - 0x904]
push 3
call fcn.10010401
mov dword [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1003a905
push dword [ebp - 0x10]
lea ecx, [ebp - 0x904]
call fcn.1001048b
mov dword [eax], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003a8e6
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003a918
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003a93c
push dword [ebp - 0x10]
call fcn.1001048b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x904]
mov esi, eax
call fcn.1001048b
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
lea ecx, [ebp - 0x904]
jle 0x1003a91d
or dword [ebp - 4], 0xffffffff
call fcn.10010486
mov dword [ebp - 0x58], 0xa96950a4
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x14], 0xffffffff
push ebx
call fcn.10010401
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x2c], 0x884cb8f6
mov dword [ebp - 0x10], 0x35a7ab5b
mov dword [ebp - 0x20], eax
jmp 0x1003a998
push dword [ebp - 0x20]
call fcn.1001048b
mov dword [eax], 2
inc dword [ebp - 0x20]
lea ecx, [ebp - 0xe4]
cmp dword [ebp - 0x20], ebx
jl 0x1003a987
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
xor eax, eax
push eax
call fcn.1001048b
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x1003abab
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jg 0x1003aba2
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jg 0x1003ab1e
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0xe4]
push dword [ebp - 0x1c]
call fcn.1001048b
lea ecx, [ebp - 0xe4]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x14]
call fcn.1001048b
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe4]
call fcn.1001048b
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, ebx
setle cl
cmp ecx, dword [ebp - 0x14]
jge 0x1003aa3c
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe4]
call fcn.1001048b
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0xe4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x30]
call fcn.1001048b
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xe4]
push dword [ebp - 0x1c]
call fcn.1001048b
xor eax, eax
lea ecx, [ebp - 0xe4]
push eax
call fcn.1001048b
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xe4]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x30]
call fcn.1001048b
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xe4]
push dword [ebp - 0x14]
call fcn.1001048b
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x10], 0x1b
cmp dword [ebp - 0x10], 0x14
jl 0x1003ab10
mov dword [ebp - 0x20], eax
jmp 0x1003ab06
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x1003ab03
push dword [ebp - 0x30]
lea ecx, [ebp - 0xe4]
call fcn.1001048b
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe4]
mov esi, eax
call fcn.1001048b
mov ecx, dword [eax]
xor eax, eax
mov dword [esi], ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1003aaf9
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x1003aab8
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1003aab0
dec dword [ebp - 0x10]
jmp 0x1003aaa5
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1003a9e9
xor eax, eax
push eax
lea ecx, [ebp - 0xe4]
call fcn.1001048b
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xe4]
push dword [ebp - 0x14]
call fcn.1001048b
xor eax, eax
lea ecx, [ebp - 0xe4]
push eax
call fcn.1001048b
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
add edx, 0xe3c2
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, 0xffff
cmp dword [ebp - 0x2c], eax
jb 0x1003ab80
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1003ab82
mov esi, ebx
jmp 0x1003ab84
xor eax, eax
mov esi, eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe4]
call fcn.1001048b
mov dword [eax], esi
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x1003a9d6
dec dword [ebp - 0x14]
jns 0x1003a9c4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.10010486
mov dword [ebp - 0x34], 0x495231fb
push 0xfffffffffffffff9
mov dword [ebp - 0x20], 0xffffffff
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xfffffff6
jge 0x1003ac82
jmp 0x1003abe1
xor eax, eax
mov dword [ebp - 0x10], 0x782
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003ac0a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf08], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003abf1
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003ac20
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x140c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003ac0f
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1003ac5e
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x1003ac42
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1003ac4a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf04], eax
test eax, eax
jne 0x1003ac5e
mov ecx, eax
jmp 0x1003ac60
mov ecx, ebx
mov eax, dword [ebp - 0x10]
add eax, ecx
xor ecx, ecx
cmp eax, 0x59c4
setl cl
mov dword [ebp - 0x1408], ecx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff6
jl 0x1003abdf
mov dword [ebp - 0x40], 0xab1d6a56
lea ecx, [ebp - 0x7fc]
push ebx
call fcn.10010401
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003acce
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7fc]
call fcn.1001048b
mov dword [eax], 0x9f9b3198
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003acb0
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x1003ad10
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003ace6
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7fc]
call fcn.1001048b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7fc]
mov esi, eax
call fcn.1001048b
mov ecx, dword [esi]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x10]
pop eax
jns 0x1003acd6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7fc]
call fcn.10010486
push 2
lea ecx, [ebp - 0x120]
call fcn.10010401
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0xc74]
mov dword [ebp - 0x48], 0x82ca9683
push 3
call fcn.10010401
xor eax, eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003ad78
push dword [ebp - 0x14]
lea ecx, [ebp - 0x120]
call fcn.1001048b
mov dword [eax], 0x34d00693
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003ad59
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1003ada0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc74]
call fcn.1001048b
mov dword [eax], 0xd99ea7eb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003ad81
xor eax, eax
push eax
lea ecx, [ebp - 0x120]
call fcn.1001048b
mov esi, eax
lea ecx, [ebp - 0x120]
xor eax, eax
push eax
call fcn.1001048b
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x120]
setl dl
xor eax, eax
mov dword [ebp - 0x48], edx
push eax
call fcn.1001048b
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x120]
setl bl
xor eax, eax
inc eax
push eax
call fcn.1001048b
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor ebx, ebx
mov dword [ebp - 0x24], ecx
inc ebx
push ebx
lea ecx, [ebp - 0x120]
call fcn.1001048b
mov edx, dword [ebp - 0x24]
xor ecx, ecx
push ebx
cmp edx, dword [eax]
sete cl
cmp ecx, 0xfffffff7
lea ecx, [ebp - 0x120]
sbb esi, esi
inc esi
call fcn.1001048b
push ebx
lea ecx, [ebp - 0x120]
mov edi, dword [eax]
add edi, esi
call fcn.1001048b
mov eax, dword [eax]
imul eax, edi
test eax, eax
jne 0x1003ae49
cmp dword [ebp - 0x48], eax
jne 0x1003ae49
xor edi, edi
mov esi, eax
inc edi
jmp 0x1003ae4e
xor edi, edi
inc edi
mov esi, edi
push edi
lea ecx, [ebp - 0x120]
call fcn.1001048b
push edi
lea ecx, [ebp - 0xc74]
call fcn.1001048b
lea ecx, [ebp - 0x120]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.1001048b
push edi
lea ecx, [ebp - 0x120]
call fcn.1001048b
xor eax, eax
lea ecx, [ebp - 0x120]
push eax
call fcn.1001048b
xor eax, eax
lea ecx, [ebp - 0x120]
push eax
call fcn.1001048b
push edi
lea ecx, [ebp - 0x120]
call fcn.1001048b
mov esi, eax
lea ecx, [ebp - 0x120]
xor eax, eax
push eax
call fcn.1001048b
mov ecx, dword [eax]
sub ecx, dword [esi]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xc74]
call fcn.10010486
or ebx, 0xffffffff
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], ebx
call fcn.10010486
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x34], 0x5568
mov dword [ebp - 0x34], 0xd453606d
push 3
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0x83111738
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1003af24
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12c8], 0x568d526d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003af0c
xor eax, eax
dec dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1003af47
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x12c8], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1003af2f
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003af5d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc20], 0xd8f6efba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003af4c
push 7
pop eax
mov dword [ebp - 0x20], 0x5e17ca00
lea ecx, [ebp - 0xad0]
mov dword [ebp - 0x10], eax
push 0xfffffffffffffffe
pop esi
mov dword [ebp - 0x44], 0xb719
mov dword [ebp - 0x48], esi
push 9
mov dword [ebp - 0x3c], 0xcadfb1a
pop eax
mov dword [ebp - 0x24], 0x6a6c
mov dword [ebp - 0x3c], 0xcf0adc10
mov dword [ebp - 0x3c], eax
push edi
call fcn.10010401
xor eax, eax
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], eax
jmp 0x1003afc7
push dword [ebp - 0x10]
lea ecx, [ebp - 0xad0]
call fcn.1001048b
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003afb4
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1003aff1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x20]
jle 0x1003aff1
xor eax, eax
jmp 0x1003aff3
mov eax, edi
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x1003b022
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp eax, 0x5bc42206
mov eax, dword [ebp - 0x48]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp dword [ebp - 0x10], ecx
jg 0x1003b022
xor eax, eax
mov edx, eax
jmp 0x1003b024
mov edx, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setl cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
jne 0x1003b046
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1003b04d
jmp 0x1003b048
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1003b052
cmp dword [ebp - 0x10], eax
je 0x1003b054
mov eax, edi
add eax, 0xfffffffb
lea ecx, [ebp - 0xad0]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
xor eax, eax
push eax
call fcn.1001048b
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 4], ebx
mov dword [eax], ecx
lea ecx, [ebp - 0xad0]
call fcn.10010486
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1003b0a5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1424], 0xd6c34f1d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003b08c
xor eax, eax
mov dword [ebp - 0x34], 0x3a4a
mov dword [ebp - 0x34], 0x6aabecba
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xf3690f1d
mov dword [ebp - 0x34], 0xfb5a5efa
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x34], 0xb76d6092
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x2835357f
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xf3f7e813
mov dword [ebp - 0x24], 0xa83d
mov dword [ebp - 0x10], eax
jmp 0x1003b109
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1014], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003b0f8
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x40]
cmp eax, ecx
jg 0x1003b130
mov esi, edi
xor eax, eax
jmp 0x1003b134
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x58], eax
jne 0x1003b13c
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xc18]
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x141c]
cmp eax, ecx
mov ecx, dword [ebp - 0xc18]
mov eax, dword [ebp - 0xc18]
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setl dl
sub ebx, eax
xor ecx, ecx
add edx, esi
cmp ebx, 0x50169ff9
setle cl
xor eax, eax
cmp edx, ecx
setge al
cmp eax, 0xb99bf0bb
sbb eax, eax
inc eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x37ad
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0xe923e64f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x5c], 0xa96950a4
mov dword [ebp - 0x34], 0x495231fb
mov dword [ebp - 0x48], 0xab1d6a56
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1003b1ed
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xae8], 0xd8f6efba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003b1d4
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003b203
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x143c], 0xd6c34f1d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003b1f2
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x48]
cmp eax, ecx
jg 0x1003b228
mov esi, edi
xor eax, eax
jmp 0x1003b22c
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x5c], eax
jne 0x1003b234
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xae0]
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1434]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov ecx, dword [ebp - 0xae0]
mov eax, dword [ebp - 0xae0]
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setl dl
sub ebx, eax
xor ecx, ecx
add edx, esi
cmp ebx, 0x50169ff9
setle cl
xor eax, eax
cmp edx, ecx
setge al
cmp eax, 0xb99bf0bb
sbb eax, eax
inc eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x37ad
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0xe923e64f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x5c], 0xa96950a4
mov dword [ebp - 0x34], 0x495231fb
mov dword [ebp - 0x48], 0xab1d6a56
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1003b2e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc8c], 0xd8f6efba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003b2cc
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003b2fb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1454], 0xd6c34f1d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003b2ea
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x48]
cmp eax, ecx
jg 0x1003b320
mov esi, edi
xor eax, eax
jmp 0x1003b324
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x5c], eax
jne 0x1003b32c
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xc84]
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x144c]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov ecx, dword [ebp - 0xc84]
mov eax, dword [ebp - 0xc84]
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setl dl
sub ebx, eax
xor ecx, ecx
add edx, esi
cmp ebx, 0x50169ff9
mov esi, 0x5c6f
push 2
setle cl
mov ebx, 0xca1a1f05
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x994]
setge al
cmp eax, 0xb99bf0bb
sbb eax, eax
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x50], 0xffffffff
pop eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x34], 0x56574b60
mov dword [ebp - 0x10], 0x6e8f5917
mov dword [ebp - 0x34], 0xa6e483bb
push eax
call fcn.10010401
push 2
lea ecx, [ebp - 0xb00]
mov dword [ebp - 4], 0x16
call fcn.10010401
push 7
mov byte [ebp - 4], 0x17
pop eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1003b402
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x494], 0x7cefa9d1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003b3e9
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1003b426
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x994]
call fcn.1001048b
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003b40b
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003b442
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xb00]
call fcn.1001048b
mov dword [eax], 0x5d5ec7e0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003b42b
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x494]
xor eax, eax
cmp dword [ebp - 0x48c], eax
je 0x1003b4b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x1003b497
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x13a4], 0x489b467b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003b486
push edi
lea ecx, [ebp - 0xb00]
call fcn.1001048b
dec dword [eax]
jmp 0x1003b560
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x994]
mov dword [ebp - 0x58], 0xb0f4f2d8
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x5bdf607d
mov dword [ebp - 0x3c], 0xde97ee8c
push eax
call fcn.1001048b
mov ecx, dword [ebp - 0x50]
xor edx, edx
test ecx, ecx
setg dl
xor ecx, ecx
cmp edx, 0xf44fb66c
setne cl
xor edx, edx
add ecx, 2
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x24]
setg dl
add eax, edx
jne 0x1003b51b
push eax
lea ecx, [ebp - 0x994]
call fcn.1001048b
cmp dword [eax], 0
je 0x1003b526
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1003b528
mov edx, edi
jmp 0x1003b52a
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x494]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x48]
setge cl
add eax, dword [ebp - 0x5c]
inc dword [ebp - 0x48]
cmp eax, ecx
jge 0x1003b548
mov eax, edi
jmp 0x1003b54a
xor eax, eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003b55a
dec dword [ebp - 0x3c]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff6
jle 0x1003b554
lea ecx, [ebp - 0xb00]
call fcn.10010486
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x994]
call fcn.10010486
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0x814]
push 2
mov dword [ebp - 0x50], 0xffffffff
pop eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x34], 0x56574b60
mov dword [ebp - 0x10], 0x6e8f5917
mov dword [ebp - 0x34], 0xa6e483bb
push eax
call fcn.10010401
push 2
lea ecx, [ebp - 0xc38]
mov dword [ebp - 4], 0x18
call fcn.10010401
push 7
mov byte [ebp - 4], 0x19
pop eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1003b5f0