Function at 0x10019182
Capabilities:
Contain obfuscated stackstrings
Enumerate pe sections
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10069b8a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3a0
push esi
push edi
and dword [ebp - 0x18], 0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x1001ad54
lea eax, [ebp + 0x10]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x284]
movzx eax, byte [eax]
test eax, eax
je 0x1001ad24
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x10019205
jmp 0x1001aec7
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x2c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
cmp dword [eax], 0x4550
je 0x10019224
jmp 0x1001aec7
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x54]
lea eax, [ecx + eax + 0x78]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 4], 0
jne 0x10019242
jmp 0x1001aec7
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x54]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x54]
lea eax, [ecx + eax + 0x18]
mov dword [ebp - 0x60], eax
and dword [ebp - 0x178], 0
jmp 0x10019276
mov eax, dword [ebp - 0x178]
inc eax
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x60]
add eax, 0x28
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x54]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x178], eax
jge 0x100192ef
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1c4]
jb 0x100192ea
mov eax, dword [ebp - 0x54]
push dword [eax + 0x38]
mov eax, dword [ebp - 0x60]
push dword [eax + 8]
call fcn.100188ee
pop ecx
pop ecx
add eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x21c]
jae 0x100192ea
lea eax, [ebp - 0x60]
push eax
push 0x1db4
push 0x3a02
push 0
lea eax, [ebp - 0x28]
push eax
push 1
call fcn.10018f1e
add esp, 0x18
jmp 0x100192ef
jmp 0x10019260
cmp dword [ebp - 0x28], 0
jne 0x100192fa
jmp 0x1001aec7
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
call fcn.1000f8c5
push eax
call fcn.1005310b
pop ecx
mov byte [ebp - 0x11c], 6
mov byte [ebp - 0x11b], 0x8d
mov byte [ebp - 0x11a], 4
mov byte [ebp - 0x119], 9
mov byte [ebp - 0x118], 0
mov byte [ebp - 0x117], 9
mov byte [ebp - 0x116], 1
mov byte [ebp - 0x115], 4
mov byte [ebp - 0x114], 2
mov byte [ebp - 0x113], 2
mov byte [ebp - 0x112], 7
mov byte [ebp - 0x111], 1
mov byte [ebp - 0x110], 5
mov byte [ebp - 0x10f], 7
mov byte [ebp - 0x10e], 0x19
mov byte [ebp - 0x10d], 0x20
mov byte [ebp - 0x10c], 0x96
mov byte [ebp - 0x10b], 0x70
mov byte [ebp - 0x10a], 0x9f
mov byte [ebp - 0x109], 0x4e
mov byte [ebp - 0x108], 0x71
mov byte [ebp - 0x107], 0xf8
mov byte [ebp - 0x106], 0x3d
mov byte [ebp - 0x105], 0x15
mov byte [ebp - 0x104], 0xc3
mov byte [ebp - 0x103], 0xf9
mov byte [ebp - 0x102], 0x2e
mov byte [ebp - 0x101], 0xef
mov byte [ebp - 0x100], 0x17
mov byte [ebp - 0xff], 0x8b
mov byte [ebp - 0xfe], 0x29
mov byte [ebp - 0xfd], 0xe9
mov byte [ebp - 0xfc], 0xf7
mov byte [ebp - 0xfb], 0xc4
mov byte [ebp - 0xfa], 4
mov byte [ebp - 0xf9], 0x73
mov byte [ebp - 0xf8], 3
mov byte [ebp - 0xf7], 0x4f
mov byte [ebp - 0xf6], 1
mov byte [ebp - 0xf5], 0xc7
mov byte [ebp - 0xf4], 3
mov byte [ebp - 0xf3], 6
mov byte [ebp - 0xf2], 9
mov byte [ebp - 0xf1], 7
mov byte [ebp - 0xf0], 8
mov byte [ebp - 0xef], 0
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x11c]
or eax, 0xbc
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x11c]
and ecx, 0xbc
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x11c]
mov byte [ebp + ecx - 0x200], al
mov dword [ebp - 0x34], 2
and dword [ebp - 0xec], 0
jmp 0x100194ae
mov eax, dword [ebp - 0x34]
inc eax
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x2e
jae 0x10019564
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x11c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x34], eax
jne 0x100194f8
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x11c]
inc eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x11c]
mov ecx, dword [ebp - 0x34]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x34], eax
jmp 0x100194a6
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x11b]
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0xec]
movzx ecx, byte [ebp + ecx - 0x11e]
movsx ecx, byte [ebp + ecx - 0x200]
or eax, ecx
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x11b]
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0xec]
movzx edx, byte [ebp + edx - 0x11e]
movsx edx, byte [ebp + edx - 0x200]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x11c]
mov byte [ebp + ecx - 0x200], al
and dword [ebp - 0xec], 0
jmp 0x100194a6
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x200], 0
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0x3ac]
call fcn.1001db3f
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x22c], eax
and dword [ebp - 4], 0
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x22c]
call fcn.1000f88a
pop ecx
mov dword [ebp - 0x2c0], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3ac]
call fcn.1001dbc7
and dword [ebp - 0xe0], 0
jmp 0x100195d5
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0xb
jae 0x100195ee
mov eax, dword [ebp - 0xe0]
mov byte [ebp + eax - 0x200], 0
jmp 0x100195c8
mov byte [ebp - 0x150], 8
mov byte [ebp - 0x14f], 0x28
mov byte [ebp - 0x14e], 9
mov byte [ebp - 0x14d], 0
mov byte [ebp - 0x14c], 3
mov byte [ebp - 0x14b], 2
mov byte [ebp - 0x14a], 2
mov byte [ebp - 0x149], 5
mov byte [ebp - 0x148], 7
mov byte [ebp - 0x147], 1
mov byte [ebp - 0x146], 5
mov byte [ebp - 0x145], 7
mov byte [ebp - 0x144], 1
mov byte [ebp - 0x143], 7
mov byte [ebp - 0x142], 4
mov byte [ebp - 0x141], 2
mov byte [ebp - 0x140], 6
mov byte [ebp - 0x13f], 0xd
mov byte [ebp - 0x13e], 0x1f
mov byte [ebp - 0x13d], 0xd7
mov byte [ebp - 0x13c], 0x55
mov byte [ebp - 0x13b], 0xf3
mov byte [ebp - 0x13a], 0xa3
mov byte [ebp - 0x139], 0x47
mov byte [ebp - 0x138], 0xf
mov byte [ebp - 0x137], 0xfd
mov byte [ebp - 0x136], 0x7d
mov byte [ebp - 0x135], 0xf4
mov byte [ebp - 0x134], 0x5c
mov byte [ebp - 0x133], 0xde
mov byte [ebp - 0x132], 0x13
mov byte [ebp - 0x131], 0x52
mov byte [ebp - 0x130], 0x11
mov byte [ebp - 0x12f], 0x68
mov byte [ebp - 0x12e], 0xc1
mov byte [ebp - 0x12d], 0x15
mov byte [ebp - 0x12c], 0x5e
mov byte [ebp - 0x12b], 0xe1
mov byte [ebp - 0x12a], 0x70
mov byte [ebp - 0x129], 0x80
mov byte [ebp - 0x128], 0x39
mov byte [ebp - 0x127], 0xcf
mov byte [ebp - 0x126], 0x1b
mov byte [ebp - 0x125], 0xe2
mov byte [ebp - 0x124], 0xce
mov byte [ebp - 0x123], 0x3d
mov byte [ebp - 0x122], 0x2a
mov byte [ebp - 0x121], 5
mov byte [ebp - 0x120], 0x66
mov byte [ebp - 0x11f], 0x17
mov byte [ebp - 0x11e], 0
mov byte [ebp - 0x11d], 8
mov dword [ebp - 0x234], 0x2627
cmp dword [ebp - 0x234], 0xcce
jge 0x10019a31
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x10007a08
call fcn.1005274a
add esp, 0x18
mov eax, dword [ebp - 0x164]
cdq
idiv dword [ebp - 0x40]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x184]
cdq
idiv dword [ebp - 0x40]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x154]
cdq
idiv dword [ebp - 0x40]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x160]
cdq
idiv dword [ebp - 0x40]
mov dword [ebp - 0x160], edx
or dword [ebp - 0x270], 0xffffffff
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x40]
lea ecx, [ebp - 0x2b0]
call fcn.1001dd0f
mov dword [ebp - 4], 1
or dword [ebp - 0x278], 0xffffffff
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x40]
lea ecx, [ebp - 0x2a0]
call fcn.1001dd0f
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x16c], 1
jmp 0x10019857
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cdq
idiv dword [ebp - 0x40]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
xor eax, eax
inc eax
je 0x10019881
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x2b0]
call fcn.1000b57b
mov ecx, dword [ebp - 0x16c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x184]
jne 0x1001987f
jmp 0x10019881
jmp 0x10019839
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x174], 1
jmp 0x100198ba
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x70]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
cdq
idiv dword [ebp - 0x40]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x174]
inc eax
mov dword [ebp - 0x174], eax
xor eax, eax
inc eax
je 0x100198e4
push dword [ebp - 0x70]
lea ecx, [ebp - 0x2a0]
call fcn.1000b57b
mov ecx, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x160]
jne 0x100198e2
jmp 0x100198e4
jmp 0x10019896
mov byte [ebp - 0x49], 0
and dword [ebp - 0xe8], 0
jmp 0x100198fe
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0x40]
jge 0x1001992a
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x2b0]
call fcn.1000b57b
push dword [eax]
push 0x100079e8
call fcn.10050d7d
pop ecx
pop ecx
jmp 0x100198f1
push 0x1000762d
call fcn.10053214
pop ecx
and dword [ebp - 0xe4], 0
jmp 0x1001994b
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0x40]
jge 0x10019977
push dword [ebp - 0xe4]
lea ecx, [ebp - 0x2a0]
call fcn.1000b57b
push dword [eax]
push 0x100079e8
call fcn.10050d7d
pop ecx
pop ecx
jmp 0x1001993e
push 0x1000762d
call fcn.10053214
pop ecx
and dword [ebp - 0x58], 0
jmp 0x1001998f
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x40]
jge 0x100199e9
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2b0]
call fcn.1000b57b
cmp dword [eax], 0
jle 0x100199e7
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2a0]
call fcn.1000b57b
cmp dword [eax], 0
jle 0x100199e7
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2b0]
call fcn.1000b57b
mov esi, eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2a0]
call fcn.1000b57b
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x100199e7
mov byte [ebp - 0x49], 1
jmp 0x100199e9
jmp 0x10019988
movzx eax, byte [ebp - 0x49]
test eax, eax
je 0x100199fd
mov dword [ebp - 0x1cc], 0x10007958
jmp 0x10019a07
mov dword [ebp - 0x1cc], 0x1000795c
push dword [ebp - 0x1cc]
call fcn.10053214
pop ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a0]
call fcn.1000b576
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b0]
call fcn.1000b576
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x150]
or eax, 0x18
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x150]
and ecx, 0x18
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x150]
mov byte [ebp + ecx - 0x20c], al
mov dword [ebp - 0x38], 2
and dword [ebp - 0xc8], 0
jmp 0x10019a82
mov eax, dword [ebp - 0x38]
inc eax
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x34
jae 0x10019b38
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x150]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x38], eax
jne 0x10019acc
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x150]
inc eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x150]
mov ecx, dword [ebp - 0x38]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x38], eax
jmp 0x10019a7a
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x14f]
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x152]
movsx ecx, byte [ebp + ecx - 0x20c]
or eax, ecx
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x14f]
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x152]
movsx edx, byte [ebp + edx - 0x20c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x150]
mov byte [ebp + ecx - 0x20c], al
and dword [ebp - 0xc8], 0
jmp 0x10019a7a
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x20c], 0
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x37c]
call fcn.1001db3f
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x288], eax
mov dword [ebp - 4], 3
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x288]
call fcn.1000f88a
pop ecx
mov dword [ebp - 0x2b8], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x37c]
call fcn.1001dbc7
mov dword [ebp - 0x290], 0x1ec2
cmp dword [ebp - 0x290], 0x1181
jge 0x10019c7e
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x1065aef0
call fcn.1000b0f2
mov eax, dword [ebp - 0x50]
and eax, 0x80000001
jns 0x10019bcd
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x10019c13
mov eax, dword [ebp - 0x50]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
push 3
push fcn.1000eba4
mov eax, dword [ebp - 0x50]
inc eax
push eax
mov ecx, 0x1065ae38
call fcn.1000b2ed
mov ecx, eax
call fcn.1000b2e1
mov ecx, eax
call fcn.1000b2ed
mov dl, 0x20
mov ecx, eax
call fcn.1000e9ee
jmp 0x10019c37
mov eax, dword [ebp - 0x50]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x50], eax
push fcn.1000eba4
push dword [ebp - 0x50]
mov ecx, 0x1065ae38
call fcn.1000b2ed
mov ecx, eax
call fcn.1000b2e1
and dword [ebp - 0x17c], 0
jmp 0x10019c4d
mov eax, dword [ebp - 0x17c]
inc eax
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x50]
jge 0x10019c6f
push 2
mov ecx, 0x1065ae38
call fcn.1000b2ed
mov dl, 0x20
mov ecx, eax
call fcn.1000e9ee
jmp 0x10019c40
push fcn.1000eba4
mov ecx, 0x1065ae38
call fcn.1000b2e1
and dword [ebp - 0xdc], 0
jmp 0x10019c94
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0xb
jae 0x10019cad
mov eax, dword [ebp - 0xdc]
mov byte [ebp + eax - 0x20c], 0
jmp 0x10019c87
push dword [ebp - 0x2b8]
push dword [ebp - 0x2c0]
call fcn.10017382
pop ecx
pop ecx
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x19c]
mov dword [eax + 8], ecx
push 0x7ed1
push 0
push 0x497a
push 0x78e2
push 0
push 0x4204
push 0x54a5
push 0x6303
push 0x46d3
lea eax, [ebp - 0x19c]
push eax
push 1
lea eax, [ebp - 0x10]
push eax
call fcn.1001898d
add esp, 0x30
and dword [ebp - 0xb4], 0
lea eax, [ebp - 0x10]
push eax
push 0x6fe7
push 0x1913
push 0
push 0x2dc0
lea eax, [ebp - 0xb4]
push eax
push 0x1fd9
push 1
push 0x363d
call fcn.10018e3b
add esp, 0x24
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0xb4]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x294], 0x1c20
cmp dword [ebp - 0x294], 0x11a9
jge 0x1001a1cf
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x68]
push eax
push 0x100079cc
call fcn.1005274a
add esp, 0xc
and dword [ebp - 0x220], 0
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x74]
lea ecx, [ebp - 0x2d4]
call fcn.1001dd0f
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x228], eax
mov dword [ebp - 4], 4
push dword [ebp - 0x228]
push dword [ebp - 0x68]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddd0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2d4]
call fcn.1000b576
mov dword [ebp - 0x250], SysReAllocStringLen
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x68]
lea ecx, [ebp - 0x1e8]
call fcn.1001dd0f
mov byte [ebp - 4], 7
mov dword [ebp - 0x230], SysReAllocStringLen
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x74]
lea ecx, [ebp - 0x1dc]
call fcn.1001dd0f
mov byte [ebp - 4], 8
and dword [ebp - 0x44], 0
jmp 0x10019e37
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x68]
jge 0x10019f83
and dword [ebp - 0x48], 0
jmp 0x10019e50
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x74]
jge 0x10019f7e
push dword [ebp - 0x48]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf7
mov ecx, eax
call fcn.1000b57b
push eax
push 0x10007940
call fcn.1005274a
pop ecx
pop ecx
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1e8]
call fcn.1000b57b
mov esi, eax
push dword [ebp - 0x48]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf7
mov ecx, eax
call fcn.1000b57b
mov ecx, dword [esi]
cmp ecx, dword [eax]
jge 0x10019ec7
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1e8]
call fcn.1000b57b
mov eax, dword [eax]
mov dword [ebp - 0x1c0], eax
jmp 0x10019ee7
push dword [ebp - 0x48]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf7
mov ecx, eax
call fcn.1000b57b
mov eax, dword [eax]
mov dword [ebp - 0x1c0], eax
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1e8]
call fcn.1000b57b
mov ecx, dword [ebp - 0x1c0]
mov dword [eax], ecx
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1dc]
call fcn.1000b57b
mov esi, eax
push dword [ebp - 0x48]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf7
mov ecx, eax
call fcn.1000b57b
mov ecx, dword [esi]
cmp ecx, dword [eax]
jge 0x10019f43
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1dc]
call fcn.1000b57b
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
jmp 0x10019f63
push dword [ebp - 0x48]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf7
mov ecx, eax
call fcn.1000b57b
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1dc]
call fcn.1000b57b
mov ecx, dword [ebp - 0x1d0]
mov dword [eax], ecx
jmp 0x10019e49
jmp 0x10019e30
mov byte [ebp - 0x21], 1
and dword [ebp - 0xb0], 0
jmp 0x10019f9d
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0x68]
jge 0x1001a030
movzx eax, byte [ebp - 0x21]
test eax, eax
jne 0x10019fb6
jmp 0x1001a030
and dword [ebp - 0xb8], 0
jmp 0x10019fcc
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0x74]
jge 0x1001a02b
push dword [ebp - 0xb8]
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf7
mov ecx, eax
call fcn.1000b57b
mov esi, eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x1e8]
call fcn.1000b57b
mov edi, eax
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x1dc]
call fcn.1000b57b
mov ecx, dword [edi]
add ecx, dword [eax]
cmp dword [esi], ecx
je 0x1001a029
mov byte [ebp - 0x21], 0
jmp 0x1001a02b
jmp 0x10019fbf
jmp 0x10019f90
movzx eax, byte [ebp - 0x21]
test eax, eax
jne 0x1001a043
push 0x1000799c
call fcn.10053214
pop ecx
and dword [ebp - 0xd8], 0
and dword [ebp - 0xd0], 0
jmp 0x1001a060
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x68]
jge 0x1001a08c
push dword [ebp - 0xd0]
lea ecx, [ebp - 0x1e8]
call fcn.1000b57b
mov ecx, dword [ebp - 0xd8]
add ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
jmp 0x1001a053
and dword [ebp - 0xd4], 0
jmp 0x1001a0a2
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x74]
jge 0x1001a0ce
push dword [ebp - 0xd4]
lea ecx, [ebp - 0x1dc]
call fcn.1000b57b
mov ecx, dword [ebp - 0xd8]
add ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
jmp 0x1001a095
and dword [ebp - 0xac], 0
jmp 0x1001a0e4
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x68]
jge 0x1001a138
and dword [ebp - 0x168], 0
jmp 0x1001a105
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x168], eax
push dword [ebp - 0xac]
lea ecx, [ebp - 0x1e8]
call fcn.1000b57b
mov ecx, dword [ebp - 0x168]
cmp ecx, dword [eax]
jge 0x1001a136
mov eax, dword [ebp - 0xac]
inc eax
push eax
push 0x10007a1c
call fcn.10050d7d
pop ecx
pop ecx
jmp 0x1001a0f8
jmp 0x1001a0d7
and dword [ebp - 0xa8], 0
jmp 0x1001a14e
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x74]
jge 0x1001a1a2
and dword [ebp - 0x180], 0
jmp 0x1001a16f
mov eax, dword [ebp - 0x180]
inc eax
mov dword [ebp - 0x180], eax
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x1dc]
call fcn.1000b57b
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [eax]
jge 0x1001a1a0
mov eax, dword [ebp - 0xa8]
inc eax
push eax
push 0x10007a28
call fcn.10050d7d
pop ecx
pop ecx
jmp 0x1001a162
jmp 0x1001a141
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1dc]
call fcn.1000b576
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1e8]
call fcn.1000b576
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f4]
call fcn.1001ddf2
and dword [ebp - 0xa4], 0
jmp 0x1001a1e5
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x6c]
jge 0x1001a4d3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
sub eax, dword [ecx + 0x18]
cmp dword [ebp - 0xa4], eax
jae 0x1001a228
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0x1c]
add ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1a0], eax
jmp 0x1001a452
push 0x183c
push 0x44ea
push 0x359a
push 0x3c39
push 0x1455
push 0
push 0x4d18
lea eax, [ebp - 0x60]
push eax
push 0
push 0x5e2c
push 0x3095
push 0x64c3
push 0x1d0f
push 0x24bc
push 1
lea eax, [ebp - 0x1a0]
push eax
call fcn.10018b01
add esp, 0x40
mov dword [ebp - 0x258], 0x17ae
cmp dword [ebp - 0x258], 0x65c
jge 0x1001a452
xor eax, eax
inc eax
je 0x1001a452
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x170]
push eax
push 0x10007960
call fcn.1005274a
add esp, 0x10
cmp dword [ebp - 0x170], 0
jne 0x1001a2c8
jmp 0x1001a452
and dword [ebp - 0xc0], 0
jmp 0x1001a2de
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0x170]
jge 0x1001a30a
imul eax, dword [ebp - 0xc0], 0x95
add eax, 0x11e266b8
push eax
push 0x10007a34
call fcn.1005274a
pop ecx
pop ecx
jmp 0x1001a2d1
push 0x15ae4
push 0xffffffffffffffff
push 0x119dd808
call fcn.10023b06
add esp, 0xc
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
imul eax, dword [ebp - 0x30], 0x254
mov ecx, dword [ebp - 0x1c]
and dword [eax + ecx*4 + 0x119dd808], 0
xor eax, eax
inc eax
je 0x1001a44d
imul eax, dword [ebp - 0x30], 0x95
mov ecx, dword [ebp - 0x1c]
movsx eax, byte [eax + ecx + 0x11e266b8]
cmp eax, 0x4e
jne 0x1001a36a
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jmp 0x1001a3b1
imul eax, dword [ebp - 0x30], 0x95
mov ecx, dword [ebp - 0x1c]
movsx eax, byte [eax + ecx + 0x11e266b8]
cmp eax, 0x53
jne 0x1001a38a
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
jmp 0x1001a3b1
imul eax, dword [ebp - 0x30], 0x95
mov ecx, dword [ebp - 0x1c]
movsx eax, byte [eax + ecx + 0x11e266b8]
cmp eax, 0x45
jne 0x1001a3aa
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x1001a3b1
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x30], 0
jl 0x1001a3da
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x170]
jge 0x1001a3da
cmp dword [ebp - 0x1c], 0
jl 0x1001a3da
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x238]
jl 0x1001a3eb
push dword [ebp - 0x64]
push 0x10007a38
call fcn.10050d7d
pop ecx
pop ecx
jmp 0x1001a44d
imul eax, dword [ebp - 0x30], 0x254
mov ecx, dword [ebp - 0x1c]
cmp dword [eax + ecx*4 + 0x119dd808], 0xffffffff
je 0x1001a434
imul eax, dword [ebp - 0x30], 0x254
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x64]
sub edx, dword [eax + ecx*4 + 0x119dd808]
push edx
imul eax, dword [ebp - 0x30], 0x254
mov ecx, dword [ebp - 0x1c]
push dword [eax + ecx*4 + 0x119dd808]
push 0x10007a4c
call fcn.10050d7d
add esp, 0xc
jmp 0x1001a44d
imul eax, dword [ebp - 0x30], 0x254
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x64]
mov dword [eax + ecx*4 + 0x119dd808], edx
jmp 0x1001a341
jmp 0x1001a292
push 0x2dcf
push 0x16d5
push 0x314d
push 0x435
push 0x7a27
push 1
lea eax, [ebp - 0x2c]
push eax
push 0x413a
push 0
lea eax, [ebp - 0x14]
push eax
push 0x7639
push 0x1e11
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1a0]
push eax
push 1
push 0x41dd
call fcn.10018b01
add esp, 0x40
push 0
lea eax, [ebp - 0x14]
push eax
push 0x226
push 0x5aea
push 0x486b
push 0x4610
push 0
push 0x6b27
push 0x380
call fcn.10018fc1
add esp, 0x24
jmp 0x1001a1d8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
sub eax, dword [ebp - 0xb4]
mov dword [ebp - 0x6c], eax
and dword [ebp - 0x158], 0
jmp 0x1001a50a
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x6c]
jge 0x1001a57d
push 0x735d
push 1
push 0xbd8
lea eax, [ebp - 0x28]
push eax
push 0
lea eax, [ebp - 0x14]
push eax
push 0x72d0
lea eax, [ebp - 0x2c]
push eax
push 0x7253
push 0x2c8f
push 1
push 0x367e
call fcn.1001898d
add esp, 0x30
push 0x241e
lea eax, [ebp - 0x14]
push eax
push 0x2e79
push 0x74f7
push 1
push 0x1467
push 0
push 0x5155
push 0x33ed
call fcn.10019182
add esp, 0x24
jmp 0x1001a4fd
push 0x1a02
lea eax, [ebp - 0x10]
push eax
push 0x2e11
push 0x8ad
push 0x4557
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x14]
push eax
push 0
push 0x67d8
push 0x448
push 0x610b
push 0x14f
push 0
call fcn.10018cde
add esp, 0x34
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
sub eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x18], eax
and dword [ebp - 0xc4], 0
jmp 0x1001a5e5
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x6c]
jge 0x1001a669
lea eax, [ebp - 0x28]
push eax
push 0x630e
push 0x7e33
push 0x6634
lea eax, [ebp - 0x10]
push eax
push 0x6474
push 0x748b
push 0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x591d
push 1
call fcn.10018cde
add esp, 0x34
push 0x1a0e
push 0x7391
lea eax, [ebp - 0x14]
push eax
push 0
push 0x7035
push 0x3ef1
push 0x573e
push 0x61d7
push 1
push 0x60ed
call fcn.1001909c
add esp, 0x28
jmp 0x1001a5d8
push 0x60f1
push 1
lea eax, [ebp - 0x6c]
push eax
push 0x68a1
push 1
push 0x18cb
lea eax, [ebp - 0x14]
push eax
push 0x19df
lea eax, [ebp - 0x10]
push eax
push 0x2294
push 0
push 0x598
call fcn.1001898d
add esp, 0x30
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x2ec]
call fcn.1001db3f
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x2ec]
call fcn.1000b0d9
mov dword [ebp - 0x198], eax
push dword [ebp - 0x198]
mov eax, dword [ebp - 0x198]
shr eax, 1
push eax
call fcn.10017382
pop ecx
pop ecx
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x8c], 0
mov byte [ebp - 0x8b], 0x47
mov byte [ebp - 0x8a], 0xc
mov byte [ebp - 0x89], 0x22
mov byte [ebp - 0x88], 0x57
mov byte [ebp - 0x87], 0x35
mov byte [ebp - 0x86], 0x8a
mov byte [ebp - 0x85], 0xc2
mov byte [ebp - 0x84], 0x34
mov byte [ebp - 0x83], 0x93
mov byte [ebp - 0x82], 0x96
mov byte [ebp - 0x81], 0xa3
mov byte [ebp - 0x80], 0xc
mov byte [ebp - 0x7f], 0xf6
mov byte [ebp - 0x7e], 0x91
mov byte [ebp - 0x7d], 3
mov byte [ebp - 0x7c], 0x42
mov byte [ebp - 0x7b], 2
mov byte [ebp - 0x7a], 0
mov byte [ebp - 0x79], 1
mov byte [ebp - 0x78], 8
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x8c]
or eax, 0x69
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x8c]
and ecx, 0x69
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x8c]
mov byte [ebp + ecx - 0x94], al
mov dword [ebp - 0x20], 2
and dword [ebp - 0x9c], 0
jmp 0x1001a7b6
mov eax, dword [ebp - 0x20]
inc eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x15
jae 0x1001a894
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x8c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x20], eax
jne 0x1001a800
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x8c]
inc eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x8c]
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x20], eax
jmp 0x1001a7ae
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x8b]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x9c]
movzx ecx, byte [ebp + ecx - 0x8e]
movsx ecx, byte [ebp + ecx - 0x94]
add eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x8b]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x9c]
movzx edx, byte [ebp + edx - 0x8e]
movsx edx, byte [ebp + edx - 0x94]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x8b]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x9c]
movzx edx, byte [ebp + edx - 0x8e]
movsx edx, byte [ebp + edx - 0x94]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x8c]
mov byte [ebp + ecx - 0x94], al
and dword [ebp - 0x9c], 0
jmp 0x1001a7ae
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x94], 0
cmp dword [ebp - 0x98], 4
jle 0x1001a962
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x34c]
call fcn.1001db3f
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x18]
or eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x98]
sub eax, 4
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.10017792
pop ecx
pop ecx
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x18]
or eax, 2
mov dword [ebp - 0x18], eax
push dword [ebp - 0x244]
mov edx, dword [ebp - 0x27c]
lea ecx, [ebp - 0x364]
call fcn.1001f25e
pop ecx
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 4], 0xc
mov eax, dword [ebp - 0x18]
or eax, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x1c8], eax
jmp 0x1001a991
push dword [ebp - 0x98]
lea eax, [ebp - 0x334]
push eax
call fcn.10017792
pop ecx
pop ecx
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x18]
or eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x218], eax
push dword [ebp - 0x218]
lea ecx, [ebp - 0x304]
call fcn.1001db6e
mov dword [ebp - 4], 0xd
mov eax, dword [ebp - 0x18]
and eax, 8
je 0x1001a9cc
and dword [ebp - 0x18], 0xfffffff7
lea ecx, [ebp - 0x334]
call fcn.1001dbc7
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x18]
and eax, 4
je 0x1001a9e7
and dword [ebp - 0x18], 0xfffffffb
lea ecx, [ebp - 0x364]
call fcn.1001dbc7
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x18]
and eax, 2
je 0x1001aa02
and dword [ebp - 0x18], 0xfffffffd
lea ecx, [ebp - 0x394]
call fcn.1001dbc7
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x18]
and eax, 1
je 0x1001aa1d
and dword [ebp - 0x18], 0xfffffffe
lea ecx, [ebp - 0x34c]
call fcn.1001dbc7
and dword [ebp - 0xcc], 0
jmp 0x1001aa33
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 5
jae 0x1001aa4c
mov eax, dword [ebp - 0xcc]
mov byte [ebp + eax - 0x94], 0
jmp 0x1001aa26
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0xc], ecx
push 0
push dword [ebp - 0x98]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x304]
call fcn.1001dbed
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + eax], 0
lea eax, [ebp - 0x14]
push eax
push 1
push 0x335d
push 0x4c10
push 1
push 0x4eeb
push 0xc93
push 0x13cd
push 0x2281
push 0x99f
push 1
push 0x5c8b
call fcn.1001898d
add esp, 0x30
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18], 0
jbe 0x1001ab26
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x10]
xor edx, edx
div dword [ecx + 0x18]
cmp eax, 0xc
jbe 0x1001aafa
mov dword [ebp - 0x1ac], 0xc
jmp 0x1001ab18
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x10]
xor edx, edx
div dword [ecx + 0x18]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
jmp 0x1001ab2d
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b4], eax
and dword [ebp - 0xbc], 0
jmp 0x1001ab4f
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [eax + 0x18]
jae 0x1001ac8f
push dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.10017382
pop ecx
pop ecx
mov dword [ebp - 0x15c], eax
push dword [ebp - 0x15c]
lea eax, [ebp - 0x31c]
push eax
call fcn.10017792
pop ecx
pop ecx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0x20]
add ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x15c]
push eax
push 0x7bd8
push 0x7ed
lea eax, [ebp - 0x14]
push eax
push 1
push 0x799c
push 0x13b4
push 1
push 0x5e75
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x31c]
push eax
push 0x906
push 0x25b1
push 1
push 0x595f
call fcn.10018b01
add esp, 0x40
push 0
push 0x3f90
lea eax, [ebp - 0x15c]
push eax
push 0x7f75
push 0x6be6
lea eax, [ebp - 0x14]
push eax
push 1
push 0x3fc4
push 0x76ba
call fcn.10018fc1
add esp, 0x24
push 0x54be
lea eax, [ebp - 0x2c]
push eax
push 0x5e11
push 1
push 0x5f84
push 0x1ab3
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [ebp - 0x28]
push eax
call fcn.10018e3b
add esp, 0x24
push 0x23be
push 0xbe8
lea eax, [ebp - 0x14]
push eax
push 1
push 0x41f4
push 1
call fcn.10018f1e
add esp, 0x18
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x31c]
call fcn.1001dbc7
jmp 0x1001ab42
and dword [ebp - 0xa0], 0
jmp 0x1001aca5
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, ecx
cmp dword [ebp - 0xa0], eax
jae 0x1001acf2
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x1c82
push 1
push 0x488f
push 0x56a7
lea eax, [ebp - 0x2c]
push eax
push 0x641e
push 1
lea eax, [ebp - 0x14]
push eax
call fcn.1001909c
add esp, 0x28
jmp 0x1001ac98
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 4], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x304]
call fcn.1001dbc7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2ec]
call fcn.1001dbc7
jmp 0x1001ad4f
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp - 0x1b8]
mov dword [ecx], eax
jmp 0x1001aec7
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x264], 0x21b3
cmp dword [ebp - 0x264], 0x495
jge 0x1001ae95
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x18c]
push eax
push 0x10007970
call fcn.1005274a
add esp, 0x10
mov eax, dword [ebp - 0x188]
cmp eax, dword [ebp - 0x190]
jg 0x1001adf5
jl 0x1001addb
mov eax, dword [ebp - 0x18c]
cmp eax, dword [ebp - 0x194]
jae 0x1001adf5
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x1a4], eax
jmp 0x1001ae0d
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x18c]
cmp eax, dword [ebp - 0x194]
jne 0x1001ae29
mov eax, dword [ebp - 0x188]
cmp eax, dword [ebp - 0x190]
je 0x1001ae3c
mov dword [ebp - 0x214], 1
and dword [ebp - 0x210], 0
jmp 0x1001ae48
xorpd xmm0, xmm0
movlpd qword [ebp - 0x214], xmm0
push 0
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
call fcn.100568b0
mov esi, eax
mov edi, edx
push 0
push 2
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
call fcn.100568b0
add esi, eax
adc edi, edx
add esi, dword [ebp - 0x214]
adc edi, dword [ebp - 0x210]
push edi
push esi
push 0x10007980
call fcn.10050d7d
add esp, 0xc
push dword [ebp - 0x28c]
push 0x38b9
push dword [ebp - 0x26c]
push 0x49bb
push dword [ebp - 0x2bc]
push 1
push dword [ebp - 0x274]
push dword [ebp - 0x23c]
call fcn.10018aba
add esp, 0x20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret