Function at 0x1000f60c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x13c
push ebx
push ebp
mov ebp, dword [esp + 0x148]
mov eax, dword [ebp + 0x734]
mov ecx, eax
shr ecx, 1
not ecx
mov edx, 1
and ecx, edx
mov dword [esp + 0xa8], ecx
mov ecx, eax
push esi
shr ecx, 0x12
push edi
xor edi, edi
and ecx, edx
test eax, 0x10000
mov dword [esp + 0x40], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0xa0], edi
jne 0x1000e93c
mov dword [esp + 0xa4], edi
jmp 0x1000e954
mov eax, dword [ebp + 0x790]
cmp eax, edx
mov dword [esp + 0xa4], eax
ja 0x1000e954
mov dword [esp + 0xa4], edx
test dword [ebp + 0x738], 0x800000
mov dword [esp + 0x78], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xb4], edi
mov dword [ebp + 0xc], edi
mov ebx, 0xffffe482
je 0x1000e997
xor esi, esi
mov dword [esp + 0x18], esi
jmp 0x1000e9fc
mov esi, dword [ebp + 0x748]
cmp esi, edi
mov dword [esp + 0x18], esi
jne 0x1000e9b0
mov esi, edx
mov dword [esp + 0x18], esi
jmp 0x1000e9b0
cmp esi, 1
jb 0x1000e9ba
cmp esi, 7
jbe 0x1000e9e5
cmp esi, 8
je 0x1000e9e5
cmp esi, 0x80b2
je 0x1000e9e5
cmp esi, 0x8005
je 0x1000e9e5
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], ebx
call fcn.100179e7
add esp, 8
jmp 0x1000e9b0
cmp esi, 3
jne 0x1000e9fc
xor ecx, ecx
cmp byte [ebp + 0x76a], cl
setne cl
mov dword [esp + 0x88], ecx
mov edx, dword [ebp + 0x75c]
and edx, 0xff000000
neg edx
sbb edx, edx
neg edx
mov dword [0x169bfa8c], edx
mov dword [0x169bfa88], ebp
call fcn.10012a10
cmp esi, edi
je 0x1000eb4a
test byte [ebp + 0x734], 8
je 0x1000eadd
push 0x169ba0bc
push edi
lea esi, [ebp + 0x14]
push 0x28
push esi
call fcn.10012c90
mov eax, dword [esi]
add esp, 0x10
cmp eax, 0x28
je 0x1000ea7d
ja 0x1000ea6f
mov ebx, 0xffffe432
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], ebx
call fcn.100179e7
add esp, 8
cmp dword [esi], 0x28
jbe 0x1000ea56
mov ecx, dword [esi]
sub ecx, 0x28
push ecx
call fcn.10012d90
add esp, 4
movzx ecx, word [ebp + 0x22]
cmp cx, 8
ja 0x1000ea96
cmp dword [ebp + 0x34], edi
jne 0x1000ea96
mov edx, 1
shl edx, cl
mov dword [ebp + 0x34], edx
mov eax, dword [ebp + 0x34]
cmp eax, edi
je 0x1000eadd
mov ebx, 0x440
cmp eax, ebx
jbe 0x1000eac9
mov esi, 0xffffe464
jmp 0x1000eab0
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
cmp dword [ebp + 0x34], ebx
ja 0x1000eab0
mov ecx, dword [ebp + 0x34]
add ecx, ecx
add ecx, ecx
push ecx
lea edx, [ebp + 0x3c]
push edx
call fcn.10012bc0
add esp, 8
mov eax, dword [ebp + 0x1c]
push eax
call fcn.10017be0
movzx edi, word [ebp + 0x22]
mov ecx, dword [ebp + 0x18]
add esp, 4
cmp edi, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], edi
mov esi, 0xfffffb4f
je 0x1000ecd5
lea ebx, [ebx]
cmp edi, 4
je 0x1000ecd5
cmp edi, 8
je 0x1000ecd5
cmp edi, 0x18
je 0x1000ecd5
cmp edi, 0x20
je 0x1000ed02
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000eb10
mov ecx, dword [ebp + 0x4a4]
mov eax, dword [ebp + 0x4a8]
lea edx, [esp + 0xb4]
push edx
sub eax, ecx
lea edx, [esp + 0xa0]
push edx
push eax
mov dword [esp + 0xb4], eax
push ecx
lea eax, [esp + 0x100]
push eax
mov dword [esp + 0x94], ecx
call fcn.100086c0
mov esi, eax
add esp, 0x14
cmp esi, edi
je 0x1000eba6
mov edi, edi
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000eb90
mov eax, dword [esp + 0xf0]
cmp eax, 0xc0
mov esi, 0xfffffa0e
je 0x1000ebf0
lea esp, [esp]
cmp eax, 0xc1
je 0x1000ebf0
cmp eax, 0xc2
je 0x1000ebf0
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
mov eax, dword [esp + 0xf8]
add esp, 8
cmp eax, 0xc0
jne 0x1000ebc0
mov ebx, 8
cmp dword [esp + 0xfc], ebx
je 0x1000ec1d
mov edi, edi
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
cmp dword [esp + 0xfc], ebx
jne 0x1000ec00
mov ecx, dword [esp + 0x100]
cmp ecx, 1
je 0x1000ec55
lea esp, [esp]
cmp ecx, 3
je 0x1000ec60
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.100179e7
mov ecx, dword [esp + 0x108]
add esp, 8
cmp ecx, 1
jne 0x1000ec30
cmp ecx, 3
jne 0x1000ec8f
lea ebx, [ebx]
cmp dword [esp + 0x108], edi
je 0x1000ec72
cmp dword [esp + 0x10c], edi
jne 0x1000ec88
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000ec60
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov dword [ebp + 0x18], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xfc]
imul eax, ecx
movzx edi, ax
mov dword [ebp + 0x1c], edx
mov dword [esp + 0x28], edx
mov word [ebp + 0x22], ax
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x44], 1
jmp 0x1000efb3
cmp edi, 0x20
je 0x1000ed02
mov esi, 0xffffe421
mov ebx, 0x1000
test dword [ebp + 0x738], ebx
je 0x1000ed02
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000ece4
mov ebx, dword [esp + 0x18]
cmp ebx, 5
je 0x1000ed18
cmp ebx, 8
je 0x1000ed18
cmp ebx, 0x80b2
jne 0x1000ed51
cmp dword [ebp + 0x77c], 1
jle 0x1000ed51
mov esi, 0xffffe440
cmp dword [ebp + 0x77c], 2
jne 0x1000ed34
cmp edi, 8
jae 0x1000ed51
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
cmp dword [ebp + 0x77c], 1
jg 0x1000ed26
mov esi, 0xfffffc04
cmp dword [esp + 0x1c], 0
je 0x1000ed64
cmp dword [esp + 0x28], 0
jne 0x1000ed7a
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000ed56
cmp edi, 8
ja 0x1000ee20
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x1000ed97
mov edx, 1
mov ecx, edi
shl edx, cl
cmp eax, edx
jbe 0x1000eda3
mov eax, 1
mov ecx, edi
shl eax, cl
mov dword [ebp + 0x34], eax
lea ecx, [ebp + 0x3c]
push ecx
lea ecx, [ebp + 0x14]
call fcn.1000db80
add esp, 4
test eax, eax
je 0x1000ee16
cmp ebx, 6
mov dword [esp + 0x24], 1
jne 0x1000edd1
cmp edi, 4
jne 0x1000edd1
mov edi, 8
mov dword [esp + 0x34], edi
xor esi, esi
lea ecx, [ebx - 2]
cmp ecx, 2
mov dword [0x169bfad4], esi
ja 0x1000ef77
cmp edi, 1
mov dword [esp + 0x50], esi
mov dword [esp + 0x24], 1
je 0x1000ef06
mov esi, 0xfffffb4f
nop
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000ee00
mov dword [esp + 0x50], 1
jmp 0x1000edd1
cmp edi, 0x20
mov dword [ebp + 0x34], 0
jne 0x1000edd1
mov ecx, dword [ebp + 0x75c]
mov eax, ecx
xor esi, esi
and eax, 6
cmp eax, 6
mov dword [esp + 0x98], esi
mov dword [esp + 0x20], esi
ja 0x1000ee5f
jmp dword [eax*4 + 0x169b1a34]
mov ecx, dword [ebp + 0x738]
mov eax, ecx
shr eax, 0xe
and eax, 1
test esi, esi
mov dword [esp + 0xb8], eax
je 0x1000eeb8
test ecx, 0x1000
jne 0x1000eeb8
mov dword [esp + 0x94], 1
jmp 0x1000edd1
cmp ebx, 1
je 0x1000edd1
mov esi, 0xffffe482
cmp ebx, 5
je 0x1000edd1
cmp ebx, 8
je 0x1000edd1
cmp ebx, 0x80b2
je 0x1000edd1
cmp ebx, 0x8005
je 0x1000edd1
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000eec6
movzx eax, byte [ebp + 0x41]
movzx ecx, byte [ebp + 0x42]
imul eax, eax, 0x96
movzx edx, byte [ebp + 0x40]
imul ecx, ecx, 0x4d
imul edx, edx, 0x1d
add eax, ecx
movzx ecx, byte [ebp + 0x3d]
lea eax, [eax + edx + 0x80]
imul ecx, ecx, 0x96
movzx edx, byte [ebp + 0x3e]
imul edx, edx, 0x4d
add ecx, edx
movzx edx, byte [ebp + 0x3c]
imul edx, edx, 0x1d
lea ecx, [ecx + edx + 0x80]
and eax, 0xffffff00
xor edx, edx
and ecx, 0xffffff00
cmp ecx, eax
setg dl
mov eax, edx
mov dword [0x169bfad4], eax
cmp byte [ebp + 0x769], 0
je 0x1000ef77
xor ecx, ecx
cmp eax, esi
sete cl
mov dword [0x169bfad4], ecx
mov esi, 0xffff01
test dword [ebp + 0x75c], esi
je 0x1000efb7
mov ebx, 0xffffe431
lea esp, [esp]
cmp dword [esp + 0x20], 0
jne 0x1000efb3
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], ebx
call fcn.100179e7
add esp, 8
test dword [ebp + 0x75c], esi
jne 0x1000ef90
mov ebx, dword [esp + 0x18]
mov esi, 1
call fcn.10013010
test dword [ebp + 0x734], 0x800000
jne 0x1000f13f
cmp dword [0x169bfa8c], 0
mov eax, dword [0x169bfa7c]
jne 0x1000f018
cmp eax, dword [0x169bfa80]
jae 0x1000eff2
mov byte [eax], 0x49
add dword [0x169bfa7c], esi
jmp 0x1000effc
push 0x49
call fcn.100135b0
add esp, 4
mov eax, dword [0x169bfa7c]
cmp eax, dword [0x169bfa80]
jae 0x1000f014
mov byte [eax], 0x49
add dword [0x169bfa7c], esi
jmp 0x1000f057
push 0x49
jmp 0x1000f04f
cmp eax, dword [0x169bfa80]
jae 0x1000f02b
mov byte [eax], 0x4d
add dword [0x169bfa7c], esi
jmp 0x1000f035
push 0x4d
call fcn.100135b0
add esp, 4
mov eax, dword [0x169bfa7c]
cmp eax, dword [0x169bfa80]
jae 0x1000f04d
mov byte [eax], 0x4d
add dword [0x169bfa7c], esi
jmp 0x1000f057
push 0x4d
call fcn.100135b0
add esp, 4
mov eax, dword [0x169bfa7c]
add eax, 2
cmp eax, dword [0x169bfa80]
jb 0x1000f089
mov eax, dword [0x169bfa8c]
sub eax, dword [0x169bf9e4]
neg eax
sbb eax, eax
and eax, 0x29d6
add eax, 0x2a
push eax
call fcn.10013c90
add esp, 4
jmp 0x1000f0ab
mov ecx, dword [0x169bfa8c]
sub ecx, dword [0x169bf9e4]
mov dword [0x169bfa7c], eax
neg ecx
sbb ecx, ecx
and ecx, 0x29d6
add ecx, 0x2a
mov word [eax - 2], cx
mov dword [ebp + 0x794], 8
mov eax, dword [0x169bfa7c]
add eax, 4
cmp eax, dword [0x169bfa80]
jb 0x1000f0ea
mov eax, dword [0x169bfa8c]
sub eax, dword [0x169bf9e4]
neg eax
sbb eax, eax
and eax, 0x7fffff8
add eax, 8
push eax
call fcn.10013cb0
add esp, 4
jmp 0x1000f4ca
mov edx, dword [0x169bfa8c]
cmp edx, dword [0x169bf9e4]
mov esi, eax
mov dword [0x169bfa7c], esi
jne 0x1000f10e
mov eax, dword [ebp + 0x794]
mov dword [esi - 4], eax
jmp 0x1000f4ca
mov ecx, dword [ebp + 0x794]
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
xor edx, edx
mov dword [esp + 0x30], ecx
mov dh, byte [esp + 0x32]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
mov dword [esi - 4], eax
jmp 0x1000f4ca
mov eax, dword [ebp + 0x764]
test eax, eax
mov dword [esp + 0x60], eax
jne 0x1000f15f
test byte [ebp + 0x4d0], 1
je 0x1000f15f
call fcn.10012750
mov dword [esp + 0x60], eax
mov al, byte [ebp + 0x79c]
or dword [ebp + 0x4d0], 0x20
test al, al
jne 0x1000f19e
push 0
push 0
call fcn.10013de0
mov eax, dword [0x169bfa7c]
add eax, 2
add esp, 8
cmp eax, dword [0x169bfa80]
jbe 0x1000f193
call fcn.10014140
jmp 0x1000f1a7
mov dword [0x169bfa7c], eax
movzx eax, word [eax - 2]
jmp 0x1000f1aa
movzx ax, al
imul ax, ax, 0x101
movzx eax, ax
cmp ax, 0x4949
mov esi, 0xffffe4a2
jne 0x1000f1c1
mov dword [0x169bfa8c], 0
jmp 0x1000f1e7
cmp ax, 0x4d4d
jne 0x1000f1d3
mov dword [0x169bfa8c], 1
jmp 0x1000f1e7
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
cmp byte [ebp + 0x79c], 0
jne 0x1000f25a
mov eax, dword [0x169bfa7c]
add eax, 2
cmp eax, dword [0x169bfa80]
jbe 0x1000f20a
call fcn.10014140
movzx ebx, ax
jmp 0x1000f220
mov dword [0x169bfa7c], eax
movzx ebx, word [eax - 2]
jmp 0x1000f220
mov edx, dword [0x169bfa8c]
cmp edx, dword [0x169bf9e4]
jne 0x1000f233
movzx eax, bx
jmp 0x1000f23e
movzx ecx, bl
movzx eax, bh
shl ecx, 8
add eax, ecx
cmp ax, 0x2a
je 0x1000f25a
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x1000f220
mov eax, dword [ebp + 0x798]
test eax, eax
je 0x1000f340
cmp eax, 4
je 0x1000f2f4
push eax
call fcn.10014160
mov ecx, dword [0x169bfa8c]
add esp, 4
cmp ecx, dword [0x169bf9e4]
movzx eax, ax
je 0x1000f29d
movzx dx, ah
movzx ax, al
shl ax, 8
add dx, ax
movzx eax, dx
mov edx, dword [ebp + 0x798]
movzx eax, ax
lea ecx, [eax + eax*2]
lea edi, [edx + ecx*4 + 2]
push edi
call fcn.100141c0
mov ecx, dword [0x169bfa8c]
add esp, 4
cmp ecx, dword [0x169bf9e4]
mov dword [esp + 0x2c], eax
je 0x1000f3f5
mov edx, eax
shl edx, 0x10
mov ecx, eax
and ecx, 0xff00
add edx, ecx
xor ecx, ecx
mov ch, byte [esp + 0x2e]
shl edx, 8
shr eax, 0x18
add edx, ecx
add edx, eax
mov dword [esp + 0x2c], edx
jmp 0x1000f3f5
mov edi, 4
push edi
call fcn.100141c0
mov edx, dword [0x169bfa8c]
add esp, 4
cmp edx, dword [0x169bf9e4]
mov dword [esp + 0x2c], eax
je 0x1000f3f5
mov ecx, eax
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x2e]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x1000f3f5
push 0
push 4
call fcn.10013de0
add esp, 8
call fcn.10012750
mov edi, eax
mov eax, dword [0x169bfa7c]
add eax, 4
cmp eax, dword [0x169bfa80]
jbe 0x1000f36c
call fcn.100141a0
mov esi, eax
jmp 0x1000f374
mov dword [0x169bfa7c], eax
mov esi, dword [eax - 4]
test esi, esi
mov dword [esp + 0x30], esi
je 0x1000f3f5
lea esp, [esp]
mov eax, dword [0x169bfa8c]
cmp eax, dword [0x169bf9e4]
je 0x1000f3ac
xor eax, eax
mov ah, byte [esp + 0x32]
mov ecx, esi
mov edx, esi
shl ecx, 0x10
and edx, 0xff00
add ecx, edx
shl ecx, 8
add ecx, eax
shr esi, 0x18
add esi, ecx
push esi
call fcn.10014160
mov ecx, dword [0x169bfa8c]
add esp, 4
cmp ecx, dword [0x169bf9e4]
movzx eax, ax
je 0x1000f3d8
movzx dx, ah
movzx ax, al
shl ax, 8
add dx, ax
movzx eax, dx
movzx eax, ax
lea ecx, [eax + eax*2]
lea edi, [esi + ecx*4 + 2]
push edi
call fcn.100141c0
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x30], esi
jne 0x1000f380
mov esi, dword [esp + 0x60]
test esi, esi
jne 0x1000f409
call fcn.10014010
call fcn.10012750
mov esi, eax
push 0
push edi
call fcn.10013870
push ebp
push esi
call fcn.100050a0
mov dword [ebp + 0x794], eax
mov ecx, dword [0x169bfa7c]
add ecx, 4
add esp, 0x10
cmp ecx, dword [0x169bfa80]
mov dword [esp + 0x10], eax
jb 0x1000f46e
mov edx, dword [0x169bfa8c]
cmp edx, dword [0x169bf9e4]
mov ecx, eax
je 0x1000f463
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x12]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
push ecx
call fcn.10013cb0
add esp, 4
jmp 0x1000f4b7
mov eax, dword [0x169bfa8c]
cmp eax, dword [0x169bf9e4]
mov edi, ecx
mov dword [0x169bfa7c], edi
jne 0x1000f48b
mov eax, dword [ebp + 0x794]
jmp 0x1000f4b4
mov ecx, dword [ebp + 0x794]
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
xor edx, edx
mov dword [esp + 0x30], ecx
mov dh, byte [esp + 0x32]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
mov dword [edi - 4], eax
push 0
push esi
call fcn.10013870
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x20]
add esp, 8
test ebx, ebx
je 0x1000f59d
cmp edi, 8
ja 0x1000f4e1
mov dword [esp + 0x3c], 1
jmp 0x1000f51d
cmp dword [esp + 0x20], 0
je 0x1000f4fc
mov eax, dword [esp + 0x70]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 4
mov dword [esp + 0x3c], eax
jmp 0x1000f51d
cmp edi, 0x20
jne 0x1000f515
mov eax, dword [esp + 0x94]
neg eax
sbb eax, eax
add eax, 4
mov dword [esp + 0x3c], eax
jmp 0x1000f51d
mov dword [esp + 0x3c], 3
mov ecx, dword [ebp + 0x76c]
mov eax, edi
imul eax, dword [esp + 0x1c]
add eax, 0x1f
shr eax, 3
and eax, 0x1ffffffc
test ecx, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], ecx
jne 0x1000f549
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x28]
lea eax, [eax + ecx - 1]
xor edx, edx
div ecx
mov dword [esp + 0x44], eax
xor eax, eax
cmp dword [esp + 0x70], eax
je 0x1000f571
mov dword [esp + 0x24], 1
mov dword [esp + 0x34], 8
cmp dword [esp + 0x94], eax
je 0x1000f582
mov dword [esp + 0x34], 0x18
cmp dword [esp + 0x24], eax
je 0x1000f593
or dword [ebp + 0x734], 1
mov dword [esp + 0x38], eax
cmp dword [esp + 0x20], eax
je 0x1000f59d
mov dword [esp + 0x38], eax
mov esi, dword [ebp + 0x4fc]
test esi, esi
je 0x1000f719
mov ecx, dword [ebp + 0x504]
lea ebx, [esi + 5]
add ecx, esi
cmp ebx, ecx
ja 0x1000f6d8
mov edi, edi
mov al, byte [esi]
test al, al
je 0x1000f6d8
mov edx, dword [esi + 1]
lea ecx, [esi + edx + 5]
mov edx, dword [ebp + 0x504]
add edx, dword [ebp + 0x4fc]
cmp ecx, edx
ja 0x1000f6d8
cmp al, 0x23
jne 0x1000f657
cmp byte [ebx], 1
je 0x1000f657
movzx eax, word [esi + 8]
movzx ecx, ax
add ecx, 0xffffffff
cmp cx, 0xb
ja 0x1000f657
mov ecx, dword [esi + 0xa]
movzx edx, word [esi + 6]
lea edi, [esi + 0xe]
push edi
push ecx
push eax
push edx
push 0
push 0x169c03ac
call fcn.10017830
add esp, 0x18
test eax, eax
jne 0x1000f657
nop
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], 0xffffe4a5
call fcn.100179e7
mov ecx, dword [esi + 0xa]
movzx edx, word [esi + 8]
movzx eax, word [esi + 6]
push edi
push ecx
push edx
push eax
push 0
push 0x169c03ac
call fcn.10017830
add esp, 0x20
test eax, eax
je 0x1000f620
cmp byte [esi], 0x2b
jne 0x1000f6ba
mov ecx, dword [esi + 0xb]
mov edx, dword [esi + 7]
movzx eax, byte [esi + 6]
lea edi, [esi + 0xf]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
push eax
push ecx
push 0x169c03ac
call fcn.10017650
add esp, 0x18
test eax, eax
jne 0x1000f6ba
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], 0xffffe4a5
call fcn.100179e7
mov eax, dword [esi + 0xb]
mov ecx, dword [esi + 7]
movzx edx, byte [esi + 6]
push edi
push eax
movzx eax, byte [ebx]
push ecx
push edx
push eax
push 0x169c03ac
call fcn.10017650
add esp, 0x20
test eax, eax
je 0x1000f682
mov ecx, dword [esi + 1]
mov edx, dword [ebp + 0x504]
add edx, dword [ebp + 0x4fc]
lea esi, [esi + ecx + 5]
lea ebx, [esi + 5]
cmp ebx, edx
jbe 0x1000f5c0
mov eax, dword [ebp + 0x504]
add eax, dword [ebp + 0x4fc]
cmp esi, eax
je 0x1000f719
mov edi, 0xfffffbf6
lea ecx, [ecx]
cmp byte [esi], 0
je 0x1000f719
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], edi
call fcn.100179e7
mov edx, dword [ebp + 0x504]
add edx, dword [ebp + 0x4fc]
add esp, 8
cmp esi, edx
jne 0x1000f6f0
mov eax, dword [esp + 0x1c]
cmp eax, 0x10000
push eax
mov esi, 0x100
jae 0x1000f731
call fcn.1000e830
jmp 0x1000f736
call fcn.1000e7e0
mov eax, dword [esp + 0x2c]
add esp, 4
cmp eax, 0x10000
push eax
mov esi, 0x101
jae 0x1000f751
call fcn.1000e830
jmp 0x1000f756
call fcn.1000e7e0
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
add esp, 4
test edi, edi
mov eax, ebx
jne 0x1000f774
mov eax, dword [esp + 0xfc]
jmp 0x1000f799
cmp edi, 6
je 0x1000f785
cmp edi, 7
je 0x1000f785
cmp ebx, 8
jle 0x1000f799
jmp 0x1000f794
xor ecx, ecx
cmp dword [esp + 0x24], ecx
sete cl
lea ecx, [ecx + ecx + 1]
mov esi, ecx
mov eax, 8
push 0x102
push 0
push 0x169c03ac
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], ax
mov word [esp + 0x20], ax
mov word [esp + 0x22], ax
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000f7d3
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x102
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1000f806
lea edx, [esp + 0x10]
push edx
push esi
push 3
push 0x102
push eax
push 0x169c03ac
call fcn.10017740
add esp, 0x18
test edi, edi
mov esi, 0x103
jne 0x1000f919
push 7
call fcn.1000e830
push edi
mov edi, dword [esp + 0x4c]
push edi
push 4
mov esi, 0x111
call fcn.1000de80
push 0
push edi
push 4
mov esi, 0x117
call fcn.1000de80
mov edi, dword [esp + 0x58]
push edi
mov esi, 0x115
call fcn.1000e830
mov eax, dword [esp + 0x8c]
push eax
mov esi, 0x116
call fcn.1000e7e0
add esp, 0x24
cmp edi, 3
jne 0x1000faa4
mov eax, 0xff
mov edx, 1
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xe4], eax
mov ecx, 0x80
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], ecx
mov cx, word [esp + 0x10c]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xec], edx
mov dx, word [esp + 0x110]
push 2
push edi
mov esi, 0x212
mov dword [esp + 0xc8], 0
mov word [esp + 0x6c], cx
mov word [esp + 0x6e], dx
call fcn.1000de80
lea ecx, [esp + 0xc8]
push ecx
push 6
push 5
mov esi, 0x214
call fcn.1000de80
add esp, 0x18
jmp 0x1000faa4
push edi
call fcn.1000e830
add esp, 4
cmp edi, 6
je 0x1000f92c
cmp edi, 7
jne 0x1000f937
mov edi, 1
mov dword [esp + 0x44], edi
jmp 0x1000f93b
mov edi, dword [esp + 0x44]
push 0
push edi
push 4
mov esi, 0x111
call fcn.1000de80
push 0
push edi
push 4
mov esi, 0x117
call fcn.1000de80
mov edi, dword [esp + 0x30]
add esp, 0x18
cmp edi, 6
je 0x1000f97d
cmp edi, 7
je 0x1000f97d
cmp dword [esp + 0x24], 0
mov eax, 1
jne 0x1000f97a
mov eax, dword [esp + 0x3c]
push eax
jmp 0x1000f98b
xor edx, edx
cmp dword [esp + 0x24], edx
sete dl
lea edx, [edx + edx + 1]
push edx
mov esi, 0x115
call fcn.1000e830
mov eax, dword [esp + 0x70]
add esp, 4
push eax
mov esi, 0x116
call fcn.1000e7e0
add esp, 4
cmp edi, 3
jne 0x1000f9dc
cmp dword [esp + 0x88], 0
mov esi, 0x124
jne 0x1000f9cd
push 0
call fcn.1000e7e0
add esp, 4
jmp 0x1000faa4
push 1
call fcn.1000e7e0
add esp, 4
jmp 0x1000faa4
cmp edi, 4
jne 0x1000f9f5
push 0
mov esi, 0x125
call fcn.1000e7e0
add esp, 4
jmp 0x1000faa4
cmp edi, 6
je 0x1000fa03
cmp edi, 7
jne 0x1000faa4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xb0]
push edi
push ecx
push edx
call fcn.10009220
add esp, 0xc
cmp edi, 6
jne 0x1000fa50
push 1
mov esi, 0x200
call fcn.1000e830
push 0
mov esi, 0x201
call fcn.1000e7e0
mov eax, dword [0x169bfae0]
push ebp
push eax
call fcn.100050a0
push eax
mov esi, 0x202
call fcn.1000e7e0
add esp, 0x14
cmp ebx, 8
ja 0x1000fe6e
cmp dword [esp + 0x24], 0
je 0x1000fe6e
mov edi, 1
mov dword [esp + 0x7c], edi
cmp dword [esp + 0x18], 6
jne 0x1000faa4
push 0
push edi
push 4
mov esi, 0x207
call fcn.1000de80
push 0
push edi
push 4
mov esi, 0x208
call fcn.1000de80
push 0
push edi
push 4
mov esi, 0x209
call fcn.1000de80
add esp, 0x24
push 0x142
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000faca
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x143
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000faf0
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x144
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fb16
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x145
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fb3c
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
mov ebx, dword [esp + 0x18]
cmp ebx, 6
je 0x1000fcd6
cmp ebx, 7
je 0x1000fce3
test ebx, ebx
je 0x1000fcd6
push 0x200
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fb80
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x201
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fba6
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x202
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fbcc
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x212
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fbf2
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x213
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fc18
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x211
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fc3e
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x207
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fc64
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x208
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fc8a
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x209
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fcb0
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x203
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fcd6
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
cmp ebx, 7
je 0x1000fce3
test ebx, ebx
jne 0x1000fdc7
push 0x200
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fd09
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x201
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fd2f
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x202
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fd55
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x207
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fd7b
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x208
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fda1
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x209
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fdc7
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
cmp ebx, 5
je 0x1000fde7
cmp ebx, 8
je 0x1000fde7
cmp ebx, 0x80b2
je 0x1000fde7
test ebx, ebx
je 0x1000fde7
mov eax, 0x13d
call fcn.1000dee0
cmp ebx, 6
je 0x1000fdf9
cmp ebx, 7
je 0x1000fdf9
test ebx, ebx
jne 0x1000ffc3
push 0x80a3
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fe1f
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x80a6
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x1000fe45
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
test ebx, ebx
jne 0x1000ffc3
mov eax, dword [esp + 0x3c]
cmp eax, 4
jne 0x1000ff8d
push 5
mov esi, 0x106
call fcn.1000e830
add esp, 4
jmp 0x100101c2
mov eax, 1
mov ecx, 2
mov word [esp + 0x60], ax
mov word [esp + 0x62], ax
mov word [esp + 0x32], ax
mov word [esp + 0x10], ax
mov eax, dword [ebp + 0x778]
cmp eax, 3
mov word [esp + 0x30], cx
mov word [esp + 0x48], cx
mov word [esp + 0x4a], cx
mov word [esp + 0x12], cx
ja 0x1000fedd
jmp dword [eax*4 + 0x169b1a50]
push ecx
mov ecx, dword [ebp + 0x498]
push ecx
mov dword [ebp + 0xc], 0xfffffc07
call fcn.100179e7
add esp, 8
cmp dword [esp + 0x18], 7
mov edi, 3
mov dword [esp + 0x7c], edi
jne 0x1000fa6d
mov edx, 1
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe8], edx
lea edx, [esp + 0xbc]
push edx
mov eax, 0xff
mov ecx, 0x80
push 6
push 5
mov esi, 0x214
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xf0], eax
call fcn.1000de80
add esp, 0xc
jmp 0x1000faa4
cmp eax, 3
jne 0x10010070
cmp dword [esp + 0x148], 0
mov esi, 0x106
jne 0x1000ffb4
push 2
call fcn.1000e830
add esp, 4
jmp 0x100101c2
push 6
call fcn.1000e830
add esp, 4
jmp 0x100101c2
cmp dword [esp + 0x50], 0
je 0x10010069
cmp ebx, 6
je 0x10010062
cmp ebx, 7
je 0x10010062
push 3
mov esi, 0x106
call fcn.1000e830
add esp, 4
cmp ebx, 6
je 0x100101c2
cmp ebx, 7
je 0x100101c2
mov ecx, dword [esp + 0x34]
mov edi, 1
shl edi, cl
push 0
mov esi, 0x140
lea ebx, [edi + edi*2]
push ebx
push 3
call fcn.1000de80
mov esi, eax
push ebx
add esi, 0xe
push 0
push esi
call fcn.10017ae1
xor eax, eax
add esp, 0x18
cmp dword [esp + 0x38], eax
je 0x10010114
cmp dword [ebp + 0x34], eax
jle 0x10010136
lea ecx, [ebp + 0x3c]
xor edx, edx
mov dh, byte [ecx]
add eax, 1
add esi, 2
add ecx, 4
mov word [esi - 2], dx
cmp eax, dword [ebp + 0x34]
jl 0x10010047
jmp 0x10010136
push 6
jmp 0x1000ffe2
cmp dword [esp + 0x70], 0
je 0x10010084
push 1
mov esi, 0x106
call fcn.1000e830
add esp, 4
jmp 0x100101c2
cmp dword [esp + 0x24], 0
je 0x100100c7
cmp ebx, 6
je 0x10010070
cmp ebx, 7
je 0x10010070
lea eax, [ebx - 2]
cmp eax, 2
mov esi, 0x106
ja 0x100100b1
push 0
call fcn.1000e830
add esp, 4
jmp 0x100101c2
xor ecx, ecx
cmp byte [ebp + 0x3d], cl
sete cl
push ecx
call fcn.1000e830
add esp, 4
jmp 0x100101c2
cmp dword [esp + 0x20], 0
je 0x100100e2
push 5
mov esi, 0x106
call fcn.1000e830
add esp, 4
jmp 0x100101c2
cmp ebx, 6
je 0x10010100
cmp ebx, 7
je 0x10010100
push 2
mov esi, 0x106
call fcn.1000e830
add esp, 4
jmp 0x100101c2
push 6
mov esi, 0x106
call fcn.1000e830
add esp, 4
jmp 0x100101c2
cmp dword [ebp + 0x34], 0
jle 0x10010136
lea ecx, [ebp + 0x3e]
lea ecx, [ecx]
xor edx, edx
mov dh, byte [ecx]
add eax, 1
add esi, 2
add ecx, 4
mov word [esi - 2], dx
cmp eax, dword [ebp + 0x34]
jl 0x10010120
mov edx, dword [ebp + 0x34]
mov eax, edi
sub eax, edx
xor ecx, ecx
test edx, edx
lea eax, [esi + eax*2]
jle 0x10010166
lea esi, [ebp + 0x3d]
lea esp, [esp]
xor edx, edx
mov dh, byte [esi]
add ecx, 1
add eax, 2
add esi, 4
mov word [eax - 2], dx
cmp ecx, dword [ebp + 0x34]
jl 0x10010150
mov edx, dword [ebp + 0x34]
sub edi, edx
xor ecx, ecx
cmp dword [esp + 0x38], ecx
lea eax, [eax + edi*2]
je 0x10010198
test edx, edx
jle 0x100101b6
lea esi, [ebp + 0x3e]
lea ecx, [ecx]
xor edx, edx
mov dh, byte [esi]
add ecx, 1
add eax, 2
add esi, 4
mov word [eax - 2], dx
cmp ecx, dword [ebp + 0x34]
jl 0x10010180
jmp 0x100101b6
test edx, edx
jle 0x100101b6
lea esi, [ebp + 0x3c]
nop
xor edx, edx
mov dh, byte [esi]
add ecx, 1
add eax, 2
add esi, 4
mov word [eax - 2], dx
cmp ecx, dword [ebp + 0x34]
jl 0x100101a0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], 0
push 0x10a
push 0
mov esi, 1
push 0x169c03ac
mov dword [esp + 0x1c], esi
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x100101f1
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x10a
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x10010225
lea eax, [esp + 0x10]
push eax
push esi
push 3
push 0x10a
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
test ebx, ebx
jne 0x1001028e
mov eax, dword [esp + 0x128]
test eax, eax
je 0x1001028e
push 0x112
movzx ecx, ax
push ebx
push 0x169c03ac
mov dword [esp + 0x1c], ecx
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x10010260
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x112
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1001036d
lea edx, [esp + 0x10]
push edx
push esi
push 3
push 0x112
jmp 0x1001035e
push 0x112
push 0
push 0x169c03ac
mov dword [esp + 0x1c], esi
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x100102b8
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x112
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x100102ec
lea eax, [esp + 0x10]
push eax
push esi
push 3
push 0x112
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
cmp ebx, 5
je 0x100102fe
cmp ebx, 8
je 0x100102fe
cmp ebx, 0x80b2
jne 0x1001036d
xor ecx, ecx
cmp dword [ebp + 0x77c], 2
push 0x13d
sete cl
push 0
push 0x169c03ac
add ecx, esi
movzx edx, cx
mov dword [esp + 0x1c], edx
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x10010339
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x13d
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1001036d
lea eax, [esp + 0x10]
push eax
push esi
push 3
push 0x13d
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
cmp dword [esp + 0x98], 0
je 0x100103df
cmp dword [esp + 0x3c], 4
jne 0x100103df
test ebx, ebx
je 0x100103df
push 0x152
push 0
push 0x169c03ac
mov dword [esp + 0x1c], esi
call fcn.100175c0
add esp, 0xc
test eax, eax
je 0x100103ac
push eax
push 0x169c03ac
call fcn.10017270
add esp, 8
push 0x152
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x100103df
lea ecx, [esp + 0x10]
push ecx
push esi
push 3
push 0x152
push eax
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0xfe
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1001040e
push eax
push esi
push 4
push 0xfe
push eax
push 0x169c03ac
call fcn.10017740
add esp, 0x18
test ebx, ebx
mov edi, 0x64
jne 0x100105cc
cmp dword [esp + 0x130], ebx
je 0x100104dd
cmp dword [esp + 0x138], ebx
je 0x100104dd
movzx edx, word [esp + 0x13c]
push 0x128
push ebx
push 0x169c03ac
mov dword [esp + 0x1c], edx
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x10010474
lea eax, [esp + 0x10]
push eax
push 1
push 3
push 0x128
push ebx
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x11a
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x100104ab
lea ecx, [esp + 0x12c]
push ecx
push 1
push 5
push 0x11a
push eax
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x11b
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x100107be
lea edx, [esp + 0x134]
push edx
push 1
push 5
push 0x11b
jmp 0x100107af
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x100105b2
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x100105b2
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x114]
add eax, 1
mov dword [esp + 0x48], ecx
movzx ecx, ax
mov dword [esp + 0x10], ecx
push 0x128
push 0
push 0x169c03ac
mov dword [esp + 0x70], esi
mov dword [esp + 0x58], esi
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1001054f
lea edx, [esp + 0x10]
push edx
push esi
push 3
push 0x128
push eax
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x11a
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x10010583
lea eax, [esp + 0x48]
push eax
push esi
push 5
push 0x11a
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x11b
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x100107be
lea ecx, [esp + 0x60]
push ecx
push 1
push 5
push 0x11b
jmp 0x100107af
mov eax, 0x48
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], 2
jmp 0x10010514
cmp byte [ebp + 0x760], 2
push 0x128
push 0
push 0x169c03ac
je 0x100105fc
mov dword [esp + 0x1c], 2
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1001062d
lea edx, [esp + 0x10]
push edx
jmp 0x10010615
mov dword [esp + 0x1c], 3
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x1001062d
lea eax, [esp + 0x10]
push eax
push 1
push 3
push 0x128
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x128
push 0
push 0x169c03ac
call fcn.100175c0
lea esi, [eax + 0xe]
push esi
call fcn.100170c0
add esp, 0x10
cmp ax, 2
jne 0x1001066b
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x30]
imul ecx, ecx, 0x64
imul edx, edx, 0x64
mov dword [esp + 0x10], ecx
mov eax, 0xf61
mov dword [esp + 0x48], edx
jmp 0x100106d4
push esi
call fcn.100170c0
add esp, 4
cmp ax, 3
jne 0x1001068f
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edi
jmp 0x100106dc
add ebx, 0xfffffffe
cmp ebx, 2
ja 0x100106c2
mov edx, dword [esp + 0x1c]
cmp edx, 0x7d0
mov ecx, 0xc8
mov dword [esp + 0x10], ecx
jb 0x100106cb
mov eax, 0x7d0
add eax, 0x7d0
add ecx, 0xc8
cmp edx, eax
jae 0x100106b1
jmp 0x100106c7
mov ecx, 0x48
mov dword [esp + 0x10], ecx
mov eax, 1
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], eax
push 0x11a
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x10010711
lea eax, [esp + 0x10]
push eax
push 1
push 5
push 0x11a
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x11b
push 0
push 0x169c03ac
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x10010745
lea ecx, [esp + 0x48]
push ecx
push 1
push 5
push 0x11b
push eax
push 0x169c03ac
call fcn.10017740
add esp, 0x18
cmp dword [esp + 0x20], 0
je 0x100107be
cmp dword [esp + 0x70], 0
jne 0x100107be
cmp dword [0x169bf9e4], 0
jne 0x1001076a
mov edx, dword [ebp + 0x75c]
shr edx, 8
movzx eax, dx
jmp 0x10010785
mov eax, dword [ebp + 0x75c]
shr eax, 8
movzx dx, al
movzx cx, ah
shl dx, 8
add cx, dx
movzx eax, cx
push 0x150
push 0
push 0x169c03ac
mov dword [esp + 0x1c], eax
call fcn.100175c0
add esp, 0xc
test eax, eax
jne 0x100107be
lea ecx, [esp + 0x10]
push ecx
push 2
push 1
push 0x150
push 0
push 0x169c03ac
call fcn.10017740
add esp, 0x18
push 0x169c03ac
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.10015e50
add esp, 0xc
test eax, eax
je 0x100107ee
mov ecx, dword [0x169bfa88]
cmp dword [ecx + 0xc], 0
jne 0x100107ee
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x90]
test eax, eax
jbe 0x1001085d
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x1001085d
push ecx
push eax
push 1
push 0x83bb
push 0
push 0x169c03ac
call fcn.10017830
add esp, 0x18
test eax, eax
jne 0x1001085d
mov esi, 0xffffe4a5
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.100179e7
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x98]
push edx
push eax
push 1
push 0x83bb
push 0
push 0x169c03ac
call fcn.10017830
add esp, 0x20
test eax, eax
je 0x10010822
mov ecx, dword [esp + 0x78]
push ecx
call fcn.100164f0
xor edi, edi
push 0x111
push edi
push 0x169c03ac
mov dword [esp + 0x88], edi
mov dword [esp + 0xa0], edi
call fcn.100175c0
push 0x117
add eax, 0xe
push edi
push 0x169c03ac
mov dword [esp + 0x40], eax
call fcn.100175c0
push 0x201
mov ebx, eax
push edi
push 0x169c03ac
add ebx, 0xe
call fcn.100175c0
push 0x207
add eax, 0xe
push edi
push 0x169c03ac
mov dword [esp + 0x44], eax
call fcn.100175c0
push 0x208
mov esi, eax
push edi
push 0x169c03ac
add esi, 0xe
call fcn.100175c0
add esp, 0x40
push 0x209
mov ebp, eax
push edi
push 0x169c03ac
add ebp, 0xe
call fcn.100175c0
mov edx, dword [esp + 0x15c]
add eax, 0xe
push 0x169c03ac
push edx
mov dword [esp + 0x5c], eax
call fcn.1000dd20
add esp, 0x14
mov dword [0x169c03b8], eax
cmp dword [eax], edi
mov dword [esp + 0x50], edi
je 0x10010943
mov ecx, eax
mov edx, edi
mov ecx, dword [ecx]
mov ecx, dword [ecx + 1]
sub ecx, 9
cmp ecx, 4
jbe 0x10010933
add edx, ecx
add edi, 1
cmp dword [eax + edi*4], 0
lea ecx, [eax + edi*4]
jne 0x10010924
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], edi
call fcn.10012750
lea edx, [edi + edi*2]
lea edi, [eax + edx*4 + 6]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], edi
add edi, eax
call fcn.10012750
cmp edi, eax
jae 0x10010998
jmp 0x10010970
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 0x498]
push 2
push ecx
mov dword [eax + 0xc], 0xfffffa0b
call fcn.100179e7
add esp, 8
call fcn.10012750
cmp edi, eax
jb 0x10010970
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x100109e6
mov esi, dword [esp + 0x150]
push esi
push edi
call fcn.100050a0
mov edx, dword [esp + 0x2c]
push eax
push edx
call fcn.100170d0
mov eax, dword [esp + 0xb8]
sub eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xac]
push esi
push eax
call fcn.100050a0
push eax
push ebx
call fcn.100170d0
add esp, 0x20
mov ebx, esi
jmp 0x10010b2a
cmp eax, 6
jne 0x10010af3
mov ecx, dword [esp + 0x150]
mov edx, dword [0x169c0348]
push ecx
lea eax, [edi + edx]
push eax
call fcn.100050a0
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.100170d0
mov edx, dword [esp + 0x160]
mov eax, dword [0x169c034c]
push edx
push eax
call fcn.100050a0
push eax
push ebx
call fcn.100170d0
mov ecx, dword [0x169bfadc]
mov ebx, dword [esp + 0x170]
add esp, 0x20
lea edx, [edi + ecx]
push ebx
push edx
call fcn.100050a0
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.100170d0
mov ecx, dword [esp + 0x8c]
add esp, 0x10
test ecx, ecx
jle 0x10010b2a
mov eax, 0x169bfae4
sub eax, esi
mov dword [esp + 0x60], eax
mov eax, 0x169bfaf0
sub eax, esi
mov dword [esp + 0x7c], eax
mov eax, 0x169bfafc
sub eax, esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
sub ebp, esi
sub eax, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + esi]
add edx, edi
push ebx
push edx
call fcn.100050a0
push eax
push esi
call fcn.100170d0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + esi]
add ecx, edi
push ebx
push ecx
call fcn.100050a0
push eax
lea edx, [esi + ebp]
push edx
call fcn.100170d0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + esi]
add ecx, edi
push ebx
push ecx
call fcn.100050a0
mov edx, dword [esp + 0x70]
push eax
add edx, esi
push edx
call fcn.100170d0
add esp, 0x30
add esi, 4
sub dword [esp + 0x10], 1
jne 0x10010a93
jmp 0x10010b2a
cmp eax, 7
jne 0x10010b23
mov esi, dword [esp + 0x150]
push esi
push edi
call fcn.100050a0
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.100170d0
mov edx, dword [0x169c0348]
mov eax, dword [0x169c034c]
add eax, edx
jmp 0x100109ce
mov ebx, dword [esp + 0x150]
mov eax, dword [0x169bfa7c]
add eax, 2
cmp eax, dword [0x169bfa80]
jb 0x10010b75
mov eax, dword [0x169bfa8c]
cmp eax, dword [0x169bf9e4]
jne 0x10010b56
mov eax, dword [esp + 0x20]
push eax
call fcn.10013c90
add esp, 4
jmp 0x10010ba9
mov ecx, dword [esp + 0x20]
mov edx, ecx
sar edx, 8
movzx ecx, cl
movzx eax, dl
shl ecx, 8
add eax, ecx
push eax
call fcn.10013c90
add esp, 4
jmp 0x10010ba9
mov edx, dword [0x169bfa8c]
cmp edx, dword [0x169bf9e4]
mov esi, eax
mov dword [0x169bfa7c], esi
jne 0x10010b91
mov eax, dword [esp + 0x20]
jmp 0x10010ba5
mov ecx, dword [esp + 0x20]
mov eax, ecx
sar eax, 8
movzx ecx, cl
movzx eax, al
shl ecx, 8
add eax, ecx
mov word [esi - 2], ax
mov edx, dword [esp + 0x30]
push ebx
push edx
call fcn.100050a0
xor esi, esi
add esp, 8
cmp dword [esp + 0x20], esi
mov dword [esp + 0x10], eax
jle 0x10010c3e
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
jmp 0x10010bd5
mov eax, dword [esp + 0x10]
mov ecx, dword [0x169c03b8]
mov edx, dword [ecx + esi*4]
movzx ecx, word [edx + 6]
cmp cx, 0x111
jne 0x10010c07
cmp ebp, 1
jne 0x10010c01
cmp ebx, 6
je 0x10010c01
cmp ebx, 7
je 0x10010c01
test ebx, ebx
je 0x10010c01
mov dword [edx + 0xe], edi
jmp 0x10010c1f
mov dword [esp + 0x58], eax
jmp 0x10010c1f
cmp cx, 0x117
jne 0x10010c1f
cmp ebp, 1
jne 0x10010c1b
call fcn.10012750
add eax, 8
mov dword [esp + 0x68], eax
mov eax, dword [0x169c03b8]
mov ecx, dword [eax + esi*4]
lea edx, [esp + 0x10]
push edx
push ecx
call fcn.1000e240
add esi, 1
add esp, 8
cmp esi, dword [esp + 0x20]
jl 0x10010bd1
mov eax, dword [0x169bfa7c]
add eax, 4
cmp eax, dword [0x169bfa80]
jb 0x10010c9c
mov edx, dword [0x169bfa8c]
cmp edx, dword [0x169bf9e4]
jne 0x10010c6e
mov eax, dword [esp + 0x2c]
push eax
call fcn.10013cb0
add esp, 4
jmp 0x10010cdd
mov ecx, dword [esp + 0x2c]
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
xor edx, edx
mov dh, byte [esp + 0x2e]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
push eax
call fcn.10013cb0
add esp, 4
jmp 0x10010cdd
mov esi, eax
mov eax, dword [0x169bfa8c]
cmp eax, dword [0x169bf9e4]
mov dword [0x169bfa7c], esi
jne 0x10010cb7
mov eax, dword [esp + 0x2c]
jmp 0x10010cda
mov ecx, dword [esp + 0x2c]
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
xor edx, edx
mov dh, byte [esp + 0x2e]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
mov dword [esi - 4], eax
mov edi, dword [esp + 0x20]
xor esi, esi
test edi, edi
jle 0x10010d18
jmp 0x10010cf0
mov eax, dword [0x169c03b8]
mov eax, dword [eax + esi*4]
movzx ecx, word [eax + 8]
mov edx, dword [ecx*4 + 0x169ba078]
imul edx, dword [eax + 0xa]
cmp edx, 4
jbe 0x10010d11
call fcn.1000df10
add esi, 1
cmp esi, edi
jl 0x10010cf0
mov ebp, dword [esp + 0x18]
test ebp, ebp
mov esi, dword [esp + 0x150]
je 0x10010ddb
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
imul eax, ebx
add eax, 7
shr eax, 3
mov dword [esp + 0x5c], eax
lea eax, [esp + 0xec]
push eax
push edi
push esi
call fcn.100144c0
add esp, 0xc
test eax, eax
mov dword [esp + 0x54], eax
jne 0x10010d79
mov edi, 0xfffffc11
mov ecx, dword [esi + 0x498]
push 2
push ecx
mov dword [esi + 0xc], edi
call fcn.100179e7
add esp, 8
jmp 0x10010d63
call fcn.10012740
cmp dword [esp + 0xb0], 0
mov dword [esp + 0x8c], eax
jne 0x10010d9a
push 0
push eax
call fcn.10012e30
add esp, 8
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x4ac]
imul edx, edi
sub eax, dword [esi + 0x4a0]
mov dword [esp + 0xac], 0xffffffff
add eax, 0xffffffff
cmp eax, edx
jae 0x10010dca
xor edx, edx
div edi
mov dword [esp + 0xac], eax
lea eax, [ebp - 2]
cmp eax, 2
ja 0x10010e3f
push ebx
call fcn.10006810
add esp, 4
push esi
call fcn.10019b29
xor ebx, ebx
add esp, 4
cmp ebp, ebx
jne 0x10010e96
mov eax, dword [esp + 0xa8]
sub eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x9c]
sub eax, ecx
push eax
mov eax, dword [esp + 0x84]
add ecx, eax
push ecx
call fcn.10013640
mov ecx, dword [0x169bfa7c]
add esp, 8
push esi
mov dword [esi + 0x4c4], ecx
call fcn.10012750
push eax
call fcn.100050a0
mov dword [esi + 0x494], 0x64
jmp 0x10011a1c
cmp ebp, 5
jne 0x10010ddb
lea ecx, [esp + 0xec]
push ecx
push 0x1000
push 0xc
call fcn.10009b80
add esp, 8
push eax
push esi
call fcn.100144c0
add esp, 0xc
test eax, eax
mov dword [esp + 0x84], eax
jne 0x10010ddb
mov edi, 0xfffffc11
lea esp, [esp]
mov edx, dword [esi + 0x498]
push 2
push edx
mov dword [esi + 0xc], edi
call fcn.100179e7
add esp, 8
jmp 0x10010e80
cmp ebp, 6
je 0x100119ef
cmp ebp, 7
je 0x100119ef
cmp dword [esp + 0x28], ebx
mov edi, 2
jbe 0x100115cd
mov edx, dword [esp + 0x18]
add edx, 0xfffffffe
mov dword [esp + 0x80], edx
jmp 0x10010ed0
mov esi, dword [esp + 0x150]
push esi
call fcn.10012750
push eax
call fcn.100050a0
mov ebp, dword [esp + 0x74]
push eax
xor edx, edx
mov eax, ebx
div ebp
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax*4]
push edx
call fcn.100170d0
add esp, 0x10
cmp dword [esp + 0x80], edi
ja 0x10010f15
call fcn.10006940
mov dword [esp + 0x74], edi
jmp 0x10010ff7
mov eax, dword [esp + 0x18]
cmp eax, 5
jne 0x10010f4e
mov eax, dword [esp + 0x84]
push esi
push 0x1000
push 0x169adaa0
push 3
push 0x101
push 0x100
push 0xc
push 9
push eax
call fcn.10009de0
add esp, 0x24
jmp 0x10010ff7
cmp eax, 8
je 0x10010f5e
cmp eax, 0x80b2
jne 0x10010ff7
xor edi, edi
mov dword [0x169c03d8], edi
mov dword [0x169c03dc], edi
mov dword [0x169c03ec], 0x169ae7a0
mov dword [0x169c03f0], 0x169ae7c0
mov dword [0x169c03f4], 0x169c0404
cmp dword [esi + 0x77c], 2
jne 0x10010fa5
cmp dword [esp + 0x34], 8
jbe 0x10010fa5
push 0x38
push 0x169ba0ac
push 1
jmp 0x10010fad
push 0x38
push 0x169ba0ac
push edi
push 8
push 0xf
push 8
push 0xffffffffffffffff
push 0x169c03cc
call fcn.10001000
add esp, 0x20
cmp eax, edi
je 0x10010ff7
cmp eax, 0xfffffffc
jne 0x10010fd2
mov eax, 0xfffffc11
jmp 0x10010fe3
sub eax, 0xfffffffa
neg eax
sbb eax, eax
and eax, 0xffffe2bb
add eax, 0xfffffa1d
mov ecx, dword [esi + 0x498]
push 2
push ecx
mov dword [esi + 0xc], eax
call fcn.100179e7
add esp, 8
add ebp, ebx
cmp ebx, ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebp
jae 0x1001157b
lea esp, [esp]
mov edx, dword [esp + 0x20]
cmp edx, dword [esp + 0x28]
jae 0x1001157b
cmp dword [esp + 0xb0], 0
je 0x100110a8
mov ecx, dword [esp + 0xac]
cmp ecx, 1
mov edi, edx
jbe 0x10011085
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne 0x10011085
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
sub eax, edi
cmp eax, ecx
jae 0x10011068
imul eax, esi
push eax
mov eax, dword [esp + 0x90]
push eax
call fcn.10012e30
add esp, 8
jmp 0x10011089
sub eax, ecx
mov edx, ecx
imul eax, esi
add eax, dword [esp + 0x8c]
imul edx, esi
push edx
push eax
call fcn.10012e30
add esp, 8
jmp 0x10011089
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
sub eax, edi
sub eax, 1
imul eax, esi
add eax, dword [esp + 0x8c]
push esi
push eax
call fcn.10012e30
add esp, 8
jmp 0x100110ac
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
cmp eax, 0x8005
ja 0x10011272
je 0x10011285
add eax, 0xffffffff
cmp eax, 7
ja 0x10011515
jmp dword [eax*4 + 0x169b1a60]
cmp eax, 0x80b2
jne 0x10011515
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
cmp eax, 1
jne 0x1001129c
mov eax, dword [0x169bfa7c]
lea ecx, [eax + esi]
cmp ecx, dword [0x169bfa80]
mov ebp, eax
jbe 0x100112a0
mov ebp, dword [esp + 0x54]
push esi
push ebp
call fcn.10012bc0
add esp, 8
cmp dword [esp + 0x70], 0
je 0x100112c1
mov edi, dword [esp + 0x1c]
mov eax, ebp
call fcn.1000dc20
jmp 0x1001137c
mov eax, dword [esp + 0x98]
test eax, eax
je 0x10011311
cmp dword [esp + 0x94], 0
je 0x10011311
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x1001137c
lea ecx, [ebp + 2]
lea eax, [ebp + 1]
jmp 0x100112f0
movzx ebx, byte [eax + 1]
mov dl, byte [eax - 1]
mov byte [ecx - 2], bl
movzx ebx, byte [eax]
sub esi, 1
mov byte [ecx - 1], bl
mov byte [ecx], dl
add eax, 4
add ecx, 3
test esi, esi
jne 0x100112f0
jmp 0x1001137c
cmp dword [esp + 0x34], 0x18
jne 0x10011338
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov eax, ebp
je 0x1001137c
mov dl, byte [eax]
mov bl, byte [eax + 2]
sub ecx, 1
mov byte [eax], bl
mov byte [eax + 2], dl
add eax, 3
test ecx, ecx
jne 0x10011322
jmp 0x1001137c
test eax, eax
je 0x1001137c
cmp dword [esp + 0x34], 0x20
jne 0x1001137c
cmp dword [esp + 0xb8], 0
je 0x1001136d
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov eax, ebp
je 0x1001137c
mov dl, byte [eax]
mov bl, byte [eax + 2]
sub ecx, 1
mov byte [eax], bl
mov byte [eax + 2], dl
add eax, 4
test ecx, ecx
jne 0x10011357
jmp 0x1001137c
mov edx, dword [esp + 0x1c]
push edx
mov ecx, ebp
call fcn.1000dc90
add esp, 4
cmp dword [esp + 0x38], 0
je 0x100113d4
mov eax, dword [esp + 0x34]
cmp eax, 0x18
jne 0x100113ac
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov eax, ebp
je 0x100113d4
mov dl, byte [eax]
mov bl, byte [eax + 2]
sub ecx, 1
mov byte [eax], bl
mov byte [eax + 2], dl
add eax, 3
test ecx, ecx
jne 0x10011396
jmp 0x100113d4
cmp eax, 0x20
jne 0x100113d4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov eax, ebp
je 0x100113d4
jmp 0x100113c0
mov dl, byte [eax]
mov bl, byte [eax + 2]
sub ecx, 1
mov byte [eax], bl
mov byte [eax + 2], dl
add eax, 4
test ecx, ecx
jne 0x100113c0
mov esi, dword [esp + 0x18]
cmp esi, 5
je 0x100113ee
cmp esi, 8
je 0x100113ee
cmp esi, 0x80b2
jne 0x100114ae
mov eax, dword [esp + 0x150]
cmp dword [eax + 0x77c], 2
jne 0x100114ae
mov eax, dword [esp + 0x3c]
sub eax, 1
je 0x1001148f
sub eax, 2
je 0x10011457
sub eax, 1
jne 0x100114ae
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
lea eax, [edx + ecx*4]
add ecx, 0xffffffff
je 0x100114ae
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
lea eax, [eax + ecx*2]
add eax, ecx
add ecx, 0xffffffff
je 0x100114ae
lea esp, [esp]
movzx edx, byte [eax - 6]
sub byte [eax - 3], dl
movzx edx, byte [eax - 5]
sub byte [eax - 2], dl
movzx edx, byte [eax - 4]
sub byte [eax - 1], dl
sub eax, 3
sub ecx, 1
jne 0x10011470
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
add eax, ecx
add ecx, 0xffffffff
je 0x100114ae
mov edi, edi
mov dl, byte [eax - 2]
sub byte [eax - 1], dl
sub eax, 1
sub ecx, 1
jne 0x100114a0
cmp esi, 1
jne 0x100114c3
mov eax, dword [esp + 0x5c]
push eax
push ebp
call fcn.10013640
add esp, 8
jmp 0x10011515
cmp esi, 5
jne 0x100114e0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x84]
push ecx
push ebp
push edx
call fcn.1000a3d0
add esp, 0xc
jmp 0x10011515
cmp esi, 8
je 0x10011505
cmp esi, 0x80b2
je 0x10011505
mov ecx, dword [esp + 0x5c]
mov eax, ebp
mov edx, 0x169c03cc
call fcn.1000e560
mov esi, dword [esp + 0x20]
lea eax, [esi + 1]
imul eax, eax, 0x64
xor edx, edx
div dword [esp + 0x28]
mov ecx, dword [esp + 0x150]
mov dword [ecx + 0x494], eax
mov eax, dword [esp + 0xa0]
add eax, 1
cmp eax, dword [esp + 0xa4]
mov dword [esp + 0xa0], eax
jne 0x10011568
mov edx, dword [0x169bfa88]
push 3
push edx
call fcn.100050b0
add esp, 8
mov dword [esp + 0xa0], 0
mov ebp, dword [esp + 0x10]
add esi, 1
cmp esi, ebp
mov dword [esp + 0x20], esi
jb 0x10011010
mov edi, 2
cmp dword [esp + 0x80], edi
ja 0x10011590
call fcn.10006bb0
jmp 0x100115c1
mov eax, dword [esp + 0x18]
cmp eax, 5
jne 0x100115ab
mov eax, dword [esp + 0x84]
push eax
call fcn.10009ba0
add esp, 4
jmp 0x100115c1
cmp eax, 8
je 0x100115b7
cmp eax, 0x80b2
jne 0x100115c1
mov eax, 0x169c03cc
call fcn.1000e650
mov ebx, ebp
cmp ebx, dword [esp + 0x28]
jb 0x10010ed0
mov eax, dword [esp + 0x18]
lea ecx, [eax - 2]
cmp ecx, edi
ja 0x10011656
sub eax, edi
je 0x100115ec
sub eax, 1
je 0x100115ec
sub eax, 1
je 0x10011636
jmp 0x10011651
cmp dword [esp + 0x88], 0
mov esi, 6
jne 0x10011620
jmp 0x10011600
push 0xc
push 0x100000
sub esi, 1
call fcn.10006af0
add esp, 8
test esi, esi
jg 0x10011600
jmp 0x10011636
push 0xd
push 0x180000
sub esi, 1
call fcn.10006af0
add esp, 8
test esi, esi
jg 0x10011620
push 0xc
push 0x100000
call fcn.10006af0
push 0xc
push 0x100000
call fcn.10006af0
add esp, 0x10
call fcn.10006b60
mov ebp, dword [esp + 0x150]
mov dword [ebp + 0x494], 0x64
call fcn.10012750
mov ebx, dword [esp + 0x44]
cmp ebx, 1
mov dword [esp + 0x38], eax
jle 0x10011736
mov edx, dword [esp + 0x58]
push 0
push edx
call fcn.10013870
add esp, 8
test ebx, ebx
jle 0x10011736
mov esi, dword [esp + 0x24]
push esi
call fcn.100170e0
mov ecx, dword [0x169bfa7c]
add ecx, 4
add esp, 4
cmp ecx, dword [0x169bfa80]
mov dword [esp + 0x58], eax
jb 0x100116ee
mov ecx, dword [0x169bfa8c]
cmp ecx, dword [0x169bf9e4]
mov ecx, eax
je 0x100116e3
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x5a]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
push ecx
call fcn.10013cb0
add esp, 4
jmp 0x10011726
mov edi, ecx
mov ecx, dword [0x169bfa8c]
cmp ecx, dword [0x169bf9e4]
mov dword [0x169bfa7c], edi
mov ecx, eax
je 0x10011723
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x5a]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
mov dword [edi - 4], ecx
add esi, 4
sub ebx, 1
jne 0x10011698
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
push 0
push eax
call fcn.10013870
lea eax, [ebx - 1]
add esp, 8
test eax, eax
mov dword [esp + 0x58], 0
jle 0x10011824
mov edi, dword [esp + 0x24]
lea esp, [esp]
push edi
call fcn.100170e0
lea ecx, [edi + 4]
push ecx
mov esi, eax
call fcn.100170e0
add esp, 8
cmp eax, esi
jb 0x1001185c
mov ecx, dword [0x169bfa7c]
add ecx, 4
sub eax, esi
cmp ecx, dword [0x169bfa80]
jb 0x100117cb
mov edx, dword [0x169bfa8c]
cmp edx, dword [0x169bf9e4]
mov ecx, eax
je 0x100117c0
xor edx, edx
mov dword [esp + 0x68], eax
mov dh, byte [esp + 0x6a]
shl ecx, 8
and ecx, 0xff0000
add ecx, edx
mov edx, eax
shl edx, 0x18
add ecx, edx
shr eax, 0x18
add ecx, eax
push ecx
call fcn.10013cb0
add esp, 4
jmp 0x10011807
mov edx, ecx
mov ecx, dword [0x169bfa8c]
cmp ecx, dword [0x169bf9e4]
mov dword [0x169bfa7c], edx
mov ecx, eax
je 0x10011804
xor ebx, ebx
mov dword [esp + 0x68], eax
mov bh, byte [esp + 0x6a]
shl ecx, 8
and ecx, 0xff0000
mov esi, eax
shl esi, 0x18
shr eax, 0x18
add ecx, ebx
add ecx, esi
add ecx, eax
mov dword [edx - 4], ecx
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
add ecx, 1
add eax, 0xffffffff
add edi, 4
cmp ecx, eax
mov dword [esp + 0x58], ecx
jl 0x10011760
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
lea edx, [eax + ecx*4 - 4]
push edx
call fcn.100170e0
mov edi, dword [esp + 0x3c]
add esp, 4
cmp edi, eax
jae 0x10011877
mov esi, 0xfffffa0b
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x10011846
mov esi, 0xfffffa0b
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.100179e7
add esp, 8
jmp 0x10011861
mov ecx, dword [0x169bfa7c]
add ecx, 4
cmp ecx, dword [0x169bfa80]
push ebp
jb 0x1001190d
mov ecx, dword [0x169bfa8c]
cmp ecx, dword [0x169bf9e4]
jne 0x100118b6
mov edx, edi
sub edx, eax
push edx
call fcn.100050a0
add esp, 8
push eax
call fcn.10013cb0
add esp, 4
jmp 0x100119b8
mov esi, dword [esp + 0x3c]
sub esi, eax
push esi
call fcn.100050a0
mov ebx, eax
push ebp
push esi
shl ebx, 0x10
call fcn.100050a0
mov edi, eax
and edi, 0xff00
push ebp
add edi, ebx
push esi
shl edi, 8
call fcn.100050a0
shr eax, 8
and eax, 0xff00
push ebp
push esi
add edi, eax
call fcn.100050a0
shr eax, 0x18
add eax, edi
mov edi, dword [esp + 0x58]
add esp, 0x20
push eax
call fcn.10013cb0
add esp, 4
jmp 0x100119b8
mov dword [0x169bfa7c], ecx
mov ecx, dword [0x169bfa8c]
cmp ecx, dword [0x169bf9e4]
jne 0x10011930
mov esi, edi
sub esi, eax
push esi
call fcn.100050a0
add esp, 8
jmp 0x10011979
mov esi, dword [esp + 0x3c]
sub esi, eax
push esi
call fcn.100050a0
mov ebx, eax
push ebp
push esi
shl ebx, 0x10
call fcn.100050a0
mov edi, eax
and edi, 0xff00
push ebp
add edi, ebx
push esi
shl edi, 8
call fcn.100050a0
shr eax, 8
and eax, 0xff00
push ebp
push esi
add edi, eax
call fcn.100050a0
shr eax, 0x18
add esp, 0x20
add eax, edi
mov edi, dword [esp + 0x38]
mov edx, dword [0x169bfa7c]
mov dword [edx - 4], eax
mov eax, dword [0x169bfa8c]
cmp eax, dword [0x169bf9e4]
push ebp
push esi
jne 0x1001199b
call fcn.100050a0
add esp, 8
jmp 0x100119b8
call fcn.100050a0
push ebp
push esi
call fcn.100050a0
push ebp
push esi
call fcn.100050a0
push ebp
push esi
call fcn.100050a0
add esp, 0x20
push 0
push edi
call fcn.10013870
mov ecx, dword [0x169bfa7c]
add esp, 8
push ebp
mov dword [ebp + 0x4c4], ecx
call fcn.10012750
push eax
call fcn.100050a0
add esp, 8
pop edi
pop esi
mov dword [ebp + 0x764], eax
pop ebp
pop ebx
add esp, 0x13c
ret
mov edx, dword [0x169bfae0]
mov eax, dword [0x169bfad8]
push edx
push eax
call fcn.10013640
mov ecx, dword [0x169bfa7c]
add esp, 8
push esi
mov dword [esi + 0x4c4], ecx
call fcn.10012750
push eax
call fcn.100050a0
add esp, 8
pop edi
mov dword [esi + 0xc], ebx
mov dword [esi + 0x764], eax
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret