Function at 0x10037479
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006c675
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x484
push esi
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x100374b9
push 1
push 0x15e1
push 0x64b
call fcn.10038ec8
add esp, 0xc
jmp 0x10038eb9
mov eax, dword [ebp + 8]
mov dword [ebp - 0x25c], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
test eax, eax
je 0x10038c25
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xffffffff
push 1
lea ecx, [ebp - 0x1b8]
call fcn.1001803e
and dword [ebp - 4], 0
mov dword [ebp - 0x27c], 2
mov dword [ebp - 0x148], 0xefbae54f
mov dword [ebp - 0xf0], 0x834d56b8
push 2
lea ecx, [ebp - 0x2cc]
call fcn.1001803e
mov byte [ebp - 4], 1
push 3
lea ecx, [ebp - 0x1c4]
call fcn.1001803e
mov byte [ebp - 4], 2
mov dword [ebp - 0x31c], 0xcde8
mov dword [ebp - 0x318], 0xcde8
mov dword [ebp - 0x314], 0xcde8
mov dword [ebp - 0x310], 0xcde8
lea ecx, [ebp - 0xb5]
call fcn.1001818e
push eax
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x420]
call fcn.10018191
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x418]
call fcn.1001807a
mov byte [ebp - 4], 3
mov dword [ebp - 0x1d8], 0xb85ae340
lea eax, [ebp - 0x20]
push eax
push 1
push 1
lea eax, [ebp - 0x1b8]
push eax
push 0x47fa
push 0xb11
call fcn.1002df2d
add esp, 0x18
mov dword [ebp - 0x20], 0
jmp 0x10037600
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1003761c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2cc]
call fcn.10018124
mov dword [eax], 0xab72231b
jmp 0x100375f9
mov dword [ebp - 0x20], 0
jmp 0x1003762c
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10037648
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1c4]
call fcn.10018124
mov dword [eax], 0x19e77f55
jmp 0x10037625
cmp dword [ebp - 0x10], 0xf2d
jl 0x1003765d
mov dword [ebp - 0x198], 1
jmp 0x10037664
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x198], eax
jg 0x10037681
mov eax, 0x2f7c629c
test eax, eax
jne 0x10037681
and dword [ebp - 0x1a0], 0
jmp 0x1003768b
mov dword [ebp - 0x1a0], 1
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x1a0]
sub eax, dword [ebp - 0x10]
cmp eax, 0x29a2
je 0x100376ab
mov dword [ebp - 0x294], 1
jmp 0x100376b2
and dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x10]
jne 0x100376e5
mov dword [ebp - 0x16c], 1
jmp 0x100376ec
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x16c], eax
jle 0x10037703
mov dword [ebp - 0xc8], 1
jmp 0x1003770a
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc8]
jne 0x10037721
mov dword [ebp - 0x138], 1
jmp 0x10037728
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x138], eax
jl 0x1003773f
mov dword [ebp - 0xd0], 1
jmp 0x10037746
and dword [ebp - 0xd0], 0
push 0
lea ecx, [ebp - 0x1b8]
call fcn.10018124
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [eax]
jle 0x10037769
mov dword [ebp - 0x144], 1
jmp 0x10037770
and dword [ebp - 0x144], 0
cmp dword [ebp - 0x144], 0
je 0x10037785
mov dword [ebp - 0xd8], 1
jmp 0x1003778c
and dword [ebp - 0xd8], 0
cmp dword [ebp - 0xd8], 0xfffffffa
jl 0x100377aa
mov eax, 0x7258
test eax, eax
je 0x100377aa
mov dword [ebp - 0x29c], 1
jmp 0x100377b1
and dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x374], eax
push 0
lea ecx, [ebp - 0x1b8]
call fcn.10018124
cmp dword [eax], 0xfffffffa
jae 0x100377d8
mov dword [ebp - 0x2a4], 1
jmp 0x100377df
and dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x378], eax
push 0
lea ecx, [ebp - 0x1b8]
call fcn.10018124
cmp dword [eax], 0
je 0x1003781b
mov byte [ebp - 0x25], 0
push 0
push 0x696d
lea eax, [ebp - 0x25]
push eax
push 0x6880
call fcn.1002f91c
add esp, 0x10
jmp 0x10037a55
mov dword [ebp - 0x1e4], 0xfffffff9
push 3
lea ecx, [ebp - 0x334]
call fcn.1001803e
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c8], 0xde002748
mov dword [ebp - 0x308], 9
mov dword [ebp - 0x304], 9
mov dword [ebp - 0x300], 9
mov dword [ebp - 0x2fc], 9
lea ecx, [ebp - 0x89]
call fcn.1001818e
push eax
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x430]
call fcn.10018191
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x340]
call fcn.1001807a
mov byte [ebp - 4], 5
push 1
lea ecx, [ebp - 0x2bc]
call fcn.1001803e
mov byte [ebp - 4], 6
mov dword [ebp - 0x44], 0
jmp 0x100378c2
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jge 0x100378de
push dword [ebp - 0x44]
lea ecx, [ebp - 0x334]
call fcn.10018124
mov dword [eax], 9
jmp 0x100378bb
push 0x383c
lea eax, [ebp - 0x44]
push eax
push 0
lea eax, [ebp - 0x2bc]
push eax
push 0x6069
push 0x162f
call fcn.1003163d
add esp, 0x18
lea eax, [ebp - 0x2bc]
push eax
push 1
push 1
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x1b8]
push eax
push 0x576b
push 0x1f09
lea eax, [ebp - 0x148]
push eax
push 1
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.1002e013
add esp, 0x44
push 0
lea ecx, [ebp - 0x2bc]
call fcn.10018124
mov eax, 0xad93
test eax, eax
jne 0x100379b7
xor eax, eax
inc eax
je 0x1003799b
cmp dword [ebp - 0x1d8], 0
je 0x1003799b
mov dword [ebp - 0xbc], 1
jmp 0x100379a2
and dword [ebp - 0xbc], 0
cmp dword [ebp - 0xbc], 0x7f7f
jg 0x100379b7
and dword [ebp - 0xe0], 0
jmp 0x100379c1
mov dword [ebp - 0xe0], 1
push 3
lea ecx, [ebp - 0x340]
call fcn.10018124
mov ecx, dword [ebp - 0xe0]
add ecx, dword [eax]
cmp ecx, 0x405ea325
jl 0x100379ea
mov dword [ebp - 0x140], 1
jmp 0x100379f1
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
neg eax
cmp eax, 0x8337
jl 0x10037a0c
mov dword [ebp - 0xe8], 1
jmp 0x10037a13
and dword [ebp - 0xe8], 0
push 0
lea ecx, [ebp - 0x2bc]
call fcn.10018124
mov ecx, dword [ebp - 0xe8]
mov dword [eax], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2bc]
call fcn.100180a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x340]
call fcn.100180a0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x334]
call fcn.100180a0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x39c], eax
push 2
lea ecx, [ebp - 0x1c4]
call fcn.10018124
push 1
lea ecx, [ebp - 0x1c4]
call fcn.10018124
push 1
lea ecx, [ebp - 0x1c4]
call fcn.10018124
cmp dword [eax], 0
je 0x10037ab0
mov esi, dword [ebp - 0xf0]
push 0
lea ecx, [ebp - 0x2cc]
call fcn.10018124
add esi, dword [eax]
je 0x10037ab0
mov dword [ebp - 0x14c], 1
jmp 0x10037ab7
and dword [ebp - 0x14c], 0
push 0
lea ecx, [ebp - 0x1b8]
call fcn.10018124
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [eax]
jg 0x10037ada
mov dword [ebp - 0xf8], 1
jmp 0x10037ae1
and dword [ebp - 0xf8], 0
push 0
lea ecx, [ebp - 0x2cc]
call fcn.10018124
mov ecx, dword [ebp - 0xf8]
mov dword [eax], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x418]
call fcn.100180a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c4]
call fcn.100180a0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2cc]
call fcn.100180a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b8]
call fcn.100180a0
and dword [ebp - 0xb4], 0
jmp 0x10037b51
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x18]
add eax, 0x28
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0xb4], eax
jge 0x10038c20
mov dword [ebp - 0x68], 0xcd5
mov dword [ebp - 0x64], 0xfffffff7
mov dword [ebp - 0x78], 0x80c6548a
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x5c], 0x64e785c2
mov dword [ebp - 0x380], 0x9a78915c
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x78]
push eax
push 0
lea eax, [ebp - 0x68]
push eax
call fcn.10036c43
add esp, 0x14
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x64]
cmp dword [ebp - 0x5c], eax
jl 0x10037bc4
mov dword [ebp - 0x174], 1
jmp 0x10037bcb
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x174], eax
jl 0x10037be2
mov dword [ebp - 0x24c], 1
jmp 0x10037be9
and dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x14], 0x3734
cmp dword [ebp - 0x14], 0
je 0x10037c1a
cmp dword [ebp - 0x78], 0
je 0x10037c1a
mov dword [ebp - 0x100], 1
jmp 0x10037c21
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x100], eax
jl 0x10037c38
mov dword [ebp - 0x1e0], 1
jmp 0x10037c3f
and dword [ebp - 0x1e0], 0
cmp dword [ebp - 0x14], 0xfffffffb
jne 0x10037c51
mov dword [ebp - 0x154], 1
jmp 0x10037c58
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x154]
je 0x10037f6f
mov dword [ebp - 0x210], 7
mov dword [ebp - 0x268], 0xfffffff6
mov dword [ebp - 0x250], 0x1b20
cmp dword [ebp - 0x250], 0xd0b
jge 0x10037ea8
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x290]
push eax
push 0x100087bc
call fcn.10052cbb
add esp, 0xc
lea ecx, [ebp - 0x3d0]
call fcn.100176f7
mov dword [ebp - 4], 7
lea edx, [ebp - 0x3d0]
mov ecx, 0x1065d430
call fcn.1001c943
lea ecx, [ebp - 0x3e8]
call fcn.100176f7
mov byte [ebp - 4], 8
lea edx, [ebp - 0x3e8]
mov ecx, 0x1065d430
call fcn.1001c943
push 0x1000860d
lea ecx, [ebp - 0x490]
call fcn.10017708
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 9
push 0
lea ecx, [ebp - 0x3d0]
call fcn.10017775
mov al, byte [eax]
movzx eax, al
push eax
mov edx, dword [ebp - 0x2b0]
lea ecx, [ebp - 0x460]
call fcn.1004a817
pop ecx
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x258], eax
mov byte [ebp - 4], 0xa
push 0
lea ecx, [ebp - 0x3e8]
call fcn.10017775
mov al, byte [eax]
movzx eax, al
push eax
mov edx, dword [ebp - 0x258]
lea ecx, [ebp - 0x478]
call fcn.1004a817
pop ecx
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x290]
dec eax
push eax
lea ecx, [ebp - 0x3d0]
call fcn.10017775
mov al, byte [eax]
movzx eax, al
push eax
mov edx, dword [ebp - 0x200]
lea ecx, [ebp - 0x448]
call fcn.1004a817
pop ecx
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x2a8], eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x208]
dec eax
push eax
lea ecx, [ebp - 0x3e8]
call fcn.10017775
mov al, byte [eax]
movzx eax, al
push eax
mov edx, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x400]
call fcn.1004a817
pop ecx
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x448]
call fcn.1001775a
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x478]
call fcn.1001775a
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x460]
call fcn.1001775a
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x490]
call fcn.1001775a
mov edx, 0x10008aec
lea ecx, [ebp - 0x400]
call fcn.1001c921
movzx eax, al
test eax, eax
jne 0x10037e63
mov edx, 0x10008af4
lea ecx, [ebp - 0x400]
call fcn.1001c921
movzx eax, al
test eax, eax
je 0x10037e70
push 0x1000876c
call fcn.10053c57
pop ecx
jmp 0x10037e7b
push 0x10008770
call fcn.10053c57
pop ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x400]
call fcn.1001775a
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3e8]
call fcn.1001775a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d0]
call fcn.1001775a
mov dword [ebp - 0x70], 0
jmp 0x10037eb8
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 3
jge 0x10037ece
mov eax, dword [ebp - 0x70]
mov dword [ebp + eax*4 - 0x40c], 4
jmp 0x10037eb1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x14], 1
jl 0x10037ef2
mov dword [ebp - 0x108], 1
jmp 0x10037ef9
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
neg eax
jne 0x10037f0f
mov dword [ebp - 0x19c], 1
jmp 0x10037f16
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x210]
cmp dword [ebp - 0x19c], eax
jge 0x10037f30
mov dword [ebp - 0x110], 1
jmp 0x10037f37
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
neg eax
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0x40c]
jg 0x10037f5a
mov dword [ebp - 0x15c], 1
jmp 0x10037f61
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x268], eax
jmp 0x10037fd4
mov dword [ebp - 0x218], 0x1bbcb567
mov dword [ebp - 0x14], 0
jmp 0x10037f89
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffe5
jl 0x10037fd4
mov dword [ebp - 0x298], 0xa2a42895
push 0xcc8
push 1
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x298]
push eax
push 1
lea eax, [ebp - 0x5c]
push eax
push 0x7ce4
push 0xb2f
lea eax, [ebp - 0x64]
push eax
call fcn.1002e86c
add esp, 0x2c
jmp 0x10037f82
mov dword [ebp - 0x270], 0xfffffff9
mov dword [ebp - 0x220], 0x28f4e1c2
push 0x70f1
push 1
push 0x7183
push 0x718f
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x270]
push eax
push 0x22c1
push 0x6198
push 0
call fcn.1004523e
add esp, 0x24
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
je 0x10038034
mov dword [ebp - 0x118], 1
jmp 0x1003803b
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x230], 1
push 0x76fc
push 0x1862
push 0x5cd8
push 0x63fd
push 0x1e7f
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x17c]
push eax
push 1
push 1
push 0x2d5d
push 0x43bc
push 0x15a3
call fcn.1002f030
add esp, 0x30
mov dword [ebp - 0x34], 0xffffffef
jmp 0x100380b1
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffec
jl 0x100380f7
mov dword [ebp - 0x228], 0x97412df3
mov dword [ebp - 0x2c0], 0xffffffff
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x228]
push eax
push 0
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10037111
add esp, 0x18
jmp 0x100380aa
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
je 0x10038110
mov dword [ebp - 0x120], 1
jmp 0x10038117
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x278], 0x175d
cmp dword [ebp - 0x278], 0x4cc
jge 0x100381d5
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x2e0]
push eax
push 0x10008814
call fcn.10052cbb
add esp, 0xc
mov dword [ebp - 0x6c], 1
jmp 0x10038168
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cvtsi2sd xmm0, dword [ebp - 0x6c]
movsd xmm1, qword [ebp - 0x2e0]
comisd xmm1, xmm0
jbe 0x100381ca
cvtsi2sd xmm0, dword [ebp - 0x6c]
mulsd xmm0, qword [0x10008d60]
divsd xmm0, qword [ebp - 0x2e0]
push ecx
push ecx
movsd qword [esp], xmm0
call fcn.100540f4
pop ecx
pop ecx
fstp qword [ebp - 0x360]
movsd xmm0, qword [ebp - 0x360]
mulsd xmm0, qword [ebp - 0x388]
push ecx
push ecx
movsd qword [esp], xmm0
push 0x10008afc
call fcn.100535f4
add esp, 0xc
jmp 0x10038161
push 0x1000860d
call fcn.10053c57
pop ecx
mov dword [ebp - 0x238], 0x23d5
cmp dword [ebp - 0x238], 0x50d
jge 0x10038404
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x240]
push eax
push 0x10008728
call fcn.10052cbb
add esp, 0xc
and dword [ebp - 0x2a0], 0
lea eax, [ebp - 0x2a0]
push eax
push 1
lea ecx, [ebp - 0x1ac]
call fcn.100181a5
mov dword [ebp - 4], 0x12
and dword [ebp - 0x164], 0
and dword [ebp - 0x94], 0
jmp 0x10038249
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x240]
jge 0x1003829a
lea eax, [ebp - 0xac]
push eax
push 0x100086a4
call fcn.10052cbb
pop ecx
pop ecx
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x164]
jne 0x1003827a
jmp 0x1003823c
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10049db2
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x164], eax
jmp 0x1003823c
and dword [ebp - 0x248], 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10049db2
and dword [ebp - 0x1d0], 0
lea eax, [ebp - 0x1d0]
push eax
mov eax, dword [ebp - 0x130]
inc eax
push eax
lea ecx, [ebp - 0x2d8]
call fcn.100181a5
mov byte [ebp - 4], 0x13
and dword [ebp - 0x38], 0
jmp 0x100382e5
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x1ac]
call fcn.1001811b
cmp dword [ebp - 0x38], eax
jae 0x10038370
mov eax, dword [ebp - 0x38]
dec eax
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10018124
mov esi, eax
mov eax, dword [ebp - 0x38]
inc eax
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10018124
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x10038329
mov dword [ebp - 0x128], 1
jmp 0x10038330
and dword [ebp - 0x128], 0
push dword [ebp - 0x38]
lea ecx, [ebp - 0x1ac]
call fcn.10018124
push dword [eax]
lea ecx, [ebp - 0x2d8]
call fcn.10018124
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x128]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x194]
mov dword [ecx], eax
jmp 0x100382de
or dword [ebp - 0xc0], 0xffffffff
or dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0x3c], 1
jmp 0x1003838e
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x130]
jg 0x100383d4
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x2d8]
call fcn.10018124
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc0]
jg 0x100383b3
jmp 0x10038387
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x2d8]
call fcn.10018124
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc4], eax
jmp 0x10038387
push dword [ebp - 0xc4]
push 0x10008718
call fcn.100535f4
pop ecx
pop ecx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2d8]
call fcn.100180a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ac]
call fcn.100180a0
mov dword [ebp - 0x350], 0x624039b6
mov dword [ebp - 0x54], 0x743d837b
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x364], 0xffffffff
mov dword [ebp - 0x3b0], 1
mov dword [ebp - 0x3b8], 0xfffffff8
mov dword [ebp - 0x3ac], 0x869ec427
push 3
lea ecx, [ebp - 0x398]
call fcn.1001803e
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x1d4], 0x1b83
cmp dword [ebp - 0x1d4], 0x1055
jge 0x1003856b
lea eax, [ebp - 0x84]
push eax
push 0x100086a4
call fcn.10052cbb
pop ecx
pop ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x1dc], 0
je 0x1003856b
lea eax, [ebp - 0x1cc]
push eax
push 0x100086a4
call fcn.10052cbb
pop ecx
pop ecx
and dword [ebp - 0x48], 0
and dword [ebp - 0x90], 0
and dword [ebp - 0x88], 0
jmp 0x100384e2
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x1cc]
jge 0x1003852c
lea eax, [ebp - 0x1ec]
push eax
push 0x100086a4
call fcn.10052cbb
pop ecx
pop ecx
cmp dword [ebp - 0x1ec], 1
jle 0x10038518
mov dword [ebp - 0x90], 1
jmp 0x1003852a
cmp dword [ebp - 0x90], 0
jne 0x1003852a
xor eax, eax
inc eax
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
jmp 0x100384d5
cmp dword [ebp - 0x90], 0
jne 0x1003853e
xor eax, eax
inc eax
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x10038550
mov dword [ebp - 0xcc], 0x10008b04
jmp 0x1003855a
mov dword [ebp - 0xcc], 0x10008b0c
push dword [ebp - 0xcc]
call fcn.10053c57
pop ecx
jmp 0x10038488
mov dword [ebp - 0xd4], 0xc29478c9
lea eax, [ebp - 0x398]
push eax
lea eax, [ebp - 0x34c]
push eax
push 0
call fcn.10036a92
add esp, 0xc
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x54], 0
jmp 0x100385aa
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0xfffffff0
jle 0x100385e4
mov byte [ebp - 0x2d], 0
push 0
lea eax, [ebp - 0x2d]
push eax
push 0x6d1
push 0x2c1d
push 0x7505
push 1
push 0x4fe0
push 0x42bc
push 0x4688
call fcn.10045751
add esp, 0x24
jmp 0x100385a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x398]
call fcn.100180a0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
je 0x1003860c
mov dword [ebp - 0xdc], 1
jmp 0x10038613
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x24], 0x643cdf98
mov dword [ebp - 0x1fc], 0x2cf3e4c9
mov byte [ebp - 0x2f], 0
movzx eax, byte [ebp - 0x2f]
test eax, eax
je 0x1003865f
push 0x526d
push 0x4ecd
push 0x7349
push 0
push 0x888
push 0x717c
call fcn.100458e6
add esp, 0x18
cmp dword [ebp - 0x24], 0
jne 0x10038692
imul eax, dword [ebp - 0x24], 0x15d1
test eax, eax
je 0x10038682
cmp dword [ebp - 0x24], 0
je 0x10038682
mov dword [ebp - 0xe4], 1
jmp 0x10038689
and dword [ebp - 0xe4], 0
cmp dword [ebp - 0xe4], 0
jg 0x100386a4
cmp dword [ebp - 0x24], 0
je 0x100386a4
mov dword [ebp - 0xec], 1
jmp 0x100386ab
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0xec], eax
jle 0x100386c2
mov dword [ebp - 0xf4], 1
jmp 0x100386c9
and dword [ebp - 0xf4], 0
cmp dword [ebp - 0xf4], 0xc9cd49fc
jbe 0x100386e1
mov dword [ebp - 0xfc], 1
jmp 0x100386e8
and dword [ebp - 0xfc], 0
cmp dword [ebp - 0xfc], 0x9c3
jg 0x10038706
cmp dword [ebp - 0x24], 0
je 0x10038706
mov dword [ebp - 0x104], 1
jmp 0x1003870d
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x104]
jg 0x1003873f
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x1003873a
push 0x2690
push 1
push 0x2146
push 1
call fcn.1002f29c
add esp, 0x10
jmp 0x100387e3
mov dword [ebp - 0x204], 0x60016488
mov dword [ebp - 0x1f4], 0xfffffff8
or dword [ebp - 0x2f4], 0xffffffff
or dword [ebp - 0x2f0], 0xffffffff
or dword [ebp - 0x2ec], 0xffffffff
or dword [ebp - 0x2e8], 0xffffffff
lea ecx, [ebp - 0x7d]
call fcn.1001818e
push eax
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x428]
call fcn.10018191
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x3a8]
call fcn.1001807a
mov dword [ebp - 4], 0x15
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x1fc]
push eax
push 1
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x3a8]
push eax
call fcn.10041fb9
add esp, 0x1c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3a8]
call fcn.100180a0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x10038819
push 0x4000
mov eax, dword [ebp - 0x18]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x18]
push dword [eax + 8]
push 0x1881
push 0x1fb1
call fcn.100298f2
pop ecx
pop ecx
call eax
jmp 0x10037b3b
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x6866
push 1
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x23c]
push eax
push 1
lea eax, [ebp - 0x21c]
push eax
push 1
push 0x3f40
push 0x5666
push 0x44a9
call fcn.1002f4cc
add esp, 0x30
mov dword [ebp - 0x74], 0x8373b2c
mov dword [ebp - 0x98], 0xfffffffe
push 2
lea ecx, [ebp - 0x328]
call fcn.1001803e
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x50], 0
jmp 0x10038890
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 3
jge 0x100388a6
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xa4], 1
jmp 0x10038889
push 0
lea eax, [ebp - 0x328]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.10031a40
add esp, 0xc
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xa4], 0
je 0x100389b9
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xa4], 0
je 0x100388ef
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xa4], 0
jne 0x10038933
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xa4], 0x21e9
jge 0x1003890e
mov dword [ebp - 0x10c], 1
jmp 0x10038915
and dword [ebp - 0x10c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xa4]
cmp dword [ebp - 0x10c], eax
jl 0x10038933
and dword [ebp - 0x114], 0
jmp 0x1003893d
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x114], eax
jl 0x10038954
mov dword [ebp - 0x11c], 1
jmp 0x1003895b
and dword [ebp - 0x11c], 0
cmp dword [ebp - 0x11c], 0xdcb3
jge 0x10038973
mov dword [ebp - 0x124], 1
jmp 0x1003897a
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x124], eax
jg 0x10038991
mov dword [ebp - 0x12c], 1
jmp 0x10038998
and dword [ebp - 0x12c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa4]
cmp dword [ebp - 0x12c], eax
jl 0x100389b9
mov dword [ebp - 0x134], 1
jmp 0x100389c0
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x74], 0
jne 0x10038af5
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa4]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x5616
jge 0x10038a01
mov dword [ebp - 0x13c], 1
jmp 0x10038a08
and dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0x7497f3c8
je 0x10038a20
mov dword [ebp - 0x150], 1
jmp 0x10038a27
and dword [ebp - 0x150], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0xa4]
cmp eax, dword [ebp - 0x150]
jge 0x10038a47
mov dword [ebp - 0x224], 1
jmp 0x10038a4e
and dword [ebp - 0x224], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xa4]
mov dword [ebp - 0x36c], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xa4], 0x6a4abff1
je 0x10038a80
mov dword [ebp - 0x158], 1
jmp 0x10038a87
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
sub eax, 0x463a36cb
je 0x10038aa5
xor eax, eax
inc eax
je 0x10038aa5
mov dword [ebp - 0x160], 1
jmp 0x10038aac
and dword [ebp - 0x160], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xa4]
sub eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x160]
je 0x10038ad6
mov eax, 0x4b66
test eax, eax
jne 0x10038ad6
and dword [ebp - 0x168], 0
jmp 0x10038ae0
mov dword [ebp - 0x168], 1
cmp dword [ebp - 0x168], 0xb7d4
jle 0x10038af5
and dword [ebp - 0x170], 0
jmp 0x10038aff
mov dword [ebp - 0x170], 1
push 1
lea ecx, [ebp - 0x328]
call fcn.10018124
mov ecx, dword [ebp - 0x170]
mov dword [eax], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x328]
call fcn.100180a0
push 1
push dword [ebp - 0x7c]
push dword [ebp - 0x18]
push 0
push 0x3086
lea eax, [ebp - 0x178]
push eax
push 0x16d7
push 0x6de8
push 0x7e65
push 0xbcd
push 0x1001
push 0x4122
push 0x31a3
call fcn.1002fc07
add esp, 0x34
cmp dword [ebp - 0x178], 0
jbe 0x10038c1b
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x22c], 0x7adf
mov dword [ebp - 0x234], 0xf592758e
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
lea eax, [ebp - 0x234]
push eax
call fcn.10042699
add esp, 0x10
mov dword [ebp - 0x4c], 0xffffffef
jmp 0x10038bb8
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x3b
jge 0x10038bef
push 0x2b58
push 0x3cf
push 0x3978
push 1
push 0x4037
push 1
push 0x667d
push 0x7107
push 0x68ff
call fcn.1002f6c1
add esp, 0x24
jmp 0x10038bb1
lea eax, [ebp - 0x354]
push eax
push dword [ebp - 0x23c]
push dword [ebp - 0x178]
mov eax, dword [ebp - 0x18]
push dword [eax + 8]
push 0x1881
push 0x1e41
call fcn.100298f2
pop ecx
pop ecx
call eax
jmp 0x10037b3b
jmp 0x10038eb9
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x254], 0x2261
cmp dword [ebp - 0x254], 0xa52
jge 0x10038e62
lea eax, [ebp - 0xb0]
push eax
push 0x100086a4
call fcn.10052cbb
pop ecx
pop ecx
mov eax, dword [ebp - 0xb0]
inc eax
push eax
lea ecx, [ebp - 0x288]
call fcn.10049e05
mov dword [ebp - 4], 0x17
mov dword [ebp - 0xa8], 1
jmp 0x10038c91
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xb0]
jge 0x10038cfa
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x180]
push eax
push 0x10008728
call fcn.10052cbb
add esp, 0xc
lea eax, [ebp - 0x190]
push eax
push dword [ebp - 0x180]
lea ecx, [ebp - 0x288]
call fcn.10029c93
mov ecx, eax
call fcn.10049db2
lea eax, [ebp - 0x180]
push eax
push dword [ebp - 0x190]
lea ecx, [ebp - 0x288]
call fcn.10029c93
mov ecx, eax
call fcn.10049db2
jmp 0x10038c84
mov byte [ebp - 0x19], 1
or dword [ebp - 0x60], 0xffffffff
lea ecx, [ebp - 0x18c]
call fcn.10017f7c
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x2c], 1
jmp 0x10038d21
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xb0]
jg 0x10038d87
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x288]
call fcn.10029c93
mov ecx, eax
call fcn.1001811b
cmp eax, 1
jne 0x10038d57
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18c]
call fcn.10049db2
jmp 0x10038d85
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x288]
call fcn.10029c93
mov ecx, eax
call fcn.1001811b
cmp eax, 2
jbe 0x10038d85
cmp dword [ebp - 0x60], 0
jl 0x10038d7f
mov byte [ebp - 0x19], 0
jmp 0x10038d87
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x60], eax
jmp 0x10038d1a
movzx eax, byte [ebp - 0x19]
test eax, eax
jne 0x10038d9f
push 0x10008a5c
call fcn.10053c57
pop ecx
jmp 0x10038e44
push 0x10008a58
call fcn.10053c57
pop ecx
cmp dword [ebp - 0x60], 0
jge 0x10038ded
lea ecx, [ebp - 0x18c]
call fcn.1001811b
cmp eax, 2
jb 0x10038ded
push 1
lea ecx, [ebp - 0x18c]
call fcn.10018124
push dword [eax]
push 0
lea ecx, [ebp - 0x18c]
call fcn.10018124
push dword [eax]
push 0x10008b14
call fcn.100535f4
add esp, 0xc
jmp 0x10038e44
lea ecx, [ebp - 0x18c]
call fcn.1001811b
push eax
push 0x10008718
call fcn.100535f4
pop ecx
pop ecx
and dword [ebp - 0x58], 0
jmp 0x10038e12
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x18c]
call fcn.1001811b
cmp dword [ebp - 0x58], eax
jae 0x10038e44
push dword [ebp - 0x58]
lea ecx, [ebp - 0x18c]
call fcn.10018124
push dword [eax]
push dword [ebp - 0x60]
push 0x100087c4
call fcn.100535f4
add esp, 0xc
jmp 0x10038e0b
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x18c]
call fcn.100180a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x288]
call fcn.10029c8e
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
jmp 0x10038e99
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
cmp dword [eax], 1
jge 0x10038eb9
mov eax, dword [ebp - 0x40]
push dword [eax]
mov ecx, dword [ebp - 0x274]
call fcn.10018124
mov dword [eax], 0x9942c3b0
jmp 0x10038e8e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret