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

Disassembly:
sub esp, 0xc0
push ebx
push ebp
mov ebp, dword [esp + 0xcc]
mov eax, dword [ebp + 0x734]
mov ecx, eax
shr ecx, 1
not ecx
mov edx, 1
and ecx, edx
mov dword [esp + 0x8c], ecx
mov ecx, eax
push esi
shr ecx, 0x12
push edi
xor edi, edi
and ecx, edx
test eax, 0x10000
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x8c], edi
jne 0x1000e180
mov dword [esp + 0x90], edi
jmp 0x1000e198
mov eax, dword [ebp + 0x790]
cmp eax, edx
mov dword [esp + 0x90], eax
ja 0x1000e198
mov dword [esp + 0x90], edx
mov esi, dword [ebp + 0x748]
cmp esi, edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x88], edi
mov dword [ebp + 0xc], edi
mov dword [esp + 0x28], esi
jne 0x1000e1ba
mov esi, edx
mov dword [esp + 0x28], esi
mov ebx, 0xffffe482
nop
cmp esi, 1
jb 0x1000e1ca
cmp esi, 7
jbe 0x1000e1f5
cmp esi, 8
je 0x1000e1f5
cmp esi, 0x80b2
je 0x1000e1f5
cmp esi, 0x8005
je 0x1000e1f5
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], ebx
call fcn.10016d37
add esp, 8
jmp 0x1000e1c0
cmp esi, 3
jne 0x1000e209
xor ecx, ecx
cmp byte [ebp + 0x76a], cl
setne cl
mov dword [esp + 0x78], ecx
mov edx, dword [ebp + 0x75c]
and edx, 0xff000000
neg edx
sbb edx, edx
neg edx
mov dword [0x27dfa6c], edx
mov dword [0x27dfa68], ebp
call fcn.10011d70
test byte [ebp + 0x734], 8
je 0x1000e2e2
push 0x27da0bc
push edi
lea esi, [ebp + 0x14]
push 0x28
push esi
call fcn.10011ff0
mov eax, dword [esi]
add esp, 0x10
cmp eax, 0x28
je 0x1000e287
ja 0x1000e279
mov ebx, 0xffffe432
jmp 0x1000e260
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], ebx
call fcn.10016d37
add esp, 8
cmp dword [esi], 0x28
jbe 0x1000e260
mov ecx, dword [esi]
sub ecx, 0x28
push ecx
call fcn.100120f0
add esp, 4
movzx ecx, word [ebp + 0x22]
cmp cx, 8
ja 0x1000e2a0
cmp dword [ebp + 0x34], edi
jne 0x1000e2a0
mov edx, 1
shl edx, cl
mov dword [ebp + 0x34], edx
mov eax, dword [ebp + 0x34]
cmp eax, edi
je 0x1000e2e2
mov ebx, 0x440
cmp eax, ebx
jbe 0x1000e2ce
mov esi, 0xffffe464
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
cmp dword [ebp + 0x34], ebx
ja 0x1000e2b5
mov ecx, dword [ebp + 0x34]
add ecx, ecx
add ecx, ecx
push ecx
lea edx, [ebp + 0x3c]
push edx
call fcn.10011f20
add esp, 8
mov eax, dword [ebp + 0x1c]
push eax
call fcn.10016f30
movzx edi, word [ebp + 0x22]
mov ecx, dword [ebp + 0x18]
add esp, 4
cmp edi, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], edi
mov ebx, 0x1000
mov esi, 0xfffffb4f
je 0x1000e33a
cmp edi, 4
je 0x1000e33a
cmp edi, 8
je 0x1000e33a
cmp edi, 0x18
je 0x1000e33a
cmp edi, 0x20
je 0x1000e362
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x1000e310
cmp edi, 0x20
je 0x1000e362
mov esi, 0xffffe421
test dword [ebp + 0x738], ebx
je 0x1000e362
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x1000e344
mov ebx, dword [esp + 0x28]
cmp ebx, 5
je 0x1000e378
cmp ebx, 8
je 0x1000e378
cmp ebx, 0x80b2
jne 0x1000e3b1
cmp dword [ebp + 0x77c], 1
jle 0x1000e3b1
mov esi, 0xffffe440
cmp dword [ebp + 0x77c], 2
jne 0x1000e394
cmp edi, 8
jae 0x1000e3b1
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
cmp dword [ebp + 0x77c], 1
jg 0x1000e386
mov esi, 0xfffffc04
cmp dword [esp + 0x20], 0
je 0x1000e3c4
cmp dword [esp + 0x40], 0
jne 0x1000e3da
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x1000e3b6
cmp edi, 8
ja 0x1000e480
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x1000e3f7
mov edx, 1
mov ecx, edi
shl edx, cl
cmp eax, edx
jbe 0x1000e403
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.1000d420
add esp, 4
test eax, eax
je 0x1000e476
cmp ebx, 6
mov dword [esp + 0x14], 1
jne 0x1000e431
cmp edi, 4
jne 0x1000e431
mov edi, 8
mov dword [esp + 0x34], edi
xor ecx, ecx
lea eax, [ebx - 2]
cmp eax, 2
mov dword [0x27dfab4], ecx
ja 0x1000e5d7
cmp edi, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], 1
je 0x1000e566
mov esi, 0xfffffb4f
nop
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x1000e460
mov dword [esp + 0x38], 1
jmp 0x1000e431
cmp edi, 0x20
mov dword [ebp + 0x34], 0
jne 0x1000e431
mov ecx, dword [ebp + 0x75c]
mov eax, ecx
xor esi, esi
and eax, 6
cmp eax, 6
mov dword [esp + 0x84], esi
mov dword [esp + 0x10], esi
ja 0x1000e4bf
jmp dword [eax*4 + 0x27d0d8c]
mov ecx, dword [ebp + 0x738]
mov eax, ecx
shr eax, 0xe
and eax, 1
test esi, esi
mov dword [esp + 0x98], eax
je 0x1000e518
test ecx, 0x1000
jne 0x1000e518
mov dword [esp + 0x80], 1
jmp 0x1000e431
cmp ebx, 1
je 0x1000e431
mov esi, 0xffffe482
cmp ebx, 5
je 0x1000e431
cmp ebx, 8
je 0x1000e431
cmp ebx, 0x80b2
je 0x1000e431
cmp ebx, 0x8005
je 0x1000e431
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x1000e526
movzx edx, byte [ebp + 0x41]
movzx eax, byte [ebp + 0x42]
imul edx, edx, 0x96
imul eax, eax, 0x4d
movzx esi, byte [ebp + 0x3e]
add edx, eax
imul esi, esi, 0x4d
movzx eax, byte [ebp + 0x40]
imul eax, eax, 0x1d
lea edx, [edx + eax + 0x80]
movzx eax, byte [ebp + 0x3d]
imul eax, eax, 0x96
add eax, esi
movzx esi, byte [ebp + 0x3c]
imul esi, esi, 0x1d
lea eax, [eax + esi + 0x80]
and eax, 0xffffff00
xor ebx, ebx
and edx, 0xffffff00
cmp eax, edx
setg bl
mov eax, ebx
mov dword [0x27dfab4], eax
cmp byte [ebp + 0x769], 0
je 0x1000e5d7
xor edx, edx
cmp eax, ecx
sete dl
mov dword [0x27dfab4], edx
mov esi, 0xffff01
test dword [ebp + 0x75c], esi
je 0x1000e613
mov ebx, 0xffffe431
lea esp, [esp]
cmp dword [esp + 0x10], 0
jne 0x1000e613
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], ebx
call fcn.10016d37
add esp, 8
test dword [ebp + 0x75c], esi
jne 0x1000e5f0
mov ebx, 1
call fcn.10012370
test dword [ebp + 0x734], 0x800000
jne 0x1000e79c
cmp dword [0x27dfa6c], 0
mov eax, dword [0x27dfa5c]
jne 0x1000e674
cmp eax, dword [0x27dfa60]
jae 0x1000e64e
mov byte [eax], 0x49
add dword [0x27dfa5c], ebx
jmp 0x1000e658
push 0x49
call fcn.10012910
add esp, 4
mov eax, dword [0x27dfa5c]
cmp eax, dword [0x27dfa60]
jae 0x1000e670
mov byte [eax], 0x49
add dword [0x27dfa5c], ebx
jmp 0x1000e6b3
push 0x49
jmp 0x1000e6ab
cmp eax, dword [0x27dfa60]
jae 0x1000e687
mov byte [eax], 0x4d
add dword [0x27dfa5c], ebx
jmp 0x1000e691
push 0x4d
call fcn.10012910
add esp, 4
mov eax, dword [0x27dfa5c]
cmp eax, dword [0x27dfa60]
jae 0x1000e6a9
mov byte [eax], 0x4d
add dword [0x27dfa5c], ebx
jmp 0x1000e6b3
push 0x4d
call fcn.10012910
add esp, 4
mov eax, dword [0x27dfa5c]
add eax, 2
cmp eax, dword [0x27dfa60]
jb 0x1000e6e7
mov ecx, dword [0x27dfa6c]
sub ecx, dword [0x27df9c4]
neg ecx
sbb ecx, ecx
and ecx, 0x29d6
add ecx, 0x2a
push ecx
call fcn.10012ff0
add esp, 4
jmp 0x1000e709
mov edx, dword [0x27dfa6c]
sub edx, dword [0x27df9c4]
mov dword [0x27dfa5c], eax
neg edx
sbb edx, edx
and edx, 0x29d6
add edx, 0x2a
mov word [eax - 2], dx
mov dword [ebp + 0x794], 8
mov eax, dword [0x27dfa5c]
add eax, 4
cmp eax, dword [0x27dfa60]
jb 0x1000e748
mov eax, dword [0x27dfa6c]
sub eax, dword [0x27df9c4]
neg eax
sbb eax, eax
and eax, 0x7fffff8
add eax, 8
push eax
call fcn.10013010
add esp, 4
jmp 0x1000eb8c
mov esi, eax
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
mov dword [0x27dfa5c], esi
jne 0x1000e76b
mov eax, dword [ebp + 0x794]
mov dword [esi - 4], eax
jmp 0x1000eb8c
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 + 0x2c], ecx
mov dh, byte [esp + 0x2e]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
mov dword [esi - 4], eax
jmp 0x1000eb8c
mov eax, dword [ebp + 0x764]
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x1000e7bc
test byte [ebp + 0x4d0], 1
je 0x1000e7bc
call fcn.10011ab0
mov dword [esp + 0x3c], eax
mov al, byte [ebp + 0x79c]
or dword [ebp + 0x4d0], 0x20
test al, al
jne 0x1000e7fb
push 0
push 0
call fcn.10013140
mov eax, dword [0x27dfa5c]
add eax, 2
add esp, 8
cmp eax, dword [0x27dfa60]
jbe 0x1000e7f0
call fcn.100134a0
jmp 0x1000e804
mov dword [0x27dfa5c], eax
movzx eax, word [eax - 2]
jmp 0x1000e807
movzx ax, al
imul ax, ax, 0x101
movzx eax, ax
cmp ax, 0x4949
mov edi, 0xffffe4a2
jne 0x1000e84c
mov ebx, 0xff000000
test dword [ebp + 0x75c], ebx
je 0x1000e840
mov esi, 0xffffe42d
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
test dword [ebp + 0x75c], ebx
jne 0x1000e824
mov dword [0x27dfa6c], 0
jmp 0x1000e8b5
cmp ax, 0x4d4d
jne 0x1000e8a1
mov edx, dword [ebp + 0x75c]
and edx, 0xff000000
cmp edx, 1
jbe 0x1000e895
mov esi, 0xffffe42d
jmp 0x1000e870
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.10016d37
mov ecx, dword [ebp + 0x75c]
and ecx, 0xff000000
add esp, 8
cmp ecx, 1
ja 0x1000e870
mov dword [0x27dfa6c], 1
jmp 0x1000e8b5
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], edi
call fcn.10016d37
add esp, 8
cmp byte [ebp + 0x79c], 0
jne 0x1000e91b
mov eax, dword [0x27dfa5c]
add eax, 2
cmp eax, dword [0x27dfa60]
jbe 0x1000e8d8
call fcn.100134a0
movzx ebx, ax
jmp 0x1000e8e1
mov dword [0x27dfa5c], eax
movzx ebx, word [eax - 2]
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
jne 0x1000e8f3
movzx eax, bx
jmp 0x1000e8ff
movzx edx, bl
movzx ecx, bh
shl edx, 8
lea eax, [ecx + edx]
cmp ax, 0x2a
je 0x1000e91b
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], edi
call fcn.10016d37
add esp, 8
jmp 0x1000e8e1
mov eax, dword [ebp + 0x798]
test eax, eax
je 0x1000ea01
cmp eax, 4
je 0x1000e9b5
push eax
call fcn.100134c0
mov ecx, dword [0x27dfa6c]
add esp, 4
cmp ecx, dword [0x27df9c4]
movzx eax, ax
je 0x1000e95e
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.10013520
mov ecx, dword [0x27dfa6c]
add esp, 4
cmp ecx, dword [0x27df9c4]
mov dword [esp + 0x24], eax
je 0x1000eab6
mov edx, eax
shl edx, 0x10
mov ecx, eax
and ecx, 0xff00
add edx, ecx
xor ecx, ecx
mov ch, byte [esp + 0x26]
shl edx, 8
shr eax, 0x18
add edx, ecx
add edx, eax
mov dword [esp + 0x24], edx
jmp 0x1000eab6
mov edi, 4
push edi
call fcn.10013520
mov edx, dword [0x27dfa6c]
add esp, 4
cmp edx, dword [0x27df9c4]
mov dword [esp + 0x24], eax
je 0x1000eab6
mov ecx, eax
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x26]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x1000eab6
push 0
push 4
call fcn.10013140
add esp, 8
call fcn.10011ab0
mov edi, eax
mov eax, dword [0x27dfa5c]
add eax, 4
cmp eax, dword [0x27dfa60]
jbe 0x1000ea2d
call fcn.10013500
mov esi, eax
jmp 0x1000ea35
mov dword [0x27dfa5c], eax
mov esi, dword [eax - 4]
test esi, esi
mov dword [esp + 0x2c], esi
je 0x1000eab6
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
je 0x1000ea6d
xor eax, eax
mov ah, byte [esp + 0x2e]
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.100134c0
mov ecx, dword [0x27dfa6c]
add esp, 4
cmp ecx, dword [0x27df9c4]
movzx eax, ax
je 0x1000ea99
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.10013520
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x2c], esi
jne 0x1000ea41
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x1000eaca
call fcn.10013370
call fcn.10011ab0
mov esi, eax
push 0
push edi
call fcn.10012bd0
push ebp
push esi
call fcn.100050a0
mov dword [ebp + 0x794], eax
mov ecx, dword [0x27dfa5c]
add ecx, 4
add esp, 0x10
cmp ecx, dword [0x27dfa60]
mov dword [esp + 0x18], eax
jb 0x1000eb2f
mov edx, dword [0x27dfa6c]
cmp edx, dword [0x27df9c4]
mov ecx, eax
je 0x1000eb24
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x1a]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
push ecx
call fcn.10013010
add esp, 4
jmp 0x1000eb78
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
mov edi, ecx
mov dword [0x27dfa5c], edi
jne 0x1000eb4c
mov eax, dword [ebp + 0x794]
jmp 0x1000eb75
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 + 0x2c], ecx
mov dh, byte [esp + 0x2e]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
mov dword [edi - 4], eax
push 0
push esi
call fcn.10012bd0
mov edi, dword [esp + 0x3c]
add esp, 8
mov ebx, 1
cmp edi, 8
ja 0x1000eb97
mov dword [esp + 0x5c], ebx
jmp 0x1000ebd3
cmp dword [esp + 0x10], 0
je 0x1000ebb2
mov eax, dword [esp + 0x68]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 4
mov dword [esp + 0x5c], eax
jmp 0x1000ebd3
cmp edi, 0x20
jne 0x1000ebcb
mov eax, dword [esp + 0x80]
neg eax
sbb eax, eax
add eax, 4
mov dword [esp + 0x5c], eax
jmp 0x1000ebd3
mov dword [esp + 0x5c], 3
mov ecx, dword [ebp + 0x76c]
mov eax, edi
imul eax, dword [esp + 0x20]
add eax, 0x1f
shr eax, 3
and eax, 0x1ffffffc
xor esi, esi
cmp ecx, esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], ecx
jne 0x1000ec01
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x40]
xor edx, edx
lea eax, [ecx + eax - 1]
div ecx
cmp dword [esp + 0x68], esi
mov dword [esp + 0x3c], eax
je 0x1000ec23
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], 8
cmp dword [esp + 0x80], esi
je 0x1000ec34
mov dword [esp + 0x34], 0x18
cmp dword [esp + 0x14], esi
je 0x1000ec44
or dword [ebp + 0x734], ebx
mov dword [esp + 0x30], esi
cmp dword [esp + 0x10], esi
je 0x1000ec4e
mov dword [esp + 0x30], esi
mov esi, dword [ebp + 0x4fc]
test esi, esi
je 0x1000edc9
mov ecx, dword [ebp + 0x504]
lea ebx, [esi + 5]
add ecx, esi
cmp ebx, ecx
ja 0x1000ed88
nop
mov al, byte [esi]
test al, al
je 0x1000ed88
mov edx, dword [esi + 1]
lea ecx, [esi + edx + 5]
mov edx, dword [ebp + 0x504]
add edx, dword [ebp + 0x4fc]
cmp ecx, edx
ja 0x1000ed88
cmp al, 0x23
jne 0x1000ed07
cmp byte [ebx], 1
je 0x1000ed07
movzx eax, word [esi + 8]
movzx ecx, ax
add ecx, 0xffffffff
cmp cx, 0xb
ja 0x1000ed07
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 0x27e038c
call fcn.10016b90
add esp, 0x18
test eax, eax
jne 0x1000ed07
nop
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], 0xffffe4a5
call fcn.10016d37
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 0x27e038c
call fcn.10016b90
add esp, 0x20
test eax, eax
je 0x1000ecd0
cmp byte [esi], 0x2b
jne 0x1000ed6a
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 0x27e038c
call fcn.100169b0
add esp, 0x18
test eax, eax
jne 0x1000ed6a
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], 0xffffe4a5
call fcn.10016d37
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 0x27e038c
call fcn.100169b0
add esp, 0x20
test eax, eax
je 0x1000ed32
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 0x1000ec70
mov eax, dword [ebp + 0x504]
add eax, dword [ebp + 0x4fc]
cmp esi, eax
je 0x1000edc9
mov edi, 0xfffffbf6
lea ecx, [ecx]
cmp byte [esi], 0
je 0x1000edc9
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], edi
call fcn.10016d37
mov edx, dword [ebp + 0x504]
add edx, dword [ebp + 0x4fc]
add esp, 8
cmp esi, edx
jne 0x1000eda0
mov eax, dword [esp + 0x20]
cmp eax, 0x10000
push eax
mov esi, 0x100
jae 0x1000ede1
call fcn.1000e0a0
jmp 0x1000ede6
call fcn.1000e050
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, 0x10000
push eax
mov esi, 0x101
jae 0x1000ee01
call fcn.1000e0a0
jmp 0x1000ee06
call fcn.1000e050
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x60]
add esp, 4
cmp ebx, 6
mov eax, edi
je 0x1000ee28
cmp ebx, 7
je 0x1000ee28
cmp edi, 8
jle 0x1000ee3c
jmp 0x1000ee37
xor ecx, ecx
cmp dword [esp + 0x14], ecx
sete cl
lea ecx, [ecx + ecx + 1]
mov esi, ecx
mov eax, 8
push 0x102
push 0
push 0x27e038c
mov word [esp + 0x60], ax
mov word [esp + 0x62], ax
mov word [esp + 0x64], ax
mov word [esp + 0x66], ax
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000ee76
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x102
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000eea9
lea edx, [esp + 0x54]
push edx
push esi
push 3
push 0x102
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0x103
movzx eax, bx
push 0
push 0x27e038c
mov dword [esp + 0x24], eax
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000eed6
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x103
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000ef0a
lea ecx, [esp + 0x18]
push ecx
push 1
push 3
push 0x103
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp ebx, 6
je 0x1000ef14
cmp ebx, 7
jne 0x1000ef1f
mov esi, 1
mov dword [esp + 0x3c], esi
jmp 0x1000ef23
mov esi, dword [esp + 0x3c]
push 0x111
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000ef49
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x111
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000ef78
push eax
push esi
push 4
push 0x111
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0x117
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000ef9e
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x117
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000efcd
push eax
push esi
push 4
push 0x117
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp ebx, 6
je 0x1000efea
cmp ebx, 7
je 0x1000efea
cmp dword [esp + 0x14], 0
mov eax, 1
jne 0x1000efe7
mov eax, dword [esp + 0x5c]
push eax
jmp 0x1000eff8
xor edx, edx
cmp dword [esp + 0x14], edx
sete dl
lea edx, [edx + edx + 1]
push edx
mov esi, 0x115
call fcn.1000e0a0
mov eax, dword [esp + 0x30]
add esp, 4
push 0x116
push 0
push 0x27e038c
mov dword [esp + 0x24], eax
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f033
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x116
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
mov esi, 1
jne 0x1000f06b
lea ecx, [esp + 0x18]
push ecx
push esi
push 4
push 0x116
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp ebx, 3
jne 0x1000f09a
cmp dword [esp + 0x78], 0
mov esi, 0x124
jne 0x1000f08b
push 0
call fcn.1000e050
add esp, 4
jmp 0x1000f161
push 1
call fcn.1000e050
add esp, 4
jmp 0x1000f161
cmp ebx, 4
jne 0x1000f0b3
push 0
mov esi, 0x125
call fcn.1000e050
add esp, 4
jmp 0x1000f161
cmp ebx, 6
je 0x1000f0c1
cmp ebx, 7
jne 0x1000f161
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x94]
push ebx
push edx
push eax
call fcn.10008ac0
add esp, 0xc
cmp ebx, 6
jne 0x1000f112
push 1
mov esi, 0x200
call fcn.1000e0a0
push 0
mov esi, 0x201
call fcn.1000e050
mov ecx, dword [0x27dfac0]
push ebp
push ecx
call fcn.100050a0
push eax
mov esi, 0x202
call fcn.1000e050
add esp, 0x14
lea esi, [ebx - 5]
cmp edi, 8
ja 0x1000f5a1
cmp dword [esp + 0x14], 0
je 0x1000f5a1
mov edi, esi
mov dword [esp + 0x50], edi
cmp ebx, 6
jne 0x1000f161
push 0
push edi
push 4
mov esi, 0x207
call fcn.1000d720
push 0
push edi
push 4
mov esi, 0x208
call fcn.1000d720
push 0
push edi
push 4
mov esi, 0x209
call fcn.1000d720
add esp, 0x24
push 0x142
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f187
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x143
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f1ad
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x144
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f1d3
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x145
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f1f9
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
cmp ebx, 6
je 0x1000f387
cmp ebx, 7
je 0x1000f390
push 0x200
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f231
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x201
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f257
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x202
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f27d
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x212
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f2a3
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x213
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f2c9
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x211
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f2ef
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x207
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f315
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x208
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f33b
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x209
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f361
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x203
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f387
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
cmp ebx, 7
jne 0x1000f474
push 0x200
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f3b6
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x201
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f3dc
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x202
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f402
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x207
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f428
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x208
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f44e
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x209
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f474
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
cmp ebx, 5
je 0x1000f4ac
cmp ebx, 8
je 0x1000f4ac
cmp ebx, 0x80b2
je 0x1000f4ac
push 0x13d
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f4ac
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
cmp ebx, 6
je 0x1000f4b6
cmp ebx, 7
jne 0x1000f502
push 0x80a3
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f4dc
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x80a6
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f502
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
cmp dword [esp + 0x38], 0
je 0x1000f6c2
cmp ebx, 6
je 0x1000f6bb
cmp ebx, 7
je 0x1000f6bb
push 3
mov esi, 0x106
call fcn.1000e0a0
add esp, 4
cmp ebx, 6
je 0x1000f812
cmp ebx, 7
je 0x1000f812
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.1000d720
mov esi, eax
push ebx
add esi, 0xe
push 0
push esi
call fcn.10016e31
xor eax, eax
add esp, 0x18
cmp dword [esp + 0x30], eax
je 0x1000f76d
cmp dword [ebp + 0x34], eax
jle 0x1000f78c
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 0x1000f586
jmp 0x1000f78c
mov eax, 2
mov word [esp + 0x64], ax
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
mov word [esp + 0x1a], ax
mov eax, dword [ebp + 0x778]
cmp eax, 3
mov word [esp + 0x7c], si
mov word [esp + 0x7e], si
mov word [esp + 0x66], si
mov word [esp + 0x18], si
ja 0x1000f60c
jmp dword [eax*4 + 0x27d0da8]
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], 0xfffffc07
call fcn.10016d37
add esp, 8
cmp ebx, 7
mov edi, 3
mov dword [esp + 0x50], edi
jne 0x1000f12c
mov ecx, 0x80
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xc0], ecx
mov edx, 1
lea ecx, [esp + 0xa0]
push ecx
mov eax, 0xff
push 6
push 5
mov esi, 0x214
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edx
call fcn.1000d720
add esp, 0xc
jmp 0x1000f161
push 6
jmp 0x1000f521
cmp dword [esp + 0x68], 0
je 0x1000f6dd
push 1
mov esi, 0x106
call fcn.1000e0a0
add esp, 4
jmp 0x1000f812
cmp dword [esp + 0x14], 0
je 0x1000f720
cmp ebx, 6
je 0x1000f6c9
cmp ebx, 7
je 0x1000f6c9
lea eax, [ebx - 2]
cmp eax, 2
mov esi, 0x106
ja 0x1000f70a
push 0
call fcn.1000e0a0
add esp, 4
jmp 0x1000f812
xor edx, edx
cmp byte [ebp + 0x3d], dl
sete dl
push edx
call fcn.1000e0a0
add esp, 4
jmp 0x1000f812
cmp dword [esp + 0x10], 0
je 0x1000f73b
push 5
mov esi, 0x106
call fcn.1000e0a0
add esp, 4
jmp 0x1000f812
cmp ebx, 6
je 0x1000f759
cmp ebx, 7
je 0x1000f759
push 2
mov esi, 0x106
call fcn.1000e0a0
add esp, 4
jmp 0x1000f812
push 6
mov esi, 0x106
call fcn.1000e0a0
add esp, 4
jmp 0x1000f812
cmp dword [ebp + 0x34], 0
jle 0x1000f78c
lea ecx, [ebp + 0x3e]
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 0x1000f776
mov edx, dword [ebp + 0x34]
mov eax, edi
sub eax, edx
xor ecx, ecx
test edx, edx
lea eax, [esi + eax*2]
jle 0x1000f7b6
lea esi, [ebp + 0x3d]
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 0x1000f7a0
mov edx, dword [ebp + 0x34]
sub edi, edx
xor ecx, ecx
cmp dword [esp + 0x30], ecx
lea eax, [eax + edi*2]
je 0x1000f7e8
test edx, edx
jle 0x1000f806
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 0x1000f7d0
jmp 0x1000f806
test edx, edx
jle 0x1000f806
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 0x1000f7f0
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x30], 0
push 0x10a
push 0
mov esi, 1
push 0x27e038c
mov dword [esp + 0x24], esi
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f841
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x10a
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000f875
lea eax, [esp + 0x18]
push eax
push esi
push 3
push 0x10a
push 0
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0x112
push 0
push 0x27e038c
mov dword [esp + 0x24], esi
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f89f
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x112
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000f8d2
lea ecx, [esp + 0x18]
push ecx
push esi
push 3
push 0x112
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp ebx, 5
je 0x1000f8e8
cmp ebx, 8
je 0x1000f8e8
cmp ebx, 0x80b2
jne 0x1000f956
xor edx, edx
cmp dword [ebp + 0x77c], 2
push 0x13d
sete dl
push 0
push 0x27e038c
add edx, esi
movzx eax, dx
mov dword [esp + 0x24], eax
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f923
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x13d
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000f956
lea ecx, [esp + 0x18]
push ecx
push esi
push 3
push 0x13d
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp dword [esp + 0x84], 0
je 0x1000f9c4
cmp dword [esp + 0x5c], 4
jne 0x1000f9c4
push 0x152
push 0
push 0x27e038c
mov dword [esp + 0x24], esi
call fcn.10016920
add esp, 0xc
test eax, eax
je 0x1000f991
push eax
push 0x27e038c
call fcn.100165d0
add esp, 8
push 0x152
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000f9c4
lea edx, [esp + 0x18]
push edx
push esi
push 3
push 0x152
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0xfe
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000f9f3
push eax
push esi
push 4
push 0xfe
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp byte [ebp + 0x760], 2
push 0x128
push 0
push 0x27e038c
je 0x1000fa23
mov dword [esp + 0x24], 2
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000fa53
lea eax, [esp + 0x18]
push eax
jmp 0x1000fa3c
mov dword [esp + 0x24], 3
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000fa53
lea ecx, [esp + 0x18]
push ecx
push esi
push 3
push 0x128
push 0
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0x128
push 0
push 0x27e038c
call fcn.10016920
lea esi, [eax + 0xe]
push esi
call fcn.10016420
add esp, 0x10
cmp ax, 2
mov edi, 0x64
jne 0x1000fa95
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
imul edx, edx, 0x64
mov dword [esp + 0x54], edx
imul ecx, ecx, 0x64
mov eax, 0xf61
jmp 0x1000faff
push esi
call fcn.10016420
add esp, 4
cmp ax, 3
jne 0x1000fab9
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
jmp 0x1000fb0b
lea eax, [ebx - 2]
cmp eax, 2
ja 0x1000faf1
mov edx, dword [esp + 0x20]
cmp edx, 0x7d0
mov ecx, 0xc8
mov dword [esp + 0x54], ecx
jb 0x1000fafa
mov eax, 0x7d0
jmp 0x1000fae0
add eax, 0x7d0
add ecx, 0xc8
cmp edx, eax
jae 0x1000fae0
jmp 0x1000faf6
mov ecx, 0x48
mov dword [esp + 0x54], ecx
mov eax, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x58], eax
push 0x11a
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000fb3f
lea edx, [esp + 0x54]
push edx
push 1
push 5
push 0x11a
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0x11b
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000fb74
lea eax, [esp + 0x18]
push eax
push 1
push 5
push 0x11b
push 0
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
cmp dword [esp + 0x10], 0
je 0x1000fbf8
cmp dword [esp + 0x68], 0
jne 0x1000fbf8
cmp dword [0x27df9c4], 0
jne 0x1000fba5
mov ecx, dword [ebp + 0x75c]
shr ecx, 8
movzx edx, cx
mov dword [esp + 0x18], edx
jmp 0x1000fbc4
mov eax, dword [ebp + 0x75c]
shr eax, 8
movzx dx, al
movzx cx, ah
shl dx, 8
add cx, dx
movzx eax, cx
mov dword [esp + 0x18], eax
push 0x150
push 0
push 0x27e038c
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x1000fbf8
lea ecx, [esp + 0x18]
push ecx
push 2
push 1
push 0x150
push eax
push 0x27e038c
call fcn.10016aa0
add esp, 0x18
push 0x111
push 0
push 0x27e038c
call fcn.10016920
push 0x117
add eax, 0xe
push 0
push 0x27e038c
mov dword [esp + 0x50], eax
call fcn.10016920
push 0x201
mov ebx, eax
push 0
push 0x27e038c
add ebx, 0xe
call fcn.10016920
push 0x207
add eax, 0xe
push 0
push 0x27e038c
mov dword [esp + 0x48], eax
call fcn.10016920
push 0x208
mov esi, eax
push 0
push 0x27e038c
add esi, 0xe
call fcn.10016920
push 0x209
add eax, 0xe
push 0
push 0x27e038c
mov dword [esp + 0x90], eax
call fcn.10016920
add esp, 0x48
add eax, 0xe
push 0x27e038c
lea edx, [esp + 0x8c]
mov dword [esp + 0x68], eax
push edx
lea eax, [esp + 0x78]
push eax
call fcn.100151b0
add esp, 0xc
test eax, eax
je 0x1000fcb7
mov ecx, dword [0x27dfa68]
cmp dword [ecx + 0xc], 0
jne 0x1000fcb7
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x88]
test eax, eax
jbe 0x1000fd28
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x1000fd28
push ecx
push eax
push 1
push 0x83bb
push 0
push 0x27e038c
call fcn.10016b90
add esp, 0x18
test eax, eax
jne 0x1000fd28
mov edi, 0xffffe4a5
nop
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], edi
call fcn.10016d37
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x90]
push edx
push eax
push 1
push 0x83bb
push 0
push 0x27e038c
call fcn.10016b90
add esp, 0x20
test eax, eax
je 0x1000fcf0
mov ecx, dword [esp + 0x70]
push ecx
call fcn.10015850
xor edi, edi
push 0x27e038c
push ebp
mov dword [esp + 0x7c], edi
mov dword [esp + 0x94], edi
call fcn.1000d5c0
add esp, 0xc
mov dword [0x27e0398], eax
cmp dword [eax], edi
mov dword [esp + 0x14], edi
je 0x1000fd7f
mov ecx, eax
mov edx, edi
mov edi, edi
mov ecx, dword [ecx]
mov ecx, dword [ecx + 1]
sub ecx, 9
cmp ecx, 4
jbe 0x1000fd6f
add edx, ecx
add edi, 1
cmp dword [eax + edi*4], 0
lea ecx, [eax + edi*4]
jne 0x1000fd60
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
call fcn.10011ab0
lea edx, [edi + edi*2]
lea edi, [eax + edx*4 + 6]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], edi
add edi, eax
call fcn.10011ab0
cmp edi, eax
jae 0x1000fdc3
mov ecx, dword [ebp + 0x498]
push 2
push ecx
mov dword [ebp + 0xc], 0xfffffa0b
call fcn.10016d37
add esp, 8
call fcn.10011ab0
cmp edi, eax
jb 0x1000fda2
mov eax, dword [esp + 0x28]
cmp eax, 6
jne 0x1000ff07
mov edx, dword [0x27e0328]
lea eax, [edi + edx]
push ebp
push eax
call fcn.100050a0
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.10016430
mov edx, dword [0x27e032c]
push ebp
push edx
call fcn.100050a0
push eax
push ebx
call fcn.10016430
mov eax, dword [0x27dfabc]
add esp, 0x20
lea ecx, [edi + eax]
push ebp
push ecx
call fcn.100050a0
mov edx, dword [esp + 0x20]
push eax
push edx
call fcn.10016430
add esp, 0x10
cmp dword [esp + 0x50], 0
jle 0x1000fed1
mov eax, dword [esp + 0x48]
sub eax, esi
mov dword [esp + 0x48], eax
mov eax, 0x27dfadc
sub eax, esi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov ebx, 0x27dfac4
mov ebp, 0x27dfad0
sub ebx, esi
sub ebp, esi
sub eax, esi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
nop
mov ecx, dword [esp + 0xd4]
mov edx, dword [ebx + esi]
push ecx
add edx, edi
push edx
call fcn.100050a0
push eax
push esi
call fcn.10016430
mov eax, dword [esp + 0xe4]
mov ecx, dword [esi + ebp]
push eax
add ecx, edi
push ecx
call fcn.100050a0
mov edx, dword [esp + 0x60]
push eax
add edx, esi
push edx
call fcn.10016430
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xf4]
mov edx, dword [ecx + esi]
push eax
add edx, edi
push edx
call fcn.100050a0
push eax
mov eax, dword [esp + 0x90]
add eax, esi
push eax
call fcn.10016430
add esp, 0x30
add esi, 4
sub dword [esp + 0x18], 1
jne 0x1000fe60
mov eax, dword [0x27dfa5c]
add eax, 2
cmp eax, dword [0x27dfa60]
jb 0x1000ff60
mov ecx, dword [0x27dfa6c]
cmp ecx, dword [0x27df9c4]
mov ebp, dword [esp + 0x10]
jne 0x1000ff41
mov eax, ebp
push eax
call fcn.10012ff0
add esp, 4
jmp 0x1000ff97
cmp eax, 7
jne 0x1000fed1
mov esi, ebp
push esi
push edi
call fcn.100050a0
push eax
mov eax, dword [esp + 0x44]
push eax
call fcn.10016430
mov ecx, dword [0x27e0328]
mov edx, dword [0x27e032c]
add edx, ecx
push esi
push edx
call fcn.100050a0
push eax
push ebx
call fcn.10016430
add esp, 0x20
jmp 0x1000fed1
mov ecx, dword [esp + 0x10]
mov edx, ecx
sar edx, 8
movzx ecx, cl
movzx eax, dl
shl ecx, 8
add eax, ecx
push eax
call fcn.10012ff0
add esp, 4
jmp 0x1000ff97
mov edx, eax
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
mov dword [0x27dfa5c], edx
jne 0x1000ff7b
mov eax, dword [esp + 0x10]
jmp 0x1000ff8f
mov ecx, dword [esp + 0x10]
mov eax, ecx
sar eax, 8
movzx ecx, cl
movzx eax, al
shl ecx, 8
add eax, ecx
mov ebp, dword [esp + 0x10]
mov word [edx - 2], ax
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.100050a0
add esp, 8
xor esi, esi
test ebp, ebp
mov dword [esp + 0x18], eax
jle 0x1001002b
mov ebx, dword [esp + 0x3c]
jmp 0x1000ffc4
mov eax, dword [esp + 0x18]
mov ecx, dword [0x27e0398]
mov edx, dword [ecx + esi*4]
movzx ecx, word [edx + 6]
cmp cx, 0x111
jne 0x1000fff6
cmp ebx, 1
jne 0x1000fff0
mov ecx, dword [esp + 0x28]
cmp ecx, 6
je 0x1000fff0
cmp ecx, 7
je 0x1000fff0
mov dword [edx + 0xe], edi
jmp 0x1001000e
mov dword [esp + 0x4c], eax
jmp 0x1001000e
cmp cx, 0x117
jne 0x1001000e
cmp ebx, 1
jne 0x1001000a
call fcn.10011ab0
add eax, 8
mov dword [esp + 0x60], eax
mov eax, dword [0x27e0398]
mov ecx, dword [eax + esi*4]
lea edx, [esp + 0x18]
push edx
push ecx
call fcn.1000dab0
add esi, 1
add esp, 8
cmp esi, ebp
jl 0x1000ffc0
mov eax, dword [0x27dfa5c]
add eax, 4
cmp eax, dword [0x27dfa60]
jb 0x10010089
mov edx, dword [0x27dfa6c]
cmp edx, dword [0x27df9c4]
jne 0x1001005b
mov eax, dword [esp + 0x24]
push eax
call fcn.10013010
add esp, 4
jmp 0x100100ca
mov ecx, dword [esp + 0x24]
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
xor edx, edx
mov dh, byte [esp + 0x26]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
push eax
call fcn.10013010
add esp, 4
jmp 0x100100ca
mov esi, eax
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
mov dword [0x27dfa5c], esi
jne 0x100100a4
mov eax, dword [esp + 0x24]
jmp 0x100100c7
mov ecx, dword [esp + 0x24]
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
xor edx, edx
mov dh, byte [esp + 0x26]
shl eax, 8
shr ecx, 0x18
add eax, edx
add eax, ecx
mov dword [esi - 4], eax
xor esi, esi
test ebp, ebp
jle 0x100100f8
mov eax, dword [0x27e0398]
mov eax, dword [eax + esi*4]
movzx ecx, word [eax + 8]
mov edx, dword [ecx*4 + 0x27da078]
imul edx, dword [eax + 0xa]
cmp edx, 4
jbe 0x100100f1
call fcn.1000d780
add esi, 1
cmp esi, ebp
jl 0x100100d0
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
imul eax, ebp
mov esi, dword [esp + 0xd4]
add eax, 7
shr eax, 3
mov dword [esp + 0x14], eax
lea eax, [esp + 0x9c]
push eax
push edi
push esi
call fcn.10013820
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1001014d
mov edi, 0xfffffc11
mov ecx, dword [esi + 0x498]
push 2
push ecx
mov dword [esi + 0xc], edi
call fcn.10016d37
add esp, 8
jmp 0x10010137
call fcn.10011aa0
cmp dword [esp + 0x94], 0
mov dword [esp + 0x50], eax
jne 0x1001016b
push 0
push eax
call fcn.10012190
add esp, 8
mov ebx, dword [esp + 0x40]
mov eax, dword [esi + 0x4ac]
sub eax, dword [esi + 0x4a0]
mov edx, edi
imul edx, ebx
add eax, 0xffffffff
cmp eax, edx
mov dword [esp + 0x18], 0xffffffff
jae 0x10010197
xor edx, edx
div edi
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x28]
lea eax, [edi - 2]
cmp eax, 2
ja 0x1001022e
push ebp
call fcn.100067c0
add esp, 4
push esi
call fcn.10018e79
add esp, 4
cmp edi, 6
je 0x10010d42
cmp edi, 7
je 0x10010d42
xor ebp, ebp
test ebx, ebx
jbe 0x10010920
jmp 0x100101e0
mov esi, dword [esp + 0xd4]
push esi
call fcn.10011ab0
push eax
call fcn.100050a0
push eax
xor edx, edx
mov eax, ebp
div dword [esp + 0x38]
mov edx, dword [esp + 0x44]
lea eax, [edx + eax*4]
push eax
call fcn.10016430
mov ecx, dword [esp + 0x38]
lea eax, [ecx - 2]
mov ebx, 2
add esp, 0x10
cmp eax, ebx
ja 0x10010286
call fcn.100068f0
mov dword [esp + 0x6c], ebx
jmp 0x10010360
cmp edi, 5
jne 0x100101b0
lea eax, [esp + 0x9c]
push eax
push 0x1000
push 0xc
call fcn.10009420
add esp, 8
push eax
push esi
call fcn.10013820
add esp, 0xc
test eax, eax
mov dword [esp + 0x74], eax
jne 0x100101b0
mov edi, 0xfffffc11
lea esp, [esp]
mov ecx, dword [esi + 0x498]
push 2
push ecx
mov dword [esi + 0xc], edi
call fcn.10016d37
add esp, 8
jmp 0x10010270
cmp ecx, 5
jne 0x100102b8
mov ecx, dword [esp + 0x74]
push esi
push 0x1000
push 0x27cd340
push 3
push 0x101
push 0x100
push 0xc
push 9
push ecx
call fcn.10009680
add esp, 0x24
jmp 0x10010360
cmp ecx, 8
je 0x100102c9
cmp ecx, 0x80b2
jne 0x10010360
xor edi, edi
mov dword [0x27e03b8], edi
mov dword [0x27e03bc], edi
mov dword [0x27e03cc], 0x27ce010
mov dword [0x27e03d0], 0x27ce030
mov dword [0x27e03d4], 0x27e03e4
cmp dword [esi + 0x77c], ebx
jne 0x1001030f
cmp dword [esp + 0x34], 8
jbe 0x1001030f
push 0x38
push 0x27da0ac
push 1
jmp 0x10010317
push 0x38
push 0x27da0ac
push edi
push 8
push 0xf
push 8
push 0xffffffffffffffff
push 0x27e03ac
call fcn.10001000
add esp, 0x20
cmp eax, edi
je 0x10010360
cmp eax, 0xfffffffc
jne 0x1001033c
mov eax, 0xfffffc11
jmp 0x1001034d
sub eax, 0xfffffffa
neg eax
sbb eax, eax
and eax, 0xffffe2bb
add eax, 0xfffffa1d
mov edx, dword [esi + 0x498]
push ebx
push edx
mov dword [esi + 0xc], eax
call fcn.10016d37
add esp, 8
mov eax, dword [esp + 0x2c]
add eax, ebp
cmp ebp, eax
mov ebx, ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], eax
jae 0x100108d5
jmp 0x10010380
cmp ebx, dword [esp + 0x40]
jae 0x100108d5
cmp dword [esp + 0x94], 0
je 0x10010406
mov ecx, dword [esp + 0x18]
cmp ecx, 1
jbe 0x100103e6
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne 0x100103e6
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
sub eax, ebx
cmp eax, ecx
jae 0x100103cc
mov ecx, dword [esp + 0x50]
imul eax, esi
push eax
push ecx
call fcn.10012190
add esp, 8
jmp 0x100103ea
sub eax, ecx
mov edx, ecx
imul eax, esi
add eax, dword [esp + 0x50]
imul edx, esi
push edx
push eax
call fcn.10012190
add esp, 8
jmp 0x100103ea
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
sub eax, ebx
sub eax, 1
imul eax, esi
add eax, dword [esp + 0x50]
push esi
push eax
call fcn.10012190
add esp, 8
jmp 0x1001040a
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
cmp eax, 0x8005
ja 0x100105cd
je 0x100105e0
add eax, 0xffffffff
cmp eax, 7
ja 0x10010875
jmp dword [eax*4 + 0x27d0db8]
cmp eax, 0x80b2
jne 0x10010875
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
cmp eax, 1
jne 0x100105f7
mov eax, dword [0x27dfa5c]
lea ecx, [esi + eax]
cmp ecx, dword [0x27dfa60]
mov ebp, eax
jbe 0x100105fb
mov ebp, dword [esp + 0x10]
push esi
push ebp
call fcn.10011f20
add esp, 8
cmp dword [esp + 0x68], 0
je 0x1001061c
lea eax, [ebx + 1]
imul eax, eax, 0x64
xor edx, edx
div dword [esp + 0x40]
mov ecx, dword [esp + 0xd4]
mov dword [ecx + 0x494], eax
mov eax, dword [esp + 0x8c]
add eax, 1
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x8c], eax
jne 0x100108c4
mov edx, dword [0x27dfa68]
push 3
push edx
call fcn.100050b0
add esp, 8
mov dword [esp + 0x8c], 0
add ebx, 1
cmp ebx, dword [esp + 0x48]
mov dword [esp + 0x24], ebx
jb 0x10010380
mov eax, dword [esp + 0x28]
lea ecx, [eax - 2]
cmp ecx, 2
ja 0x100108e8
call fcn.10006b60
jmp 0x10010912
cmp eax, 5
jne 0x100108fc
mov eax, dword [esp + 0x74]
push eax
call fcn.10009440
add esp, 4
jmp 0x10010912
cmp eax, 8
je 0x10010908
cmp eax, 0x80b2
jne 0x10010912
mov eax, 0x27e03ac
call fcn.1000dec0
mov ebp, dword [esp + 0x48]
cmp ebp, dword [esp + 0x40]
jb 0x100101e0
mov eax, dword [esp + 0x28]
lea ecx, [eax - 2]
cmp ecx, 2
ja 0x100109a6
sub eax, 2
je 0x10010944
sub eax, 1
je 0x10010944
sub eax, 1
je 0x10010986
jmp 0x100109a1
cmp dword [esp + 0x78], 0
mov esi, 6
jne 0x10010970
push 0xc
push 0x100000
sub esi, 1
call fcn.10006aa0
add esp, 8
test esi, esi
jg 0x10010950
jmp 0x10010986
push 0xd
push 0x180000
sub esi, 1
call fcn.10006aa0
add esp, 8
test esi, esi
jg 0x10010970
push 0xc
push 0x100000
call fcn.10006aa0
push 0xc
push 0x100000
call fcn.10006aa0
add esp, 0x10
call fcn.10006b10
mov ebp, dword [esp + 0xd4]
mov dword [ebp + 0x494], 0x64
call fcn.10011ab0
mov ebx, dword [esp + 0x3c]
cmp ebx, 1
mov dword [esp + 0x30], eax
jle 0x10010a86
mov ecx, dword [esp + 0x4c]
push 0
push ecx
call fcn.10012bd0
add esp, 8
test ebx, ebx
jle 0x10010a86
mov esi, dword [esp + 0x38]
push esi
call fcn.10016440
mov ecx, dword [0x27dfa5c]
add ecx, 4
add esp, 4
cmp ecx, dword [0x27dfa60]
mov dword [esp + 0x4c], eax
jb 0x10010a3e
mov edx, dword [0x27dfa6c]
cmp edx, dword [0x27df9c4]
mov ecx, eax
je 0x10010a33
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x4e]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
push ecx
call fcn.10013010
add esp, 4
jmp 0x10010a76
mov edi, ecx
mov ecx, dword [0x27dfa6c]
cmp ecx, dword [0x27df9c4]
mov dword [0x27dfa5c], edi
mov ecx, eax
je 0x10010a73
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x4e]
shl ecx, 8
shr eax, 0x18
add ecx, edx
add ecx, eax
mov dword [edi - 4], ecx
add esi, 4
sub ebx, 1
jne 0x100109e8
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
push 0
push eax
call fcn.10012bd0
lea eax, [ebx - 1]
add esp, 8
test eax, eax
mov dword [esp + 0x4c], 0
jle 0x10010b74
mov edi, dword [esp + 0x38]
lea esp, [esp]
push edi
call fcn.10016440
lea ecx, [edi + 4]
push ecx
mov esi, eax
call fcn.10016440
add esp, 8
cmp eax, esi
jb 0x10010bac
mov ecx, dword [0x27dfa5c]
add ecx, 4
sub eax, esi
cmp ecx, dword [0x27dfa60]
jb 0x10010b1b
mov edx, dword [0x27dfa6c]
cmp edx, dword [0x27df9c4]
mov ecx, eax
je 0x10010b10
xor edx, edx
mov dword [esp + 0x60], eax
mov dh, byte [esp + 0x62]
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.10013010
add esp, 4
jmp 0x10010b57
mov edx, ecx
mov ecx, dword [0x27dfa6c]
cmp ecx, dword [0x27df9c4]
mov dword [0x27dfa5c], edx
mov ecx, eax
je 0x10010b54
xor ebx, ebx
mov dword [esp + 0x60], eax
mov bh, byte [esp + 0x62]
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 + 0x4c]
mov eax, dword [esp + 0x3c]
add ecx, 1
add eax, 0xffffffff
add edi, 4
cmp ecx, eax
mov dword [esp + 0x4c], ecx
jl 0x10010ab0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + ecx*4 - 4]
push edx
call fcn.10016440
mov edi, dword [esp + 0x34]
add esp, 4
cmp edi, eax
jae 0x10010bc7
mov esi, 0xfffffa0b
mov eax, dword [ebp + 0x498]
push 2
push eax
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x10010b96
mov esi, 0xfffffa0b
mov edx, dword [ebp + 0x498]
push 2
push edx
mov dword [ebp + 0xc], esi
call fcn.10016d37
add esp, 8
jmp 0x10010bb1
mov ecx, dword [0x27dfa5c]
add ecx, 4
cmp ecx, dword [0x27dfa60]
push ebp
jb 0x10010c5d
mov ecx, dword [0x27dfa6c]
cmp ecx, dword [0x27df9c4]
jne 0x10010c06
mov edx, edi
sub edx, eax
push edx
call fcn.100050a0
add esp, 8
push eax
call fcn.10013010
add esp, 4
jmp 0x10010d0b
mov esi, dword [esp + 0x34]
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 + 0x50]
add esp, 0x20
push eax
call fcn.10013010
add esp, 4
jmp 0x10010d0b
mov dword [0x27dfa5c], ecx
mov ecx, dword [0x27dfa6c]
cmp ecx, dword [0x27df9c4]
jne 0x10010c83
mov esi, edi
sub esi, eax
push esi
call fcn.100050a0
add esp, 8
jmp 0x10010ccc
mov esi, dword [esp + 0x34]
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 + 0x30]
mov edx, dword [0x27dfa5c]
mov dword [edx - 4], eax
mov eax, dword [0x27dfa6c]
cmp eax, dword [0x27df9c4]
push ebp
push esi
jne 0x10010cee
call fcn.100050a0
add esp, 8
jmp 0x10010d0b
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.10012bd0
mov ecx, dword [0x27dfa5c]
add esp, 8
push ebp
mov dword [ebp + 0x4c4], ecx
call fcn.10011ab0
push eax
call fcn.100050a0
add esp, 8
pop edi
pop esi
mov dword [ebp + 0x764], eax
pop ebp
pop ebx
add esp, 0xc0
ret
mov edx, dword [0x27dfac0]
mov eax, dword [0x27dfab8]
push edx
push eax
call fcn.100129a0
mov ecx, dword [0x27dfa5c]
add esp, 8
push esi
mov dword [esi + 0x4c4], ecx
call fcn.10011ab0
push eax
call fcn.100050a0
add esp, 8
pop edi
mov dword [esi + 0x764], eax
mov dword [esi + 0xc], 0
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret