Function at 0x10036d7e
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10070713
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x32c
push esi
push edi
movzx eax, byte [ebp + 8]
test eax, eax
je 0x100383de
lea eax, [ebp + 0x14]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x168], 0x1b5e
cmp dword [ebp - 0x168], 0xfff
jge 0x10037088
and dword [ebp - 0x54], 0
and dword [ebp - 0x2c], 0
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x158]
push eax
mov ecx, 0x10661f98
call fcn.10021ab3
and dword [ebp - 0x84], 0
jmp 0x10036e28
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x158]
jge 0x10036e70
lea eax, [ebp - 0x98]
push eax
mov ecx, 0x10661f98
call fcn.10021ab3
cmp dword [ebp - 0x98], 4
jne 0x10036e59
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
jmp 0x10036e6e
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp + eax*4 - 0x2c]
inc eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp + ecx*4 - 0x2c], eax
jmp 0x10036e1b
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 0
jne 0x10036e9a
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x2c], 0
jne 0x10036e9a
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x2c], 0
je 0x1003706f
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 0
je 0x10036ee3
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x2c], 0
je 0x10036ee3
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 2
jl 0x10036f2a
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x2c], 0
je 0x10036f2a
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
dec eax
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x2c], 2
jl 0x10036f4f
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2c]
dec eax
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 4
jl 0x10036f78
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
sub eax, 4
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 0
je 0x10036fbe
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x2c], 0
je 0x10036fbe
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 3
jl 0x10036fe4
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
sub eax, 3
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x2c], 0
je 0x10037008
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x2c], 0
je 0x10037029
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x2c], 2
jl 0x1003704e
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
dec eax
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
jmp 0x10037063
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2c], eax
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
jmp 0x10036e70
push fcn.10011f68
push dword [ebp - 0x54]
mov ecx, 0x10661e78
call fcn.1000f0f4
mov ecx, eax
call fcn.1000f0e8
mov eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
test eax, eax
je 0x10037102
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x1c8]
push dword [eax]
push 0
push dword [ebp - 0x180]
mov eax, dword [ebp - 0x1f0]
push dword [eax]
call fcn.10038929
add esp, 0x10
jmp 0x100383dc
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x25c], 1
mov dword [ebp - 0x258], 1
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x250], 1
lea ecx, [ebp - 0x8d]
call fcn.1000f499
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x328]
call fcn.1000f49c
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x290]
call fcn.1000f45f
and dword [ebp - 4], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x58], 0
jmp 0x10037198
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 3
jg 0x10037225
mov dword [ebp - 0x48], 0x6b950ba1
mov dword [ebp - 0x48], 0
jmp 0x100371b9
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jg 0x10037220
push 0x30fd
push 0xa2b
push 0xb7
lea eax, [ebp - 0x58]
push eax
push 0x26a6
push 0x1c62
push 0x5444
push 0
push 0x49a4
push 0x1ab
push 5
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x48]
push eax
push 1
push 0x684f
call fcn.10035f1e
add esp, 0x3c
push dword [ebp - 0x48]
lea ecx, [ebp - 0x290]
call fcn.1000f48a
cmp dword [eax], 0
je 0x1003721e
jmp 0x100371b2
jmp 0x100371b2
jmp 0x10037191
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x290]
call fcn.1000f485
and dword [ebp - 0xa8], 0
jmp 0x10037253
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0xa8], eax
jge 0x100383dc
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x18], 0
jmp 0x10037286
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x100376b9
mov dword [ebp - 0x30], 0xffff
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x190], 0xbaaa4f69
mov dword [ebp - 0x74], 0
jmp 0x100372b8
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 2
jge 0x100372ce
mov eax, dword [ebp - 0x74]
mov dword [ebp + eax*4 - 0x234], 1
jmp 0x100372b1
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
je 0x100372e2
mov dword [ebp - 0xb4], 1
jmp 0x100372e9
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x4f2887cf
cmp eax, dword [ebp - 0x30]
jge 0x1003730c
mov dword [ebp - 0x154], 1
jmp 0x10037313
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x50], 0xef8a6ebb
cmp dword [ebp - 0x30], 0
je 0x100373ac
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x234], 0
je 0x100373ac
mov dword [ebp - 0x108], 1
jmp 0x100373b3
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x100373d1
cmp dword [ebp - 0x18], 0
jne 0x100373d1
and dword [ebp - 0xc0], 0
jmp 0x100373db
mov dword [ebp - 0xc0], 1
cmp dword [ebp - 0xc0], 0xf4c5
jne 0x100373f3
mov dword [ebp - 0x130], 1
jmp 0x100373fa
and dword [ebp - 0x130], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x234]
imul eax, dword [ebp - 0x130]
test eax, eax
je 0x10037434
mov byte [ebp - 0x42], 0
movzx eax, byte [ebp - 0x42]
test eax, eax
je 0x1003742f
push 0
push 0x720c
push 1
call fcn.10041b12
add esp, 0xc
jmp 0x100376b4
push 1
lea ecx, [ebp - 0x22c]
call fcn.1000f401
mov dword [ebp - 4], 1
mov dword [ebp - 0x1d0], 0x1f48
cmp dword [ebp - 0x1d0], 0x46c
jge 0x100375c0
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x88], 1
jmp 0x1003747f
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
push 0x1113dd0c
push 0x10008178
call fcn.10055adb
pop ecx
pop ecx
test eax, eax
je 0x100375c0
cmp dword [0x1113dd0c], 0
je 0x100375c0
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x100374b8
push 0x100080e5
call fcn.10055ec6
pop ecx
push dword [ebp - 0x88]
push 0x10008790
call fcn.10055d0f
pop ecx
pop ecx
mov dword [ebp - 0x6c], 1
jmp 0x100374da
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [0x1113dd0c]
jg 0x100374fe
mov eax, dword [ebp - 0x6c]
lea eax, [eax*4 + 0x11214cc0]
push eax
push 0x10008178
call fcn.10055adb
pop ecx
pop ecx
jmp 0x100374d3
push dword [0x1113dd0c]
push 1
push 1
call fcn.10036bdc
add esp, 0xc
lea eax, [ebp - 0xc8]
push eax
push 0x100082b8
call fcn.10055adb
pop ecx
pop ecx
test eax, eax
je 0x100375b7
xor eax, eax
inc eax
imul eax, eax, 0
movsx eax, byte [ebp + eax - 0xc8]
cmp eax, 0x45
je 0x100375b7
xor eax, eax
inc eax
imul eax, eax, 0
movsx eax, byte [ebp + eax - 0xc8]
cmp eax, 0x53
jne 0x1003757c
push 0x112f5694
push 0x1113dcf8
push 0x100081cc
call fcn.10055adb
add esp, 0xc
push dword [0x1113dd0c]
push 1
push 1
call fcn.10036c5b
add esp, 0xc
jmp 0x100375b2
push 0x1113dedc
push 0x112f569c
push 0x100081cc
call fcn.10055adb
add esp, 0xc
push dword [0x1113dd0c]
push 1
push 1
call fcn.10036cff
add esp, 0xc
push eax
push 0x10008198
call fcn.10055d0f
pop ecx
pop ecx
jmp 0x10037510
mov byte [ebp - 0x19], 1
jmp 0x10037472
lea eax, [ebp - 0x310]
push eax
push 0x4779
push 0x39f2
push 1
lea eax, [ebp - 0x22c]
push eax
push 0x19be
push 0x5210
push 0x275d
push 0x56e6
push 0x2827
push 0
push 0x68fa
push 0xcfb
call fcn.10035106
add esp, 0x34
push 0x70bf
lea eax, [ebp - 0x22c]
push eax
push 0x1310
push 0x172b
push 0x4f5b
push 0
lea eax, [ebp - 0x190]
push eax
call fcn.1003fd1e
add esp, 0x1c
mov dword [ebp - 0x50], 0xffffffeb
jmp 0x10037643
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 9
jge 0x100376a5
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x208], 0
lea eax, [ebp - 0x40]
push eax
push 0
call fcn.100444d9
pop ecx
pop ecx
lea eax, [ebp - 0x40]
push eax
push 0x48b1
lea eax, [ebp - 0x22c]
push eax
push 0x629d
push 0x69bd
lea eax, [ebp - 0x208]
push eax
push 0x3bf5
lea eax, [ebp - 0x198]
push eax
push 1
push 1
call fcn.100347b9
add esp, 0x28
jmp 0x1003763c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call fcn.1000f485
jmp 0x1003727f
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x100376de
push 0x4101
push 0x3304
push 0x626e
push 0
call fcn.10041bb6
add esp, 0x10
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0x1e0], 0xffffffff
mov dword [ebp - 0x1fc], 0xfffffff6
mov dword [ebp - 0x1d8], 0xfffffff9
mov dword [ebp - 0x1a8], 0xffff
mov dword [ebp - 0x1a0], 0xdba1dd79
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x10037736
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
lea eax, [ebp - 0x1d8]
push eax
push 1
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x1a8]
push eax
push 0
lea eax, [ebp - 0x1e0]
push eax
push 0x4203
lea eax, [ebp - 0x1b0]
push eax
push 0x50e5
call fcn.10040ed5
add esp, 0x28
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
je 0x1003778f
mov dword [ebp - 0x110], 1
jmp 0x10037796
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
je 0x100377bb
mov dword [ebp - 0xd0], 1
jmp 0x100377c2
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
je 0x100377e7
mov dword [ebp - 0x150], 1
jmp 0x100377ee
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x10037c6b
push 0x4000
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
push 0x36d4
push 0x425c
call fcn.1000eec0
pop ecx
pop ecx
call eax
mov dword [ebp - 0x200], 1
mov dword [ebp - 0xd8], 0xefa1e1c5
mov dword [ebp - 0x60], 0x21046671
mov dword [ebp - 0x78], 0xa8c98aac
mov dword [ebp - 0x94], 0x674fa72d
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x284], 0x549c4b05
mov dword [ebp - 0x280], 0x549c4b05
mov dword [ebp - 0x27c], 0x549c4b05
mov dword [ebp - 0x278], 0x549c4b05
lea ecx, [ebp - 0xad]
call fcn.1000f499
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x338]
call fcn.1000f49c
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x214]
call fcn.1000f45f
mov dword [ebp - 4], 2
mov dword [ebp - 0x270], 0x51aa8c97
mov dword [ebp - 0x26c], 0x51aa8c97
mov dword [ebp - 0x268], 0x51aa8c97
mov dword [ebp - 0x264], 0x51aa8c97
lea ecx, [ebp - 0xae]
call fcn.1000f499
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x330]
call fcn.1000f49c
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2f8]
call fcn.1000f45f
mov byte [ebp - 4], 3
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x94]
push eax
push 1
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x38]
push eax
push 0x1f7
lea eax, [ebp - 0x60]
push eax
push 0x9be
push 0
call fcn.1003670c
add esp, 0x28
mov dword [ebp - 0x38], 3
jmp 0x1003796e
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jl 0x10037c48
mov dword [ebp - 0x70], 5
mov dword [ebp - 0xa4], 0xfffffffa
mov dword [ebp - 0x9c], 0xfffa
mov dword [ebp - 0x60], 0
jmp 0x100379a3
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jg 0x10037b62
mov dword [ebp - 0x8c], 0x6ae20245
mov dword [ebp - 0x16c], 0xfc5a51f
push dword [ebp - 0x38]
lea ecx, [ebp - 0x214]
call fcn.1000f48a
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov esi, dword [ebp - 0x78]
push dword [ebp - 0x38]
lea ecx, [ebp - 0x214]
call fcn.1000f48a
cmp dword [eax], esi
jge 0x100379f5
mov dword [ebp - 0x118], 1
jmp 0x100379fc
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x70]
sub eax, 0x7903
cmp dword [ebp - 0x94], eax
jle 0x10037a18
mov dword [ebp - 0xe0], 1
jmp 0x10037a1f
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0xe0]
je 0x10037a88
mov dword [ebp - 0x1b8], 0xffffffff
push 0x9bf
push 0x71cb
lea eax, [ebp - 0x1b8]
push eax
push 1
push 0x6a93
lea eax, [ebp - 0x8c]
push eax
push 0x7dd1
push 0x55f0
push 0x304c
lea eax, [ebp - 0x70]
push eax
push 1
push 0x7f7
push 0x5335
call fcn.10035106
add esp, 0x34
jmp 0x10037b5d
mov dword [ebp - 0x164], 1
mov dword [ebp - 0x248], 2
mov dword [ebp - 0x244], 2
mov dword [ebp - 0x240], 2
mov dword [ebp - 0x23c], 2
lea ecx, [ebp - 0x9d]
call fcn.1000f499
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x320]
call fcn.1000f49c
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2e8]
call fcn.1000f45f
mov byte [ebp - 4], 4
mov dword [ebp - 0x1e8], 0x6fef6f1a
push 0x1d77
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x38]
push eax
push 0x40d4
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x164]
push eax
push 0
call fcn.1003840c
add esp, 0x24
mov dword [ebp - 0x8c], 0xe8bd61c0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e8]
call fcn.1000f485
jmp 0x1003799c
cmp dword [ebp - 0x70], 0
je 0x10037b7a
cmp dword [ebp - 0x70], 0
je 0x10037b7a
mov dword [ebp - 0x138], 1
jmp 0x10037b81
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x138]
neg eax
jne 0x10037ba8
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0x78], eax
jl 0x10037ba8
cmp dword [ebp - 0x9c], 0
jne 0x10037ba8
and dword [ebp - 0xe8], 0
jmp 0x10037bb2
mov dword [ebp - 0xe8], 1
push 0
lea ecx, [ebp - 0x214]
call fcn.1000f48a
mov eax, dword [eax]
cmp eax, dword [ebp - 0xe8]
jg 0x10037bdb
cmp dword [ebp - 0x9c], 0
jne 0x10037bdb
and dword [ebp - 0x120], 0
jmp 0x10037be5
mov dword [ebp - 0x120], 1
cmp dword [ebp - 0x120], 2
ja 0x10037bfa
mov dword [ebp - 0xf0], 1
jmp 0x10037c01
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0xa4], eax
jg 0x10037c27
mov dword [ebp - 0x148], 1
jmp 0x10037c2e
and dword [ebp - 0x148], 0
push 2
lea ecx, [ebp - 0x2f8]
call fcn.1000f48a
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
jmp 0x10037967
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2f8]
call fcn.1000f485
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x214]
call fcn.1000f485
jmp 0x1003723d
push 0x7cd7
push 0
lea eax, [ebp - 0x1dc]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x174]
push dword [ebp - 0x160]
push 0x3614
push dword [ebp - 0x184]
push 0x73b7
push 0x32c6
call fcn.1003f0f9
add esp, 0x28
mov dword [ebp - 0x34], 0xc204e2db
mov dword [ebp - 0x4c], 0x74952f34
mov dword [ebp - 0x140], 0xe45bbbde
push 3
lea ecx, [ebp - 0x220]
call fcn.1000f401
mov dword [ebp - 4], 5
mov dword [ebp - 0x124], 0xaeb8efb6
mov dword [ebp - 0x1cc], 0
push 1
lea ecx, [ebp - 0x2a8]
call fcn.1000f401
mov byte [ebp - 4], 6
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x318], 0x74354af3
push 1
push 0x4c3
push 0x7961
lea eax, [ebp - 0x220]
push eax
push 1
lea eax, [ebp - 0x5c]
push eax
call fcn.10035afe
add esp, 0x18
mov dword [ebp - 0x5c], 0
jmp 0x10037d3b
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 1
jge 0x10037d57
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x2a8]
call fcn.1000f48a
mov dword [eax], 0xda73
jmp 0x10037d34
mov dword [ebp - 0x34], 0xa
jmp 0x10037d67
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x1c
jne 0x1003835e
mov dword [ebp - 0x10], 0xb143e95a
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x1c4], 0xfffffff6
mov dword [ebp - 0x80], 0
jmp 0x10037d9c
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 2
jge 0x10037db2
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x1f8], 0x389f
jmp 0x10037d95
mov byte [ebp - 0x43], 0
movzx eax, byte [ebp - 0x43]
test eax, eax
je 0x10037dd9
push 0x5645
push 1
push 0x566e
push 0x3404
push 1
call fcn.10035bc1
add esp, 0x14
cmp dword [ebp - 0x10], 0
jne 0x10037e57
mov dword [ebp - 0x4c], 0xffff
cmp dword [ebp - 0x4c], 0
je 0x10037dfe
cmp dword [ebp - 0x4c], 0
je 0x10037dfe
mov dword [ebp - 0xf8], 1
jmp 0x10037e05
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf8], 0x1e01
jg 0x10037e1d
mov dword [ebp - 0x128], 1
jmp 0x10037e24
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x10]
jne 0x10037e3e
mov dword [ebp - 0x100], 1
jmp 0x10037e45
and dword [ebp - 0x100], 0
cmp dword [ebp - 0x100], 3
je 0x10037e57
and dword [ebp - 0x18c], 0
jmp 0x10037e61
mov dword [ebp - 0x18c], 1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x10], 0x29bf3901
jge 0x10038173
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0x1a4], 0x8317d239
mov dword [ebp - 0x194], 0x1876
cmp dword [ebp - 0x194], 0xd34
jge 0x10037fad
call fcn.10057b78
push 0x20
pop ecx
imul ecx, ecx, 0
add eax, ecx
push eax
push 0x100082c8
push 0x100082cc
call fcn.100584b3
add esp, 0xc
call fcn.10057b78
push 0x20
pop ecx
shl ecx, 0
add eax, ecx
push eax
push 0x100082d4
push 0x100082d8
call fcn.100584b3
add esp, 0xc
push 0x111b3208
mov ecx, 0x10661f98
call fcn.10021ab3
push 0x111b3208
mov ecx, 0x10661f98
call fcn.10021ab3
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax + 4]
call fcn.1001322a
movzx eax, al
test eax, eax
je 0x10037fad
and dword [0x112f56a0], 0
xor eax, eax
inc eax
mov ecx, dword [0x112f56a0]
shl eax, cl
and eax, dword [0x111b3208]
jne 0x10037f6b
mov eax, dword [0x112f56a0]
inc eax
mov dword [0x112f56a0], eax
jmp 0x10037f4b
push fcn.10011f68
push dword [0x112f56a0]
mov eax, dword [0x111b3208]
mov ecx, dword [0x112f56a0]
sar eax, cl
push eax
mov ecx, 0x10661e78
call fcn.1000f0f4
mov edx, 0x1000879c
mov ecx, eax
call fcn.10024491
mov ecx, eax
call fcn.1000f0f4
mov ecx, eax
call fcn.1000f0e8
jmp 0x10037f12
mov dword [ebp - 0x10], 0xffffffea
jmp 0x10037fbd
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xd
jne 0x1003816e
mov dword [ebp - 0xdc], 0
push 1
lea ecx, [ebp - 0x29c]
call fcn.1000f401
mov byte [ebp - 4], 7
mov dword [ebp - 0x64], 0
jmp 0x10037ff2
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 1
jge 0x1003800e
push dword [ebp - 0x64]
lea ecx, [ebp - 0x29c]
call fcn.1000f48a
mov dword [eax], 5
jmp 0x10037feb
mov dword [ebp - 0xbc], 0xfffffff6
cmp dword [ebp - 0xbc], 1
jb 0x10038033
mov eax, 0x30bc
test eax, eax
jne 0x10038033
and dword [ebp - 0xc4], 0
jmp 0x1003803d
mov dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xc4]
jg 0x10038057
mov dword [ebp - 0x19c], 1
jmp 0x1003805e
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2bc], eax
mov eax, 0xb7215766
cmp eax, 0xb25631cd
ja 0x1003807f
mov dword [ebp - 0xcc], 1
jmp 0x10038086
and dword [ebp - 0xcc], 0
cmp dword [ebp - 0xcc], 0xc6dc
jge 0x1003809e
mov dword [ebp - 0xd4], 1
jmp 0x100380a5
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0xd4]
jge 0x100380bc
mov dword [ebp - 0xe4], 1
jmp 0x100380c3
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xdc]
imul eax, dword [ebp - 0xe4]
push 4
pop ecx
shl ecx, 0
imul eax, dword [ebp + ecx - 0x1f8]
cmp eax, 0x2570d978
jg 0x100380f1
mov dword [ebp - 0xec], 1
jmp 0x100380f8
and dword [ebp - 0xec], 0
cmp dword [ebp - 0xec], 9
jl 0x1003810d
mov dword [ebp - 0xf4], 1
jmp 0x10038114
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xac], eax
mov esi, dword [ebp - 0xac]
push 0
lea ecx, [ebp - 0x29c]
call fcn.1000f48a
mov dword [eax], esi
cmp dword [ebp - 0x1a4], 1
je 0x1003814a
mov dword [ebp - 0xfc], 1
jmp 0x10038151
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x29c]
call fcn.1000f485
jmp 0x10037fb6
jmp 0x10038359
mov dword [ebp - 0x1b4], 0x8a1d
mov dword [ebp - 0x2ec], 0x5f6f594a
mov dword [ebp - 0x7c], 0xfffffffd
mov dword [ebp - 0x1bc], 0xfffffffb
push 1
lea ecx, [ebp - 0x220]
call fcn.1000f48a
mov dword [eax], 1
cmp dword [ebp - 0x124], 1
jg 0x100381c0
mov dword [ebp - 0x104], 1
jmp 0x100381c7
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x104], eax
jne 0x100381de
mov dword [ebp - 0x10c], 1
jmp 0x100381e5
and dword [ebp - 0x10c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f8]
add eax, dword [ebp - 0x10c]
jne 0x10038206
mov dword [ebp - 0x114], 1
jmp 0x1003820d
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0xac]
cmp eax, 0x5e39
jne 0x10038237
mov dword [ebp - 0x11c], 1
jmp 0x1003823e
and dword [ebp - 0x11c], 0
cmp dword [ebp - 0x11c], 7
jbe 0x10038253
mov dword [ebp - 0x1ac], 1
jmp 0x1003825a
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x124], 0x99d6db78
jne 0x1003827e
mov dword [ebp - 0x12c], 1
jmp 0x10038285
and dword [ebp - 0x12c], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp + eax - 0x1f8]
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp - 0x1c4], 0
je 0x1003833d
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1cc], eax
jg 0x100382cc
push 0
lea ecx, [ebp - 0x220]
call fcn.1000f48a
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x2cc], eax
push 0
lea ecx, [ebp - 0x2a8]
call fcn.1000f48a
cmp dword [eax], 1
jbe 0x100382f3
mov dword [ebp - 0x134], 1
jmp 0x100382fa
and dword [ebp - 0x134], 0
cmp dword [ebp - 0x134], 0xfffffff6
je 0x1003830f
mov dword [ebp - 0x13c], 1
jmp 0x10038316
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1d4]
cmp dword [ebp - 0x10], eax
jle 0x1003833d
push 0xfffffffffffffffe
pop eax
test eax, eax
je 0x1003833d
mov dword [ebp - 0x144], 1
jmp 0x10038344
and dword [ebp - 0x144], 0
push 1
lea ecx, [ebp - 0x220]
call fcn.1000f48a
mov ecx, dword [ebp - 0x144]
mov dword [eax], ecx
jmp 0x10037d60
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2a8]
call fcn.1000f485
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.1000f485
push 0
push 0x63c1
push dword [ebp - 0x68]
push dword [ebp - 0x14]
lea eax, [ebp - 0x14c]
push eax
push 0x4a7b
push 0x1486
call fcn.100384b1
add esp, 0x1c
cmp dword [ebp - 0x14c], 0
jbe 0x100383d7
lea eax, [ebp - 0x2fc]
push eax
push dword [ebp - 0x1dc]
push dword [ebp - 0x14c]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
push 0x36d4
push 0x286a
call fcn.1000eec0
pop ecx
pop ecx
call eax
jmp 0x1003723d
jmp 0x100383fc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x15c], eax
push 0x7fb0
push 0
push dword [ebp - 0x15c]
call fcn.10027cbf
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret