Function at 0x10031fef
Capabilities:
Check os version
Compare security identifiers
Extract resource via kernel32 functions
Read .ini file

Disassembly:
mov eax, 0x10069b61
call fcn.10068928
sub esp, 0x9c4
push ebx
push esi
push edi
mov esi, 0xc5a654fd
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x10], esi
lea ecx, [ebp - 0x6fc]
mov edi, 0xc3d4e703
mov byte [ebp - 0x75], dl
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x4c], 0xd714f98c
push 2
call fcn.1002a3c2
mov dword [ebp - 0x4c], 0x26874be7
xor ecx, ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 2
jge 0x10032063
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6fc]
mov dword [eax + ecx*4], 0xd2d1a4e6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10032048
xor ecx, ecx
mov eax, dword [ebp - 0x10]
xor edx, edx
imul eax, dword [ebp - 0x10]
inc edx
test eax, eax
jne 0x10032078
cmp dword [ebp - 0x10], ecx
jne 0x10032078
mov edx, ecx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp eax, edx
setle bl
sub ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
setge cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x6fc]
dec dword [ebp - 0x34]
call fcn.1002af09
mov dword [ebp - 0x10], esi
lea ecx, [ebp - 0x7dc]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x4c], 0xd714f98c
push 2
call fcn.1002a3c2
mov dword [ebp - 0x4c], 0x26874be7
xor ecx, ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 2
jge 0x1003210f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7dc]
mov dword [eax + ecx*4], 0xd2d1a4e6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100320f4
xor ecx, ecx
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x10]
test eax, eax
jne 0x10032123
cmp dword [ebp - 0x10], ecx
jne 0x10032123
mov edx, ecx
jmp 0x10032126
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp eax, edx
setle bl
sub ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
setge cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x7dc]
dec dword [ebp - 0x34]
call fcn.1002af09
mov dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x6a4]
push 3
call fcn.1002a3c2
xor ebx, ebx
mov dword [ebp - 0x20], 0x67ee39f3
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x100321a5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4e8], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10032194
mov dword [ebp - 0x18], ebx
jmp 0x100321be
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6a4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100321af
mov dword [ebp - 0x14], ebx
jmp 0x1003224c
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 2
jg 0x10032228
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x4e8], 6
jl 0x10032216
cmp dword [ebp - 0x18], ebx
je 0x10032212
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x4e8], ebx
je 0x10032212
mov eax, dword [ebp - 0x18]
mov ecx, 0x45c81010
mov eax, dword [ebp + eax*4 - 0x4e8]
sub ecx, eax
jne 0x10032216
mov eax, ebx
jmp 0x10032219
xor eax, eax
inc eax
mov dword [edx + 8], eax
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x100321e1
mov dword [ebp - 0x18], 0xfffffffd
jmp 0x10032243
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x10032240
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe4
jle 0x10032231
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x15
jl 0x100321cb
lea ecx, [ebp - 0x6a4]
call fcn.1002af09
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x10], 0xb110c93b
mov dword [ebp - 0x34], 0xc87a7525
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x10], ebx
jmp 0x10032313
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x1003229e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3ac], 0x59609c3f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003228d
cmp dword [ebp - 0x3a8], ebx
jne 0x100322bd
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3a8]
cmp eax, dword [ebp - 0x10]
je 0x100322bd
mov edx, ebx
jmp 0x100322c0
xor edx, edx
inc edx
mov eax, dword [ebp - 0x3a0]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], ebx
jne 0x100322e1
cmp dword [ebp - 0x3a0], ebx
jne 0x100322e1
mov edx, ebx
jmp 0x100322e4
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3a0], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 8
push 4
pop ecx
jne 0x10032281
mov dword [ebp - 0x20], edi
lea ecx, [ebp - 0x734]
mov dword [ebp - 0x4c], 0x20f746e3
mov dword [ebp - 0x34], 0xc0e0752
push 1
call fcn.1002a3c2
push 3
mov dword [ebp - 0x18], ebx
pop edi
jmp 0x10032357
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a8], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10032346
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x10032377
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x734]
mov dword [eax + ecx*4], 0xbc21b07f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10032364
mov dword [ebp - 0x1a0], ebx
jmp 0x100323c4
mov dword [ebp - 0x20], 0x74c7af5a
mov dword [ebp - 0x5c], 0x9b3a00d0
cmp dword [ebp - 0x20], ebx
je 0x100323ac
mov eax, dword [ebp - 0x1a0]
mov ecx, edx
inc eax
neg eax
sbb eax, eax
inc eax
sub eax, 0x613fc11f
je 0x100323ae
mov ecx, ebx
mov eax, dword [ebp - 0x1a0]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x5c], eax
inc dword [ebp - 0x1a0]
cmp dword [ebp - 0x1a0], 0xe
jne 0x10032384
inc dword [ebp - 0x34]
lea ecx, [ebp - 0x734]
call fcn.1002af09
mov dword [ebp - 0x4c], 0xd714f98c
xor ecx, ecx
mov dword [ebp - 0x10], 0x76820624
inc ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x24], 0x40424b96
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10032413
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0x76df7e44
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032402
mov dword [ebp - 0x10], 0xfffffff5
jmp 0x10032433
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x10032430
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffb
jge 0x10032421
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x88]
neg edx
sbb edx, edx
sub eax, 0x54a3d6b9
inc edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x88]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x88]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x88], ecx
test ecx, ecx
je 0x10032491
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x88]
imul ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
push 2
pop esi
push esi
add ecx, 0xd05ee7bc
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x7b8]
setle dl
xor eax, eax
cmp edx, 0xb2f67ab
setge al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
neg eax
mov dword [ebp - 0x20], eax
call fcn.1002a3c2
push 4
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x500]
pop eax
mov dword [ebp - 0x4c], 0x26874be7
mov dword [ebp - 0x44], 0xffffffff
push eax
call fcn.1002a3c2
push 4
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10032530
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x500]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003251d
mov eax, dword [ebp - 0x500]
mov dword [eax + 8], 0xffffffe9
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003255d
push ebx
push 0x216f
push ebx
push 0x80
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ebp - 0x500]
call fcn.1002af09
push esi
lea ecx, [ebp - 0x108]
call fcn.1002a3c2
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x10032597
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2ec], 0x648261f9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10032586
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jge 0x100325bf
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], 0xd29be1d9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100325a4
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x108]
mov dword [eax], esi
jmp 0x100325cc
xor ecx, ecx
inc ecx
mov dword [ebp - 0x40], 0x887cf2e5
mov dword [ebp - 0x14], 0x5faafe30
mov dword [ebp - 0x40], esi
cmp dword [ebp - 0x40], ebx
jl 0x100325f1
mov dword [ebp - 0x34], 0x3d37a5b7
inc dword [ebp - 0x34]
dec dword [ebp - 0x40]
jns 0x100325e2
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], esi
jg 0x100326c6
jmp 0x10032602
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x20], 6
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x2ec], ebx
je 0x100326b0
cmp dword [ebp - 0x40], ebx
je 0x100326b0
mov eax, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x108]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2ec]
mov eax, dword [ebp - 0x108]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2ec]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
sub ecx, 0xd64bda99
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x108]
setl dl
xor ecx, ecx
sub edx, 0x6fcb1efb
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2ec]
cmp edx, eax
setle cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x108]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ecx + 4]
sub ecx, eax
je 0x100326b0
xor ecx, ecx
inc ecx
jmp 0x100326b2
mov ecx, ebx
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x100325ff
mov eax, dword [ebp - 0x108]
dec dword [eax]
jns 0x100325c9
mov dword [ebp - 0x10], 0x18
jmp 0x10032709
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x4c], 0x7cd3e5c7
mov dword [ebp - 0x4c], 9
mov eax, dword [eax]
mov dword [ebp - 0x4c], 0x15e40c88
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x34]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff4
jg 0x100326dd
lea ecx, [ebp - 0x108]
call fcn.1002af09
mov dword [ebp - 0x14], ebx
jmp 0x10032732
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7b8]
mov dword [eax + ecx*4], 0xd2d1a4e6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003271f
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1003274b
cmp dword [ebp - 0x1c], ebx
jne 0x1003274b
mov edx, ebx
jmp 0x1003274e
xor edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
push 1
setg cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp eax, edx
setle bl
sub ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
setge cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x5fc]
call fcn.1002a3c2
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x100327b3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5fc]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100327a0
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x100327d1
push 0x1c1a
push 0x1633
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, dword [ebp - 0x5fc]
lea ecx, [ebp - 0x5fc]
mov dword [eax], 0xfffffff8
call fcn.1002af09
dec dword [ebp - 0x44]
lea ecx, [ebp - 0x7b8]
or dword [ebp - 4], 0xffffffff
call fcn.1002af09
mov edi, 0x13dd33a4
xor ecx, ecx
mov dword [ebp - 0x2c], edi
inc ecx
mov dword [ebp - 0x68], 0x92f644a
mov dword [ebp - 0x24], 0x51d52aa0
mov dword [ebp - 0x14], ebx
jmp 0x10032829
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x90], 0x6076fda0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032818
mov ebx, dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x2c], 0x17
cmp dword [ebp - 0x2c], 0x15
jl 0x10032acd
push esi
lea ecx, [ebp - 0x358]
call fcn.1002a3c2
mov dword [ebp - 4], 1
mov dword [ebp - 0x20], 0x1f39
cmp dword [ebp - 0x20], 0x554
jge 0x10032930
lea eax, [ebp - 0x294]
mov ecx, 0x1065a5f0
push eax
call fcn.10029e81
mov esi, dword [ebp - 0x294]
test esi, esi
jle 0x1003292d
lea eax, [ebp - 0x17c]
push eax
push ecx
lea eax, [ebp - 0x320]
mov ecx, 0x1065a5f0
push eax
call fcn.10029e81
pop ecx
mov ecx, eax
call fcn.10029e81
mov ecx, dword [ebp - 0x320]
mov eax, ecx
cmp ecx, dword [ebp - 0x17c]
jne 0x100328e3
and eax, 0x80000001
jns 0x100328c8
dec eax
or eax, 0xfffffffe
inc eax
jne 0x100328da
lea eax, [ecx + ecx]
push eax
mov ecx, 0x1065a538
call fcn.1002a191
jmp 0x1003291f
lea eax, [ecx*2 - 1]
jmp 0x100328cd
sub eax, dword [ebp - 0x17c]
cmp eax, 2
jne 0x10032910
mov eax, ecx
and eax, 0x80000001
jns 0x100328fc
dec eax
or eax, 0xfffffffe
inc eax
jne 0x10032907
lea eax, [ecx*2 - 2]
jmp 0x100328cd
lea eax, [ecx*2 - 3]
jmp 0x100328cd
mov edx, 0x10007bc4
mov ecx, 0x1065a538
call fcn.1002e74e
push eax
call fcn.1002e4e1
pop ecx
dec esi
jne 0x1003288b
push 2
pop esi
mov dword [ebp - 0x3c], 0x55459eed
xor edx, edx
mov dword [ebp - 0x6c], 0x4f3f7e81
mov dword [ebp - 0x20], 0x51efdb
mov dword [ebp - 0x48], 0xfb57
mov dword [ebp - 0x14], edx
jmp 0x10032966
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x358]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032953
mov eax, dword [ebp - 0x358]
mov dword [eax], edx
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x14], 0x56e700d6
mov dword [ebp - 0x5c], 0x2d7bc352
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x48]
test eax, eax
je 0x100329f3
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x90]
je 0x100329c9
cmp dword [ebp - 0x44], edx
je 0x100329c9
xor eax, eax
inc eax
jmp 0x100329cb
mov eax, edx
push 7
pop edx
sub edx, eax
mov dword [ebp - 0x90], eax
imul edx, dword [ebp - 0x3c]
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0xfff9
ja 0x100329f3
inc edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x44]
cmp eax, edx
setge cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], edx
jl 0x10032a9d
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x34], edx
cmp dword [eax], edx
je 0x10032a25
cmp dword [ebp - 0x3c], edx
jne 0x10032a2e
cmp dword [ebp - 0x68], edx
jne 0x10032a2e
mov eax, edx
jmp 0x10032a31
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, 0xfffffff7
mov eax, dword [ebp - 0x2c]
setne dl
sub edx, 0xfff7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x14]
imul edx, dword [ebp + eax*4 - 0x90]
mov eax, esi
sub eax, edx
cmp eax, 0xb36f
setl cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x2d], dl
cmp byte [ebp - 0x2d], dl
je 0x10032a94
push edx
push edx
call ebx
xor edx, edx
dec dword [ebp - 0x14]
jns 0x10032a13
mov eax, dword [ebp - 0x358]
dec dword [eax]
cmp dword [eax], 0xfffffff6
jg 0x10032973
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x358]
call fcn.1002af09
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x15
jge 0x10032845
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x68], 0x92f644a
mov dword [ebp - 0x24], 0x51d52aa0
mov dword [ebp - 0x14], 0
jmp 0x10032af8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0x6076fda0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032ae7
push 2
mov dword [ebp - 0x2c], 0x17
pop edi
cmp dword [ebp - 0x2c], 0x15
jl 0x10032cae
push edi
lea ecx, [ebp - 0x304]
call fcn.1002a3c2
mov dword [ebp - 0x3c], 0x55459eed
xor edx, edx
mov dword [ebp - 0x6c], 0x4f3f7e81
mov dword [ebp - 0x20], 0x51efdb
mov dword [ebp - 0x48], 0xfb57
mov dword [ebp - 0x14], edx
jmp 0x10032b53
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x304]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10032b40
mov eax, dword [ebp - 0x304]
mov dword [eax], edx
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x14], 0x56e700d6
mov dword [ebp - 0x5c], 0x2d7bc352
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x48]
test eax, eax
je 0x10032be0
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x8c]
je 0x10032bb6
cmp dword [ebp - 0x44], edx
je 0x10032bb6
xor eax, eax
inc eax
jmp 0x10032bb8
mov eax, edx
push 7
pop edx
sub edx, eax
mov dword [ebp - 0x8c], eax
imul edx, dword [ebp - 0x3c]
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0xfff9
ja 0x10032be0
inc edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x44]
cmp eax, edx
setge cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], edx
jl 0x10032c8a
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x34], edx
cmp dword [eax], edx
je 0x10032c12
cmp dword [ebp - 0x3c], edx
jne 0x10032c1b
cmp dword [ebp - 0x68], edx
jne 0x10032c1b
mov eax, edx
jmp 0x10032c1e
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, 0xfffffff7
mov eax, dword [ebp - 0x2c]
setne dl
sub edx, 0xfff7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
imul edx, dword [ebp + eax*4 - 0x8c]
mov eax, edi
sub eax, edx
cmp eax, 0xb36f
setl cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x2d], dl
cmp byte [ebp - 0x2d], dl
je 0x10032c81
push edx
push edx
call ebx
xor edx, edx
dec dword [ebp - 0x14]
jns 0x10032c00
mov eax, dword [ebp - 0x304]
dec dword [eax]
cmp dword [eax], 0xfffffff6
jg 0x10032b60
lea ecx, [ebp - 0x304]
call fcn.1002af09
dec dword [ebp - 0x2c]
jmp 0x10032b07
mov dword [ebp - 0x20], 0x163a
cmp dword [ebp - 0x20], 0x434
jge 0x10032e09
call fcn.10050dcd
push eax
push 0x10007bd0
push 0x10007bd4
call fcn.1005160b
add esp, 0xc
call fcn.10050dcd
add eax, 0x20
push eax
push 0x10007bdc
push 0x10007be0
call fcn.1005160b
add esp, 0xc
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xec]
push eax
push 0x10007774
call fcn.1005056b
mov ecx, dword [ebp - 0xec]
add esp, 0xc
mov esi, dword [ebp - 0xc0]
test ecx, ecx
jne 0x10032d28
test esi, esi
je 0x10032e06
lea edi, [ebp - 0x964]
xor ebx, ebx
lea eax, [ebp - 0x964]
mov edx, edi
add eax, ecx
mov dword [ebp - 0x20], edx
mov esi, edi
mov edx, eax
sub edx, esi
xor esi, esi
cmp edi, eax
cmova edx, esi
mov esi, dword [ebp - 0xc0]
test edx, edx
je 0x10032d69
mov byte [edi], 1
inc edi
inc ebx
cmp ebx, edx
jne 0x10032d54
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xec]
xor eax, eax
mov ebx, eax
test esi, esi
jle 0x10032db6
mov edi, eax
test ecx, ecx
jle 0x10032db1
lea eax, [ebp - 0x6d]
push eax
call fcn.1003f357
cmp byte [ebp + edi - 0x964], 0
je 0x10032d95
cmp byte [ebp - 0x6d], 0
je 0x10032d95
xor eax, eax
inc eax
jmp 0x10032d97
xor eax, eax
mov ecx, dword [ebp - 0xec]
mov byte [ebp + edi - 0x964], al
inc edi
cmp edi, ecx
jl 0x10032d77
mov esi, dword [ebp - 0xc0]
xor eax, eax
inc ebx
cmp ebx, esi
jl 0x10032d71
mov byte [ebp - 0x6d], al
test ecx, ecx
jle 0x10032dcc
cmp byte [ebp + eax - 0x964], 0
jne 0x10032de7
inc eax
cmp eax, ecx
jl 0x10032dbd
mov edx, 0x10007bec
mov ecx, 0x1065a538
call fcn.1002e74e
push eax
call fcn.1002e4e1
pop ecx
jmp 0x10032cf5
mov edx, 0x10007be8
mov ecx, 0x1065a538
call fcn.1002e74e
push eax
call fcn.1002e4e1
pop ecx
mov byte [ebp - 0x6d], 1
jmp 0x10032cf5
push 2
pop edi
mov esi, 0xc7dcd66a
lea ecx, [ebp - 0x518]
xor ebx, ebx
mov dword [ebp - 0x10], esi
inc ebx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x2c], ebx
push 3
call fcn.1002a3c2
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x10032e41
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x518]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10032e32
cmp dword [ebp - 0x18], edx
je 0x10032e4e
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
sete cl
sub eax, ecx
je 0x10032e62
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, 0xffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
mov ebx, dword [sym.imp.GDI32.dll_EndDoc]
add eax, dword [ebp - 0x10]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xfffffffe
cmp dword [ebp - 0x2c], 0x14
jg 0x10032f40
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x18], eax
jne 0x10032f40
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jg 0x10032f33
mov dword [ebp - 0x20], 0x1b3b
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setge cl
xor eax, eax
test ecx, ecx
setle al
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x518]
cmp dword [eax + ecx*4], 0x18f8f6a0
setge dl
xor eax, eax
cmp edx, 0xd447
setge al
sub eax, edi
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x10032f28
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10032f23
push 0x1e68
call ebx
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10032f11
inc dword [ebp - 0x10]
push 1
pop edx
cmp dword [ebp - 0x10], edi
jle 0x10032eb9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x14
jle 0x10032e9e
lea ecx, [ebp - 0x518]
call fcn.1002af09
push 3
mov dword [ebp - 0x10], esi
lea ecx, [ebp - 0x674]
pop esi
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x2c], 1
push esi
call fcn.1002a3c2
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x10032f81
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x674]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032f72
cmp dword [ebp - 0x18], edx
je 0x10032f8e
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
sete cl
sub eax, ecx
je 0x10032fa2
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, 0xffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x10]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xfffffffe
cmp dword [ebp - 0x2c], 0x14
jg 0x1003307a
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x18], eax
jne 0x1003307a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jg 0x1003306d
mov dword [ebp - 0x20], 0x1b3b
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setge cl
xor eax, eax
test ecx, ecx
setle al
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x674]
cmp dword [eax + ecx*4], 0x18f8f6a0
setge dl
xor eax, eax
cmp edx, 0xd447
setge al
sub eax, edi
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x10033062
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1003305d
push 0x1e68
call ebx
xor eax, eax
dec dword [ebp - 0x14]
jns 0x1003304b
inc dword [ebp - 0x10]
push 1
pop edx
cmp dword [ebp - 0x10], edi
jle 0x10032ff3
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x14
jle 0x10032fd8
lea ecx, [ebp - 0x674]
call fcn.1002af09
mov dword [ebp - 0x20], 0xa062b000
lea ecx, [ebp - 0x530]
push esi
call fcn.1002a3c2
push 4
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x3c8]
pop eax
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x48], 0x939f
push eax
call fcn.1002a3c2
mov dword [ebp - 0x5c], 0xcea2ff3e
xor ebx, ebx
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x1c], ebx
jmp 0x100330e0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x530]
mov dword [eax + ecx*4], 0x5405732a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100330cd
mov dword [ebp - 0x1c], ebx
jmp 0x100330fb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x23c], 0x33563700
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100330ea
push 4
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x10033117
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10033108
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x530]
mov dword [eax + 4], ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x234]
mov eax, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x234]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x238]
mov eax, dword [ebp - 0x234]
cmp dword [ecx + 8], ebx
je 0x10033165
cmp dword [ebp - 0x5c], ebx
je 0x10033165
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003318c
push ebx
push 0x942
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x3c8]
call fcn.1002af09
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x530]
call fcn.1002af09
push edi
lea ecx, [ebp - 0x114]
call fcn.1002a3c2
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x100331d5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x31c], 0x648261f9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100331c4
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jge 0x100331fd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0xd29be1d9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100331e2
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x114]
mov dword [eax], edi
jmp 0x1003320a
xor ecx, ecx
inc ecx
mov dword [ebp - 0x40], 0x887cf2e5
mov dword [ebp - 0x14], 0x5faafe30
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x40], ebx
jl 0x1003322f
mov dword [ebp - 0x34], 0x3d37a5b7
inc dword [ebp - 0x34]
dec dword [ebp - 0x40]
jns 0x10033220
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edi
jg 0x10033304
jmp 0x10033240
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x20], 6
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x31c], ebx
je 0x100332ee
cmp dword [ebp - 0x40], ebx
je 0x100332ee
mov eax, dword [ebp - 0x318]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x31c]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x31c]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
sub ecx, 0xd64bda99
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x114]
setl dl
xor ecx, ecx
sub edx, 0x6fcb1efb
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x31c]
cmp edx, eax
setle cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x114]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ecx + 4]
sub ecx, eax
je 0x100332ee
xor ecx, ecx
inc ecx
jmp 0x100332f0
mov ecx, ebx
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1003323d
mov eax, dword [ebp - 0x114]
dec dword [eax]
jns 0x10033207
mov dword [ebp - 0x10], 0x18
jmp 0x10033347
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x4c], 0x7cd3e5c7
mov dword [ebp - 0x4c], 9
mov eax, dword [eax]
mov dword [ebp - 0x4c], 0x15e40c88
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x34]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff4
jg 0x1003331b
lea ecx, [ebp - 0x114]
call fcn.1002af09
mov dword [ebp - 0x1c], 0xa4c9
lea ecx, [ebp - 0x37c]
push edi
call fcn.1002a3c2
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x18], ebx
jmp 0x1003338e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xcc], 0x8f8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003337d
mov dword [ebp - 0x18], ebx
jmp 0x100333ab
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x37c]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10033398
cmp dword [ebp - 0xc8], ebx
je 0x100333e4
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x37c]
mov eax, dword [eax]
neg eax
je 0x100333e4
xor edx, edx
inc edx
jmp 0x100333e6
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xcc]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc8]
setg dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
add eax, edx
jne 0x10033738
cmp dword [ebp - 0x10], ebx
jne 0x10033738
mov dword [ebp - 0x6c], 0x2a93f045
lea ecx, [ebp - 0x614]
push esi
call fcn.1002a3c2
mov byte [ebp - 4], 5
mov dword [ebp - 0x14], ebx
jmp 0x10033471
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x614]
mov dword [eax + ecx*4], 0xcb296ad9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003345e
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 1
jg 0x10033728
mov esi, dword [ebp - 0x614]
mov dword [ebp - 0x5c], esi
push 3
lea ecx, [ebp - 0x4c4]
call fcn.1002a3c2
mov byte [ebp - 4], 6
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x20], 0x1d1e
cmp dword [ebp - 0x20], 0x4fd
jge 0x1003369a
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], ebx
push eax
push 0x1000774c
call fcn.1005056b
mov eax, dword [ebp - 0x98]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1004bb50
mov ecx, dword [ebp - 0x98]
add esp, 0xc
mov ebx, eax
xor edi, edi
mov dword [ebp - 0x44], ebx
test ecx, ecx
jle 0x1003351f
push 4
mov esi, ebx
pop ebx
push esi
push 0x10007748
call fcn.1005056b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x98]
inc edi
add esi, ebx
cmp edi, ecx
jl 0x10033502
mov ebx, dword [ebp - 0x44]
lea edx, [ebx + ecx*4]
mov byte [ebp - 0x34c], 0
push dword [ebp - 0x34c]
mov eax, edx
mov ecx, ebx
sub eax, ebx
sar eax, 2
push eax
call fcn.1002f5e1
pop ecx
xor eax, eax
pop ecx
mov ecx, eax
mov dword [ebp - 0x140], eax
mov edi, eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], edi
mov edx, eax
mov dword [ebp - 0x124], eax
mov esi, eax
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], esi
mov byte [ebp - 4], 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x98], eax
jle 0x100335e5
mov eax, edi
sub eax, ecx
test eax, 0xfffffffc
je 0x100335b3
mov ecx, dword [ebx]
cmp dword [edi - 4], ecx
jl 0x100335b3
mov eax, esi
sub eax, edx
test eax, 0xfffffffc
je 0x1003359f
push ebx
lea ecx, [ebp - 0x148]
call fcn.1002a538
mov edi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x34]
push 4
pop ecx
inc eax
add ebx, ecx
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x98]
jl 0x1003357d
mov eax, esi
sub eax, edx
sar eax, 2
test eax, eax
je 0x10033601
lea ecx, [esi - 4]
mov eax, dword [ecx]
cmp eax, dword [edi - 4]
cmove esi, ecx
mov dword [ebp - 0x128], esi
sub edi, dword [ebp - 0x148]
sub esi, edx
sar esi, 2
sar edi, 2
mov dword [ebp - 0x20], esi
lea eax, [esi + edi]
push eax
push 0x10007750
call fcn.10050853
pop ecx
xor ebx, ebx
pop ecx
test edi, edi
je 0x10033645
mov esi, dword [ebp - 0x148]
push dword [esi + ebx*4]
push 0x100077e4
call fcn.10050853
inc ebx
pop ecx
pop ecx
cmp ebx, edi
jb 0x1003362e
test esi, esi
je 0x1003366b
mov dword [ebp - 0x14], ebx
jmp 0x100336b2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c4]
mov dword [eax + ecx*4], 0x5f7a0d7c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003369f
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, 0x8140
mov ecx, dword [ebp - 0x4c4]
inc dword [ecx + 8]
mov dword [ebp + eax*4 - 0xcc], edi
mov edx, dword [ebp - 0x1c]
cmp dword [ecx + 8], ebx
mov eax, dword [ebp - 0x6c]
sete bl
xor ecx, ecx
cmp eax, edi
mov eax, dword [ebp - 0x37c]
setl cl
imul ecx, dword [eax + edx*4]
imul ecx, ebx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x4c4]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x1c]
neg eax
mov byte [ebp - 4], 5
sbb eax, eax
inc eax
mov dword [esi + 8], eax
call fcn.1002af09
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
push 0
pop ebx
jle 0x1003348c
push 2
pop edi
lea ecx, [ebp - 0x614]
call fcn.1002af09
jmp 0x100338b4
mov dword [ebp - 0x1c], ebx
jmp 0x100338aa
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
je 0x1003388a
mov dword [ebp - 0x20], 0x180a
cmp dword [ebp - 0x20], 0x4c4
jge 0x10033872
mov byte [0x10e99770], al
mov byte [0x10e99771], bl
call fcn.10031f11
push ebx
push ebx
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x188], ebx
call fcn.1002ac85
push 4
pop eax
lea edx, [ebp - 0x19c]
mov byte [ebp - 4], al
mov ecx, 0x1065a5f0
call fcn.1004067e
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x10033861
mov esi, ebx
mov edi, ebx
cmp dword [ebp - 0x18c], esi
jbe 0x1003381a
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x19c]
cmp ecx, 0x10
lea eax, [ebp - 0x19c]
cmovae eax, edx
movsx eax, byte [esi + eax]
push eax
call fcn.100514e0
mov edx, dword [ebp - 0x19c]
test eax, eax
pop ecx
mov ecx, dword [ebp - 0x188]
lea eax, [ebp - 0x19c]
je 0x10033802
cmp ecx, 0x10
cmovae eax, edx
add edi, 0xffffffda
jmp 0x1003380b
cmp ecx, 0x10
cmovae eax, edx
add edi, 0xffffffa0
movsx eax, byte [esi + eax]
add edi, eax
inc esi
cmp esi, dword [ebp - 0x18c]
jb 0x100337ca
cmp byte [edi + 0x10e99770], 0
mov ecx, 0x1065a538
mov edx, 0x10007bf0
je 0x10033832
mov edx, 0x10007c04
call fcn.1002e74e
push eax
call fcn.1002e4e1
pop ecx
lea edx, [ebp - 0x19c]
mov ecx, 0x1065a5f0
call fcn.1004067e
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x100337b2
push 2
pop edi
push ebx
push 1
lea ecx, [ebp - 0x19c]
call fcn.1002ac85
xor eax, eax
inc eax
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x100338a7
push 0x14e4
push eax
push ebx
call dword [sym.imp.GDI32.dll_PtInRegion]
jmp 0x100338a7
mov dword [ebp - 0x10], ebx
jmp 0x100338a2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x37c]
mov dword [eax + ecx*4], 0xc214f163
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003388f
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffff
jg 0x10033740
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x100338d3
push ebx
push 0x762
push 0x1df5
push 0x50d
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x37c]
call fcn.1002af09
mov eax, 0xffff
mov dword [ebp - 0x40], 0x13dd33a4
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x48], 1
push edi
call fcn.1002a3c2
mov dword [ebp - 0x68], 0x49c4b05e
push 3
pop esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x34], 0xb319bd12
mov dword [ebp - 0x3c], 0x68d270c1
mov dword [ebp - 0x20], 0x5dc8ff05
mov dword [ebp - 0x14], ebx
jmp 0x1003393e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x434]
mov dword [eax + ecx*4], 0xc5051dd2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003392b
mov eax, dword [ebp - 0x434]
mov dword [eax], 1
cmp dword [ebp - 0x24], ebx
je 0x10033957