Function at 0x10040727
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005b166
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x2f4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x88], 0
jmp 0x1004076c
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 3
jge 0x10040788
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x2ac], 0xc36b586f
jmp 0x1004075f
cmp dword [ebp - 0x1c], 0xf1fc
jl 0x1004079d
mov dword [ebp - 0x98], 1
jmp 0x100407a4
and dword [ebp - 0x98], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x98]
mov dword [ebp + eax - 0x2ac], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x98], eax
je 0x100407ce
mov dword [ebp - 0x12c], 1
jmp 0x100407d5
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x12c]
test eax, eax
je 0x100407f5
cmp dword [ebp - 0x1c], 0
je 0x100407f5
mov dword [ebp - 0x154], 1
jmp 0x100407fc
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x154]
dec eax
cmp eax, 0xfffd
je 0x10040820
mov dword [ebp - 0x298], 0xbb5a2755
lea eax, [ebp - 0x1c]
push eax
call fcn.1003fe10
pop ecx
jmp 0x10040863
mov dword [ebp - 0x1c], 0
jmp 0x10040830
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10040846
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2ac], 6
jmp 0x10040829
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x10040863
push 0
push 0
push 0
push 0x1847
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
and dword [ebp - 0x20], 0
mov dword [ebp - 0x1b0], 0xffffffff
mov byte [ebp - 0x33], 0
lea eax, [ebp - 0x33]
push eax
call fcn.1003ff4e
pop ecx
lea eax, [ebp - 0x1b0]
push eax
call fcn.1003ff83
pop ecx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.1003ffc9
pop ecx
pop ecx
mov dword [ebp - 0x1e4], 0xa137b189
mov dword [ebp - 0x1c0], 0xfffffffd
mov dword [ebp - 0x204], 5
mov dword [ebp - 0x20c], 0x900fdb69
mov dword [ebp - 0x18c], 0xaa8e55a4
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.1003ffe8
add esp, 0x14
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x31]
push eax
call fcn.100400d3
pop ecx
mov eax, dword [ebp - 0xa8]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x10040a20
mov dword [ebp - 0x180], 0xb4e1265a
mov dword [ebp - 0x108], 0xfe4d9edb
mov dword [ebp - 0x208], 0x5e0710dd
mov dword [ebp - 0x50], 0x130d
mov dword [ebp - 0xc0], 0xffffffff
mov dword [ebp - 0x188], 3
push 1
push 0x225a
push 0x637a
lea eax, [ebp - 0x180]
push eax
push 0xa2e
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x188]
push eax
push 1
call fcn.1003c9a3
add esp, 0x2c
mov dword [ebp - 0x50], 0
jmp 0x100409a8
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 3
jge 0x10040a19
push 2
lea ecx, [ebp - 0x238]
call fcn.1001013f
and dword [ebp - 4], 0
mov dword [ebp - 0x74], 0
jmp 0x100409cf
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 2
jge 0x100409eb
push dword [ebp - 0x74]
lea ecx, [ebp - 0x238]
call fcn.100101dd
mov dword [eax], 6
jmp 0x100409c8
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.10040117
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.100101c1
jmp 0x100409a1
xor eax, eax
jmp 0x10041b90
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x14], 0x1aae4b9
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0xf8], 0
cmp dword [ebp - 0x58], 0
jne 0x10040a5a
mov dword [ebp - 0x14], 9
cmp dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
je 0x10040a6e
mov dword [ebp - 0xc8], 1
jmp 0x10040a75
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc8], eax
jle 0x10040a8c
mov dword [ebp - 0x10c], 1
jmp 0x10040a93
and dword [ebp - 0x10c], 0
cmp dword [ebp - 0x10c], 1
jle 0x10040aa8
mov dword [ebp - 0xd0], 1
jmp 0x10040aaf
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0xd0], eax
jle 0x10040ac6
mov dword [ebp - 0x1c8], 1
jmp 0x10040acd
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x14]
test eax, eax
jne 0x10040aee
xor eax, eax
jne 0x10040aee
and dword [ebp - 0x138], 0
jmp 0x10040af8
mov dword [ebp - 0x138], 1
or eax, 0xffffffff
sub eax, dword [ebp - 0x138]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0
jmp 0x10040b14
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 5
jne 0x10040d7c
mov dword [ebp - 0x9c], 0xbbb66efe
mov dword [ebp - 0xa4], 0x5ec7e011
mov dword [ebp - 0x60], 0xeeb4
mov dword [ebp - 0x24], 0
jmp 0x10040b49
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffee
jl 0x10040bbb
mov dword [ebp - 0x190], 0xffffffff
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x36]
push eax
call fcn.100401df
pop ecx
push 0x3eb5
push 0x6a51
lea eax, [ebp - 0x9c]
push eax
push 0x149f
push 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0x5fcf
push 1
push 0x133a
push 0x61
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0xa4]
push eax
push 0x70cc
push 1
call fcn.1003d465
add esp, 0x40
jmp 0x10040b42
cmp dword [ebp - 0x14], 0
jne 0x10040bcf
or eax, 0xffffffff
jne 0x10040bcf
and dword [ebp - 0xd8], 0
jmp 0x10040bd9
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0xd8]
jl 0x10040bf3
mov dword [ebp - 0x120], 1
jmp 0x10040bfa
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x8c]
imul eax, dword [ebp - 0x120]
test eax, eax
jne 0x10040c1d
mov eax, 0x57de97ee
test eax, eax
jne 0x10040c1d
and dword [ebp - 0xe0], 0
jmp 0x10040c27
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0xe0], eax
je 0x10040c3e
mov dword [ebp - 0x148], 1
jmp 0x10040c45
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x148], eax
jl 0x10040c5c
mov dword [ebp - 0xe8], 1
jmp 0x10040c63
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0xe8], eax
jne 0x10040c7a
mov dword [ebp - 0x128], 1
jmp 0x10040c81
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x128], eax
je 0x10040c98
mov dword [ebp - 0xf0], 1
jmp 0x10040c9f
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xf0], eax
jg 0x10040cb6
mov dword [ebp - 0x1e8], 1
jmp 0x10040cbd
and dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x60]
jg 0x10040cf8
mov dword [ebp - 0x140], 1
jmp 0x10040cff
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x60], eax
jge 0x10040d1c
mov dword [ebp - 0x130], 1
jmp 0x10040d23
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0xf8]
imul eax, dword [ebp - 0x130]
cmp eax, 0xa44bf8e1
ja 0x10040d43
mov dword [ebp - 0x100], 1
jmp 0x10040d4a
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x100]
cmp eax, dword [ebp - 0x24]
jl 0x10040d64
mov dword [ebp - 0x150], 1
jmp 0x10040d6b
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x8c], eax
jmp 0x10040b0d
push 0x7ae4
push 1
push 1
push 1
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0x7fc8
call fcn.1003d891
add esp, 0x20
mov dword [ebp - 0x1a0], 0xf16efa42
mov dword [ebp - 0x1d0], 7
mov dword [ebp - 0x198], 0xffffffff
mov dword [ebp - 0x200], 0x609d70ca
call fcn.10040212
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10040238
add esp, 0x10
mov eax, dword [ebp - 0x5c]
cmp dword [eax], 0x4550
je 0x10041375
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x3c], 0xffffffff
push 2
lea ecx, [ebp - 0x160]
call fcn.1001013f
mov dword [ebp - 4], 1
mov dword [ebp - 0x48], 0
jmp 0x10040e35
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x10040e4b
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x2d8], 0xffffffff
jmp 0x10040e2e
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10040325
pop ecx
pop ecx
push 0x1457
push 1
push 0x5499
lea eax, [ebp - 0x28]
push eax
push 1
push 0x4a54
push 0x155e
push 0x5071
push 1
call fcn.1003da7d
add esp, 0x24
mov dword [ebp - 0x3c], 1
jmp 0x10040e98
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jl 0x10041174
mov dword [ebp - 0x4c], 0
push 2
lea ecx, [ebp - 0x16c]
call fcn.1001013f
mov byte [ebp - 4], 2
mov dword [ebp - 0x30], 0x1aabb774
push 3
lea ecx, [ebp - 0x250]
call fcn.1001013f
mov byte [ebp - 4], 3
push 1
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x16c]
push eax
push 0x5a5a
push 1
call fcn.1003dc6b
add esp, 0x14
push 1
push 0x3919
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x250]
push eax
push 1
push 0x7d34
push 0x4d73
call fcn.1003dd40
add esp, 0x1c
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x4c]
jge 0x10040f2e
mov dword [ebp - 0x1d8], 1
jmp 0x10040f35
and dword [ebp - 0x1d8], 0
mov esi, dword [ebp - 0x30]
push 1
lea ecx, [ebp - 0x16c]
call fcn.100101dd
mov eax, dword [eax]
neg eax
cmp eax, esi
jne 0x10040f59
mov dword [ebp - 0xb8], 1
jmp 0x10040f60
and dword [ebp - 0xb8], 0
push 1
lea ecx, [ebp - 0x16c]
call fcn.100101dd
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [eax]
jne 0x10040f83
mov dword [ebp - 0xbc], 1
jmp 0x10040f8a
and dword [ebp - 0xbc], 0
push 0
lea ecx, [ebp - 0x160]
call fcn.100101dd
mov esi, dword [ebp - 0xbc]
imul esi, dword [eax]
push 1
lea ecx, [ebp - 0x160]
call fcn.100101dd
imul esi, dword [eax]
test esi, esi
je 0x10040fc5
or eax, 0xffffffff
je 0x10040fc5
mov dword [ebp - 0xc4], 1
jmp 0x10040fcc
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0xc4], eax
jl 0x10040fe3
mov dword [ebp - 0x170], 1
jmp 0x10040fea
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x30], 0xfffffffa
jae 0x10041005
mov dword [ebp - 0xcc], 1
jmp 0x1004100c
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0xcc], eax
jle 0x10041023
mov dword [ebp - 0x1f4], 1
jmp 0x1004102a
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x274], eax
mov eax, 0xaca4
test eax, eax
je 0x10041055
cmp dword [ebp - 0x4c], 0
je 0x10041055
push 3
pop eax
test eax, eax
je 0x10041055
mov dword [ebp - 0xa0], 1
jmp 0x1004105c
and dword [ebp - 0xa0], 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x160]
call fcn.100101dd
mov ecx, dword [ebp - 0xa0]
mov dword [eax], ecx
cmp dword [ebp - 0xa0], 0
je 0x100410c3
mov dword [ebp - 0x1b8], 0x159332c3
push 1
push 1
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x13ca
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x1b8]
push eax
push 1
lea eax, [ebp - 0x3c]
push eax
push 0x6336
call fcn.1003df42
add esp, 0x2c
jmp 0x10041151
mov dword [ebp - 0x1e0], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x100410dd
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x100410f3
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x2d8], 0xffffffff
jmp 0x100410d6
mov dword [ebp - 0x30], 0
jmp 0x10041103
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jg 0x10041151
mov dword [ebp - 0x178], 0x3d913691
lea eax, [ebp - 0x3c]
push eax
push 1
push 0x65d8
lea eax, [ebp - 0x28]
push eax
push 1
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.1003e3f0
add esp, 0x28
jmp 0x100410fc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x250]
call fcn.100101c1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x16c]
call fcn.100101c1
jmp 0x10040e91
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.100101c1
push 4
lea ecx, [ebp - 0x22c]
call fcn.1001013f
mov dword [ebp - 4], 4
mov dword [ebp - 0x184], 0xfffffff8
mov dword [ebp - 0x17c], 0xb56cef3c
mov dword [ebp - 0x220], 0x96559653
mov dword [ebp - 0x21c], 0x96559653
mov dword [ebp - 0x218], 0x96559653
mov dword [ebp - 0x214], 0x96559653
lea ecx, [ebp - 0xa9]
call fcn.100101ec
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.100101ef
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2bc]
call fcn.1001019b
mov byte [ebp - 4], 5
push 0
push 1
push 0x1797
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.1003f91f
add esp, 0x14
push 0x361a
push 0x1820
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x184]
push eax
push 0x19da
push 1
push 0x6d5a
push 0x39f9
push 1
lea eax, [ebp - 0x22c]
push eax
push 0x7b31
lea eax, [ebp - 0x2bc]
push eax
push 0x707c
push 0x226b
call fcn.1003e795
add esp, 0x38
mov dword [ebp - 0xd4], 0x71ef
mov dword [ebp - 0x174], 0x1000b60c
cmp dword [ebp - 0xd4], 0x7470
jle 0x100412f6
and dword [ebp - 0x7c], 0
jmp 0x100412a8
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x1131
jge 0x100412f6
and dword [ebp - 0x68], 0
jmp 0x100412be
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x58d7
jge 0x100412f4
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x68]
shl eax, cl
cdq
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], edx
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
mov ecx, 0x10602dd8
call fcn.1000fdea
jmp 0x100412b7
jmp 0x100412a1
mov byte [ebp - 4], 6
cmp dword [ebp - 0xd4], 0x7095
jge 0x10041316
mov edx, dword [ebp - 0x174]
mov ecx, 0x10602dd8
call fcn.10012a98
jmp 0x10041332
mov dword [ebp - 4], 5
jmp 0x10041342
mov byte [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push eax
call fcn.1004036d
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2bc]
call fcn.100101c1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call fcn.100101c1
xor eax, eax
jmp 0x10041b90
mov dword [ebp - 0x44], 0xfffffff6
mov dword [ebp - 0x284], 0x1b66bafc
mov dword [ebp - 0x84], 0
jmp 0x1004139f
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jge 0x100413bb
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x2e4], 0x4438
jmp 0x10041392
push 0x138b
push 1
push 1
lea eax, [ebp - 0x44]
push eax
call fcn.1003eb8e
add esp, 0x10
mov dword [ebp - 0x44], 0
jmp 0x100413e0
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jg 0x100413f7
mov eax, dword [ebp - 0x44]
cmp dword [ebp + eax*4 - 0x2e4], 0
je 0x100413f5
jmp 0x100413f7
jmp 0x100413d9
push 1
push 1
push 0x611c
push 0x7b04
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x78]
push eax
push 0x53fa
push 0x35b5
call fcn.1003ee36
add esp, 0x20
push 1
push 1
push 0x57b8
push 0x1981
push 0x643b
push 1
push 0x2304
call fcn.1003efc1
add esp, 0x1c
cmp dword [ebp - 0x78], 0
jne 0x100414a0
mov dword [ebp - 0x19c], 0xac204e2
mov dword [ebp - 0x194], 0
mov byte [ebp - 0x3d], 0
movzx eax, byte [ebp - 0x3d]
test eax, eax
je 0x10041484
push 0x2350
push 1
push 1
push 0x42e4
push 1
push 0x2cb6
call fcn.1003f67f
add esp, 0x18
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.100403b1
pop ecx
pop ecx
xor eax, eax
jmp 0x10041b90
push 0x2819
push 1
push 1
push 0x3f78
push 0x16ca
push 0x3b59
lea eax, [ebp - 0x78]
push eax
push 0x72ba
push dword [ebp - 0xa8]
push 0x616f
push dword [ebp - 0x5c]
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x7c5b
call fcn.1003c253
add esp, 0x38
push 4
lea ecx, [ebp - 0x244]
call fcn.1001013f
mov dword [ebp - 4], 8
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x294], 0x90a624cd
push 0x9e7
lea eax, [ebp - 0x2c8]
push eax
push 0x6527
lea eax, [ebp - 0x244]
push eax
push 0x7b62
push 1
push 0x1f7b
push 0x32c6
push 1
push 1
push 0x464c
call fcn.1003f78a
add esp, 0x2c
mov dword [ebp - 0xdc], 0x3bfc
mov dword [ebp - 0x1ac], 0x1000b668
cmp dword [ebp - 0xdc], 0x3c5f
jle 0x10041619
and dword [ebp - 0x94], 0
jmp 0x10041580
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x31d8
jge 0x1004160a
and dword [ebp - 0x90], 0
jmp 0x100415a2
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x5456
jge 0x10041605
mov eax, dword [ebp - 0x94]
xor eax, dword [ebp - 0x90]
cdq
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], edx
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x304]
call fcn.1000cbfe
pop ecx
pop ecx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
call fcn.1000fdca
push eax
call fcn.100448f6
pop ecx
lea ecx, [ebp - 0x304]
call fcn.1000fdc0
jmp 0x10041595
jmp 0x10041573
push 0xcd5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
mov dword [ebp - 0x54], 3
jmp 0x10041629
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x10041643
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.1004044c
pop ecx
pop ecx
jmp 0x10041622
mov byte [ebp - 4], 9
cmp dword [ebp - 0xdc], 0x38ef
jge 0x1004165f
push dword [ebp - 0x1ac]
call fcn.100448f6
pop ecx
jmp 0x1004167b
mov dword [ebp - 4], 8
jmp 0x1004168b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x244]
call fcn.100101c1
push 1
push dword [ebp - 0x5c]
push 0
push dword [ebp - 0x20]
push dword [ebp + 8]
call fcn.1002c53b
add esp, 0x14
mov dword [ebp - 0x1b4], 0x5299dada
mov dword [ebp - 0x6c], 0
jmp 0x100416c9
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jge 0x100416df
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x2c0], 1
jmp 0x100416c2
lea eax, [ebp - 0x1b4]
push eax
call fcn.1004054f
pop ecx
push 0x3661
push 1
push 1
call fcn.1003fa97
add esp, 0xc
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.10040598
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.100405c6
pop ecx
pop ecx
push dword [ebp - 0x20]
call fcn.1003960c
pop ecx
test eax, eax
jne 0x1004173a
xor eax, eax
jmp 0x10041b90
push 0
push dword [ebp - 0x20]
push 0x1de1
push 1
call fcn.1003161f
add esp, 0x10
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x2c], 0
jmp 0x10041768
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jge 0x1004177b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x64], 0xfb6f65e7
jmp 0x10041761
mov dword [ebp - 0x2c], 0
jmp 0x1004178b
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jge 0x1004179e
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x70], 0xe76e5b14
jmp 0x10041784
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
push 4
pop edx
imul edx, edx, 0
mov edx, dword [ebp + edx - 0x64]
sub edx, dword [ebp + ecx - 0x64]
cmp edx, dword [ebp + eax - 0x64]
jg 0x100417ca
mov dword [ebp - 0xec], 1
jmp 0x100417d1
and dword [ebp - 0xec], 0
mov dword [ebp - 0xe4], 0x164c
imul eax, dword [ebp - 0xe4], 0x729c
cmp eax, dword [ebp - 0xec]
jl 0x100417f9
mov dword [ebp - 0xf4], 1
jmp 0x10041800
and dword [ebp - 0xf4], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xf4]
mov dword [ebp + eax - 0x64], ecx
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x64]
cmp ecx, dword [ebp + eax - 0x70]
jge 0x10041832
mov dword [ebp - 0x1c4], 1
jmp 0x10041839
and dword [ebp - 0x1c4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x70]
mov dword [ebp - 0x29c], eax
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x70], 1
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x70], 0xd4a2
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x100418ce
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0xfc], ecx
jne 0x1004188a
xor eax, eax
jmp 0x10041b90
push 0
push 1
push 0xdeadbeef
call dword [ebp - 0xfc]
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0
jne 0x100418af
xor eax, eax
jmp 0x10041b90
lea eax, [ebp - 0x20]
push eax
push 0x6e2a
push 1
push 0x5fe2
push 1
push 0x77c1
call fcn.1003fc8f
add esp, 0x18
push 1
lea ecx, [ebp - 0x118]
call fcn.1001013f
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1dc], 0x83648bd9
mov dword [ebp - 0x270], 1
mov dword [ebp - 0x260], 0x9ea7eb8e
mov dword [ebp - 0x25c], 0x9ea7eb8e
mov dword [ebp - 0x258], 0x9ea7eb8e
mov dword [ebp - 0x254], 0x9ea7eb8e
mov dword [ebp - 0x80], 0
jmp 0x10041935
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 1
jge 0x10041951
push dword [ebp - 0x80]
lea ecx, [ebp - 0x118]
call fcn.100101dd
mov dword [eax], 0x9f9b3198
jmp 0x1004192e
mov dword [ebp - 0x18], 0
jmp 0x10041961
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x10041b60
mov dword [ebp - 0x2a0], 0xe28de637
mov dword [ebp - 0x124], 0x10afbd13
mov dword [ebp - 0x278], 0xa311c3fc
mov dword [ebp - 0x2c4], 7
mov dword [ebp - 0x280], 0xa41a80d1
mov dword [ebp - 0x2b0], 0xfffffffc
mov dword [ebp - 0x288], 0x5fd0a320
mov dword [ebp - 0xb0], 6
mov byte [ebp - 0x32], 0
lea eax, [ebp - 0x32]
push eax
call fcn.100406f4
pop ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x118]
call fcn.100101dd
cmp dword [eax], 0
jne 0x100419f8
push dword [ebp - 0x18]
lea ecx, [ebp - 0x118]
call fcn.100101dd
cmp dword [eax], 0
jne 0x100419f8
and dword [ebp - 0x104], 0
jmp 0x10041a02
mov dword [ebp - 0x104], 1
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x260], 2
push 2
pop eax
test eax, eax
je 0x10041a2e
mov eax, 0xb11d
test eax, eax
je 0x10041a2e
mov dword [ebp - 0x11c], 1
jmp 0x10041a35
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x11c]
lea eax, [eax + ecx + 0x12555c77]
imul eax, eax, 0xca0c
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xb0]
inc ecx
mov dword [ebp - 0xb0], ecx
test eax, eax
jne 0x10041a9f
mov eax, 0xbf2b8319
test eax, eax
jne 0x10041a9f
push dword [ebp - 0x18]
lea ecx, [ebp - 0x118]
call fcn.100101dd
cmp dword [eax], 0
jne 0x10041a9f
mov eax, 0x925d3c09
test eax, eax
jne 0x10041a9f
and dword [ebp - 0xb4], 0
jmp 0x10041aa9
mov dword [ebp - 0xb4], 1
push dword [ebp - 0x18]
lea ecx, [ebp - 0x118]
call fcn.100101dd
mov eax, dword [eax]
cmp eax, dword [ebp - 0xb4]
jge 0x10041acd
mov dword [ebp - 0x134], 1
jmp 0x10041ad4
and dword [ebp - 0x134], 0
push dword [ebp - 0x18]
lea ecx, [ebp - 0x118]
call fcn.100101dd
mov ecx, dword [ebp - 0x134]
cmp ecx, dword [eax]
jg 0x10041af8
mov dword [ebp - 0x13c], 1
jmp 0x10041aff
and dword [ebp - 0x13c], 0
push dword [ebp - 0x18]
lea ecx, [ebp - 0x118]
call fcn.100101dd
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [eax]
jl 0x10041b23
mov dword [ebp - 0x144], 1
jmp 0x10041b2a
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x144], eax
jle 0x10041b41
mov dword [ebp - 0x1d4], 1
jmp 0x10041b48
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x1dc], 7
jmp 0x1004195a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.100101c1
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x10], 0
je 0x10041b83
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14c], eax
jmp 0x10041b8a
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret