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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
push esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1a4]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xe]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0xc]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x8a4]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x8c]
shr ecx, 8
add ecx, 1
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x7c]
xor edx, edx
div ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x8b0]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x20
neg edx
sbb edx, edx
and edx, 0x7f8000
add edx, 0x8000
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0xa]
test ecx, ecx
je 0x1008ab5a
mov edx, dword [ebp - 0x1c]
and edx, 0x80
jne 0x1008ab5a
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jge 0x1008ab52
mov edx, dword [ebp - 0x18]
shl edx, 2
mov dword [ebp - 0x18], edx
jmp 0x1008ab5a
mov eax, dword [ebp - 0x18]
shl eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x7c]
add edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x8c]
jbe 0x1008ab80
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x8c]
sub eax, dword [edx + 0x7c]
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0
jne 0x1008ab8d
xor eax, eax
jmp 0x1008e445
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x7c], 0
jne 0x1008abe8
mov edx, dword [ebp - 0x50]
push edx
call fcn.1008a910
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
push eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
call fcn.1008e450
add esp, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + 0x98], 0
je 0x1008abe8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
push eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x50
push ecx
call fcn.1008e450
add esp, 0xc
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
movsx ecx, byte [eax + edx*8 + 0x84]
test ecx, ecx
jne 0x1008ac81
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x884], 0
jne 0x1008ac3d
mov eax, dword [ebp - 0x50]
push eax
call fcn.1008e600
add esp, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x888], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x888]
shl eax, 8
push eax
call fcn.100630dc
add esp, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x884], eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x7c]
mov dword [eax + edx*8 + 0x88], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
imul eax, dword [edx + 0x888]
mov ecx, dword [ebp - 0x50]
add eax, dword [ecx + 0x884]
push eax
mov edx, dword [ebp - 0x50]
push edx
call fcn.1008e760
add esp, 8
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov byte [ecx + eax*8 + 0x84], 1
mov edx, dword [ebp - 0x50]
add edx, 0x8b4
mov eax, dword [edx]
mov dword [ebp - 0x10], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xc], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 8], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x8c4]
mov dword [ebp - 0x30], eax
mov ecx, dword [edx + 0x8c8]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1008acd5
mov ecx, dword [ebp - 0x1c]
and ecx, 0xa000
je 0x1008acd3
mov dword [ebp - 0x54], 0xffffff00
jmp 0x1008acf9
mov edx, dword [ebp - 0x1c]
and edx, 0x2000
je 0x1008acf9
mov eax, dword [ebp - 0x1c]
and eax, 0x8000
neg eax
sbb eax, eax
and eax, 0xffffff00
add eax, 0xffffff00
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x1c]
and ecx, 0x20
je 0x1008ad33
mov edx, 0xff800000
mov ecx, dword [ebp - 0x68]
sar edx, cl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov dword [ebp - 0x38], eax
mov edx, 0x7fffff
mov ecx, dword [ebp - 0x68]
sar edx, cl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov dword [ebp - 0x44], eax
jmp 0x1008ad63
mov edx, 0xffff8000
mov ecx, dword [ebp - 0x68]
sar edx, cl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov dword [ebp - 0x38], eax
mov edx, 0x7fff
mov ecx, dword [ebp - 0x68]
sar edx, cl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 8]
cmp edx, 3
jne 0x1008b718
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x1008b718
mov edx, dword [ebp - 0x1c]
and edx, 1
je 0x1008b718
mov eax, dword [ebp - 0x1c]
and eax, 2
je 0x1008af64
mov ecx, dword [ebp - 0x1c]
and ecx, 0x40
je 0x1008aef1
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1008adbe
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1008aeef
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008ade5
jmp 0x1008aeef
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 4
jge 0x1008ae5d
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [eax + 0x2c]
jne 0x1008ae2f
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x48]
shl edx, cl
mov ecx, dword [ebp - 0x50]
or edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x48]
add edx, 8
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x48], edx
jmp 0x1008adf7
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 0x20
jle 0x1008ae9e
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x48]
sub edx, 4
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x48], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x50]
mov edx, 8
sub edx, dword [ecx + 0x48]
mov ecx, edx
sar eax, cl
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
jmp 0x1008aebc
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x6c]
and edx, 0xf
mov eax, dword [ebp - 0x10]
shl eax, 4
add edx, eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008adb5
jmp 0x1008af5f
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1008af09
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1008af5f
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008af29
jmp 0x1008af5f
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008af00
jmp 0x1008b713
mov edx, dword [ebp - 0x1c]
and edx, 0x10
je 0x1008b413
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008af88
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008b40e
mov eax, dword [ebp - 0x1c]
and eax, 0x400
je 0x1008afbb
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008ebb0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008afb9
jmp 0x1008b40e
jmp 0x1008afd6
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008f6c0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008afd6
jmp 0x1008b40e
mov ecx, dword [ebp - 0x1c]
and ecx, 0x8000
je 0x1008b0d2
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x8cc
mov dword [ebp - 0x24], ecx
jmp 0x1008b008
mov edx, dword [ebp - 0x24]
add edx, 0x60
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sub ecx, 1
mov dword [ebp - 0x40], ecx
test eax, eax
je 0x1008b0cd
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + edx*4 + 0x10]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, dword [ebp - 0x74]
add eax, 0x100
sar eax, 9
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x74], 0
je 0x1008b0ad
cmp dword [ebp - 0x3c], 0
je 0x1008b0ad
mov ecx, dword [ebp - 0x74]
xor ecx, dword [ebp - 0x3c]
jl 0x1008b082
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], edx
cmp eax, 0x200
jne 0x1008b080
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1008b0ad
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 8]
sub edx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], edx
cmp eax, ecx
jne 0x1008b0ad
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x64]
add edx, dword [ecx]
and edx, 7
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + edx*4 + 0x10], ecx
jmp 0x1008afff
jmp 0x1008b1ba
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x8cc
mov dword [ebp - 0x24], ecx
jmp 0x1008b0f5
mov edx, dword [ebp - 0x24]
add edx, 0x60
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sub ecx, 1
mov dword [ebp - 0x40], ecx
test eax, eax
je 0x1008b1ba
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + edx*4 + 0x10]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, dword [ebp - 0x78]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x78], 0
je 0x1008b19a
cmp dword [ebp - 0x3c], 0
je 0x1008b19a
mov ecx, dword [ebp - 0x78]
xor ecx, dword [ebp - 0x3c]
jl 0x1008b16f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], edx
cmp eax, 0x100
jne 0x1008b16d
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1008b19a
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 8]
sub edx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], edx
cmp eax, ecx
jne 0x1008b19a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x64]
add edx, dword [ecx]
and edx, 7
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + edx*4 + 0x10], ecx
jmp 0x1008b0ec
mov edx, dword [ebp - 0x64]
add edx, 1
and edx, 7
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x40
je 0x1008b3e7
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x8a0], 8
jl 0x1008b2ac
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 0
je 0x1008b20b
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x48]
sub ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
and ecx, 1
mov dword [ebp - 0x140], ecx
jmp 0x1008b264
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [eax + 0x2c]
je 0x1008b22a
jmp 0x1008b23c
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x48], 7
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x3c]
and edx, 1
mov dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 0
je 0x1008b287
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
shr ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x3c], ecx
mov dword [ebp - 0x144], 1
jmp 0x1008b29f
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
shr ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x3c], ecx
mov dword [ebp - 0x144], 0
cmp dword [ebp - 0x144], 0
jne 0x1008b3b6
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 4
jge 0x1008b312
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
add edx, 1
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx + 0x2c]
jne 0x1008b2e4
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x48]
shl eax, cl
mov edx, dword [ebp - 0x50]
or eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
add eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
jmp 0x1008b2ac
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0x20
jle 0x1008b351
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x50]
mov ecx, 8
sub ecx, dword [eax + 0x48]
sar edx, cl
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], edx
jmp 0x1008b36f
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x70]
and edx, 0xf
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [eax + 0x89c]
je 0x1008b3a1
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x70]
mov dword [edx + 0x89c], eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], 0
jmp 0x1008b3b6
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x8a0]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], eax
mov edx, dword [ebp - 0x3c]
shl edx, 4
mov eax, dword [ebp - 0x50]
add edx, dword [eax + 0x89c]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x70]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x70]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008b409
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008af7f
jmp 0x1008b713
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008b42b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008b713
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008b452
jmp 0x1008b713
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 0x30]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x7c], eax
xor ecx, ecx
cmp dword [ebp - 0xc], 0
setge cl
xor edx, edx
cmp dword [ebp - 0x3c], 0
setg dl
cmp ecx, edx
jne 0x1008b49e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp eax, 0x100
jne 0x1008b49c
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x1008b4b7
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x1008b4b7
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x40
je 0x1008b6ec
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x8a0], 8
jl 0x1008b5af
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0
je 0x1008b50e
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
and eax, 1
mov dword [ebp - 0x148], eax
jmp 0x1008b567
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
add edx, 1
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx + 0x2c]
je 0x1008b52d
jmp 0x1008b53f
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], 7
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
and ecx, 1
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
je 0x1008b58a
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov dword [ebp - 0x14c], 1
jmp 0x1008b5a2
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov dword [ebp - 0x14c], 0
cmp dword [ebp - 0x14c], 0
jne 0x1008b6bb
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 4
jge 0x1008b615
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax + 0x30]
cmp edx, dword [ecx + 0x2c]
jne 0x1008b5e7
mov eax, dword [ebp - 0x50]
add eax, 0x24
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x24]
call edx
add esp, 4
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x48]
shl edx, cl
mov ecx, dword [ebp - 0x50]
or edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x48]
add edx, 8
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x48], edx
jmp 0x1008b5af
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 0x20
jle 0x1008b656
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x48]
sub edx, 4
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x48], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x50]
mov edx, 8
sub edx, dword [ecx + 0x48]
mov ecx, edx
sar eax, cl
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
jmp 0x1008b674
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x7c]
and edx, 0xf
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [eax + 0x89c]
je 0x1008b6a6
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x7c]
mov dword [edx + 0x89c], eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], 0
jmp 0x1008b6bb
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x8a0]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], eax
mov edx, dword [ebp - 0x10]
shl edx, 4
mov eax, dword [ebp - 0x50]
add edx, dword [eax + 0x89c]
mov dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x7c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008b70e
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008b422
jmp 0x1008e0d7
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jne 0x1008d0d6
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
jne 0x1008d0d6
mov ecx, dword [ebp - 0x1c]
and ecx, 1
jne 0x1008d0d6
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x890]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x894]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x88c]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x898]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x1c]
and ecx, 2
je 0x1008ba53
mov edx, dword [ebp - 0x1c]
and edx, 0x40
je 0x1008b963
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008b7ac
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008b95e
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008b7d3
jmp 0x1008b95e
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
and eax, 1
mov ecx, dword [ebp - 0x3c]
shl ecx, 1
or ecx, eax
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
add edx, dword [ebp - 0x98]
sar edx, 1
add edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x94]
sub ecx, dword [ebp - 0x98]
sar ecx, 1
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 8
jge 0x1008b89c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
add edx, 1
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx + 0x2c]
jne 0x1008b86e
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x48]
shl eax, cl
mov edx, dword [ebp - 0x50]
or eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
add eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
jmp 0x1008b836
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0x20
jle 0x1008b8de
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x50]
mov ecx, 8
sub ecx, dword [eax + 0x48]
sar edx, cl
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], edx
jmp 0x1008b8fc
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x10]
shl edx, 4
mov eax, dword [ebp - 0x90]
sar eax, 4
and eax, 0xf
add edx, eax
mov ecx, dword [ebp - 0x58]
mov dword [ecx], edx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
mov eax, dword [ebp - 0x58]
add edx, dword [eax]
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 8]
shl edx, 4
mov eax, dword [ebp - 0x90]
and eax, 0xf
add edx, eax
mov ecx, dword [ebp - 0x58]
mov dword [ecx], edx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
mov eax, dword [ebp - 0x58]
add edx, dword [eax]
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008b7a3
jmp 0x1008ba4e
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1008b97b
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1008ba4e
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008b9a2
jmp 0x1008ba4e
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0xa0]
and edx, 1
mov eax, dword [ebp - 0x3c]
shl eax, 1
or eax, edx
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0xa0]
sar ecx, 1
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x9c]
sub edx, dword [ebp - 0xa0]
sar edx, 1
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
add eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008b972
jmp 0x1008d098
mov edx, dword [ebp - 0x1c]
and edx, 0x10
je 0x1008cb5a
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008ba77
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008cb55
mov eax, dword [ebp - 0x1c]
and eax, 0x1000
je 0x1008bac6
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008ebb0
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x80000000
jne 0x1008baae
jmp 0x1008cb55
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1008ebb0
mov dword [ebp - 0xb4], eax
jmp 0x1008be9f
mov ecx, dword [ebp - 0x1c]
and ecx, 0x400
je 0x1008bcf7
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008ebb0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008baf0
jmp 0x1008cb55
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1008ebb0
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x88]
jle 0x1008bc06
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x8c]
cmp eax, ecx
jge 0x1008bb7a
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x8c]
jge 0x1008bb7a
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb4]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb4]
mov dword [ebp - 0xc0], eax
jmp 0x1008bc01
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x88]
jge 0x1008bbd1
mov eax, dword [ebp - 0xb0]
shl eax, 1
mov ecx, dword [ebp - 0xc0]
and ecx, 1
or eax, ecx
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0xc0]
sar edx, 1
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0xc0]
sar eax, 1
mov dword [ebp - 0xb4], eax
jmp 0x1008bc01
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
sub edx, dword [ebp - 0xc0]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], eax
jmp 0x1008bcf2
mov ecx, dword [ebp - 0x88]
add ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x80]
add edx, dword [ebp - 0x8c]
cmp ecx, edx
jge 0x1008bc6b
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x8c]
jge 0x1008bc6b
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xc0], ecx
jmp 0x1008bcf2
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x84]
jge 0x1008bcc2
mov ecx, dword [ebp - 0xb0]
shl ecx, 1
mov edx, dword [ebp - 0xc0]
and edx, 1
or ecx, edx
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0xc0]
sar eax, 1
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0xc0]
sar ecx, 1
mov dword [ebp - 0xb4], ecx
jmp 0x1008bcf2
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ecx
jmp 0x1008bdf1
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008f6c0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008bd12
jmp 0x1008cb55
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1008f6c0
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x84]
jg 0x1008bd75
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x88]
jg 0x1008bd75
mov ecx, dword [ebp - 0xb0]
shl ecx, 1
mov edx, dword [ebp - 0x3c]
and edx, 1
or ecx, edx
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0x3c]
sar eax, 1
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0x3c]
sar ecx, 1
mov dword [ebp - 0xb4], ecx
jmp 0x1008bddf
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x84]
jg 0x1008bdb2
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb0]
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], edx
jmp 0x1008bddf
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb0]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x80]
sar ecx, 8
mov esi, dword [ebp - 0x80]
sub esi, ecx
mov eax, dword [ebp - 0xb8]
sar eax, 1
cdq
xor eax, edx
sub eax, edx
add esi, eax
mov dword [ebp - 0x80], esi
mov edx, dword [ebp - 0x88]
sar edx, 8
mov ecx, dword [ebp - 0x88]
sub ecx, edx
mov eax, dword [ebp - 0xac]
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x84]
sar edx, 8
mov ecx, dword [ebp - 0x84]
sub ecx, edx
mov eax, dword [ebp - 0xb4]
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x8c]
sar edx, 8
mov ecx, dword [ebp - 0x8c]
sub ecx, edx
mov eax, dword [ebp - 0xc0]
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x4000
je 0x1008be9f
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb8]
sar ecx, 1
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x8000
je 0x1008c366
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x80]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x50]
add edx, 0x8cc
mov dword [ebp - 0x24], edx
jmp 0x1008bed1
mov eax, dword [ebp - 0x24]
add eax, 0x60
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
sub edx, 1
mov dword [ebp - 0x40], edx
test ecx, ecx
je 0x1008c361
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
jle 0x1008c099
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + ecx*4 + 0x10]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + ecx*4 + 0x30]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x64]
add edx, dword [ecx]
and edx, 7
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, dword [ebp - 0xc8]
add ecx, 0x100
sar ecx, 9
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
imul eax, dword [ebp - 0xc4]
add eax, 0x100
sar eax, 9
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xc8], 0
je 0x1008bfdd
cmp dword [ebp - 0xac], 0
je 0x1008bfdd
mov ecx, dword [ebp - 0xc8]
xor ecx, dword [ebp - 0xac]
jl 0x1008bfb2
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], edx
cmp eax, 0x200
jne 0x1008bfb0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1008bfdd
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 8]
sub edx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], edx
cmp eax, ecx
jne 0x1008bfdd
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
cmp dword [ebp - 0xc4], 0
je 0x1008c056
cmp dword [ebp - 0xb4], 0
je 0x1008c056
mov eax, dword [ebp - 0xc4]
xor eax, dword [ebp - 0xb4]
jl 0x1008c02b
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], ecx
cmp edx, 0x200
jne 0x1008c029
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
jmp 0x1008c056
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
sub ecx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], ecx
cmp edx, eax
jne 0x1008c056
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0xac]
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xb4]
mov dword [edx + ecx*4 + 0x30], eax
jmp 0x1008c35c
mov ecx, dword [ebp - 0x24]
cmp dword [ecx], 0xffffffff
jne 0x1008c203
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 8]
imul ecx, dword [eax + 0x10]
add ecx, 0x100
sar ecx, 9
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x10], 0
je 0x1008c13f
cmp dword [ebp - 0xac], 0
je 0x1008c13f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
xor ecx, dword [ebp - 0xac]
jl 0x1008c114
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], edx
cmp eax, 0x200
jne 0x1008c112
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1008c13f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 8]
sub edx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], edx
cmp eax, ecx
jne 0x1008c13f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, dword [ebp - 0xac]
add edx, 0x100
sar edx, 9
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xac], 0
je 0x1008c1e6
cmp dword [ebp - 0xb4], 0
je 0x1008c1e6
mov eax, dword [ebp - 0xac]
xor eax, dword [ebp - 0xb4]
jl 0x1008c1bb
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], ecx
cmp edx, 0x200
jne 0x1008c1b9
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
jmp 0x1008c1e6
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
sub ecx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], ecx
cmp edx, eax
jne 0x1008c1e6
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x10], ecx
jmp 0x1008c35c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 8]
imul ecx, dword [eax + 0x10]
add ecx, 0x100
sar ecx, 9
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x10], 0
je 0x1008c29d
cmp dword [ebp - 0xb4], 0
je 0x1008c29d
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
xor ecx, dword [ebp - 0xb4]
jl 0x1008c272
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], edx
cmp eax, 0x200
jne 0x1008c270
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1008c29d
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 8]
sub edx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], edx
cmp eax, ecx
jne 0x1008c29d
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, dword [ebp - 0xb4]
add edx, 0x100
sar edx, 9
add edx, dword [ebp - 0xac]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xb4], 0
je 0x1008c344
cmp dword [ebp - 0xac], 0
je 0x1008c344
mov eax, dword [ebp - 0xb4]
xor eax, dword [ebp - 0xac]
jl 0x1008c319
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], ecx
cmp edx, 0x200
jne 0x1008c317
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
jmp 0x1008c344
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
sub ecx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], ecx
cmp edx, eax
jne 0x1008c344
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
mov dword [eax + 0x10], ecx
jmp 0x1008bec8
jmp 0x1008c81a
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x8cc
mov dword [ebp - 0x24], ecx
jmp 0x1008c389
mov edx, dword [ebp - 0x24]
add edx, 0x60
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sub ecx, 1
mov dword [ebp - 0x40], ecx
test eax, eax
je 0x1008c81a
mov edx, dword [ebp - 0x24]
cmp dword [edx], 0
jle 0x1008c552
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + eax*4 + 0x10]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + eax*4 + 0x30]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x64]
add ecx, dword [eax]
and ecx, 7
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, dword [ebp - 0xd4]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, dword [ebp - 0xd0]
add edx, 0x80
sar edx, 8
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xd4], 0
je 0x1008c496
cmp dword [ebp - 0xac], 0
je 0x1008c496
mov eax, dword [ebp - 0xd4]
xor eax, dword [ebp - 0xac]
jl 0x1008c46b
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], ecx
cmp edx, 0x100
jne 0x1008c469
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
jmp 0x1008c496
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 8]
sub ecx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], ecx
cmp edx, eax
jne 0x1008c496
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
cmp dword [ebp - 0xd0], 0
je 0x1008c50f
cmp dword [ebp - 0xb4], 0
je 0x1008c50f
mov edx, dword [ebp - 0xd0]
xor edx, dword [ebp - 0xb4]
jl 0x1008c4e4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
cmp ecx, 0x100
jne 0x1008c4e2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1008c50f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
sub eax, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], eax
cmp ecx, edx
jne 0x1008c50f
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
add edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
mov dword [eax + edx*4 + 0x10], ecx
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0xb4]
mov dword [ecx + eax*4 + 0x30], edx
jmp 0x1008c815
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0xffffffff
jne 0x1008c6bc
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 8]
imul eax, dword [edx + 0x10]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x10], 0
je 0x1008c5f8
cmp dword [ebp - 0xac], 0
je 0x1008c5f8
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
xor eax, dword [ebp - 0xac]
jl 0x1008c5cd
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], ecx
cmp edx, 0x100
jne 0x1008c5cb
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
jmp 0x1008c5f8
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 8]
sub ecx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], ecx
cmp edx, eax
jne 0x1008c5f8
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, dword [ebp - 0xac]
add ecx, 0x80
sar ecx, 8
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], ecx
cmp dword [ebp - 0xac], 0
je 0x1008c69f
cmp dword [ebp - 0xb4], 0
je 0x1008c69f
mov edx, dword [ebp - 0xac]
xor edx, dword [ebp - 0xb4]
jl 0x1008c674
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
cmp ecx, 0x100
jne 0x1008c672
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1008c69f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
sub eax, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], eax
cmp ecx, edx
jne 0x1008c69f
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
add edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x10], eax
jmp 0x1008c815
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 8]
imul eax, dword [edx + 0x10]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x10], 0
je 0x1008c756
cmp dword [ebp - 0xb4], 0
je 0x1008c756
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
xor eax, dword [ebp - 0xb4]
jl 0x1008c72b
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], ecx
cmp edx, 0x100
jne 0x1008c729
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
jmp 0x1008c756
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 8]
sub ecx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], ecx
cmp edx, eax
jne 0x1008c756
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, dword [ebp - 0xb4]
add ecx, 0x80
sar ecx, 8
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xb4], 0
je 0x1008c7fd
cmp dword [ebp - 0xac], 0
je 0x1008c7fd
mov edx, dword [ebp - 0xb4]
xor edx, dword [ebp - 0xac]
jl 0x1008c7d2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
cmp ecx, 0x100
jne 0x1008c7d0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1008c7fd
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
sub eax, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], eax
cmp ecx, edx
jne 0x1008c7fd
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
add edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xac]
mov dword [edx + 0x10], eax
jmp 0x1008c380
mov ecx, dword [ebp - 0x64]
add ecx, 1
and ecx, 7
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x4000
je 0x1008c87e
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
and ecx, 1
mov edx, dword [ebp - 0xb4]
shl edx, 1
or edx, ecx
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0xc0]
sar eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0xc0]
sar ecx, 1
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x40
je 0x1008cb04
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x8a0], 8
jl 0x1008c964
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0
je 0x1008c8c3
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
and eax, 1
mov dword [ebp - 0x150], eax
jmp 0x1008c91c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
add edx, 1
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx + 0x2c]
je 0x1008c8e2
jmp 0x1008c8f4
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], 7
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
and ecx, 1
mov dword [ebp - 0x150], ecx
cmp dword [ebp - 0x150], 0
je 0x1008c93f
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov dword [ebp - 0x154], 1
jmp 0x1008c957
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov dword [ebp - 0x154], 0
cmp dword [ebp - 0x154], 0
jne 0x1008ca82
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 8
jge 0x1008c9ca
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax + 0x30]
cmp edx, dword [ecx + 0x2c]
jne 0x1008c99c
mov eax, dword [ebp - 0x50]
add eax, 0x24
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x24]
call edx
add esp, 4
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x48]
shl edx, cl
mov ecx, dword [ebp - 0x50]
or edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x48]
add edx, 8
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x48], edx
jmp 0x1008c964
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 0x20
jle 0x1008ca0e
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x48]
sub edx, 8
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x48], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x50]
mov edx, 8
sub edx, dword [ecx + 0x48]
mov ecx, edx
sar eax, cl
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
jmp 0x1008ca2c
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0xbc]
and edx, 0xff
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [eax + 0x89c]
je 0x1008ca6d
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x89c], eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], 0
jmp 0x1008ca82
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x8a0]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], eax
mov edx, dword [ebp - 0xac]
shl edx, 4
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x89c]
sar ecx, 4
add edx, ecx
mov dword [ebp - 0xac], edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0xac]
mov dword [edx], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0xb4]
shl eax, 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x89c]
and edx, 0xf
add eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008cb50
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 9
mov edx, dword [ebp - 0xac]
imul edx, edx, 3
add ecx, dword [ebp - 0xb4]
add edx, ecx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008ba6e
jmp 0x1008d098
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008cb72
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008d098
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008cb99
jmp 0x1008d098
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x84]
jg 0x1008cbf0
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x88]
jg 0x1008cbf0
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
shl eax, 1
mov edx, dword [ebp - 0x3c]
and edx, 1
or eax, edx
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
add eax, dword [ebp - 0x3c]
sar eax, 1
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xec]
sub ecx, dword [ebp - 0x3c]
sar ecx, 1
mov dword [ebp - 0xe8], ecx
jmp 0x1008cc68
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x84]
jg 0x1008cc34
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe4]
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ecx
jmp 0x1008cc68
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe8]
add eax, dword [ebp - 0xe4]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x80]
sar ecx, 8
mov esi, dword [ebp - 0x80]
sub esi, ecx
mov eax, dword [ebp - 0xec]
sar eax, 1
cdq
xor eax, edx
sub eax, edx
add esi, eax
mov dword [ebp - 0x80], esi
mov edx, dword [ebp - 0x88]
sar edx, 8
mov ecx, dword [ebp - 0x88]
sub ecx, edx
mov eax, dword [ebp - 0xe4]
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x84]
sar edx, 8
mov ecx, dword [ebp - 0x84]
sub ecx, edx
mov eax, dword [ebp - 0xe8]
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0xc]
imul edx, dword [ebp - 0x30]
add edx, 0x80
sar edx, 8
add edx, dword [ebp - 0x10]
add edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x2c]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 8]
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xdc], eax
xor ecx, ecx
cmp dword [ebp - 0xc], 0
setge cl
xor edx, edx
cmp dword [ebp - 0xe4], 0
setg dl
cmp ecx, edx
jne 0x1008cd41
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp eax, 0x100
jne 0x1008cd3f
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x1008cd5a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x1008cd5a
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
xor eax, eax
cmp dword [ebp - 4], 0
setge al
xor ecx, ecx
cmp dword [ebp - 0xe8], 0
setg cl
cmp eax, ecx
jne 0x1008cd92
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp edx, 0x100
jne 0x1008cd90
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x1008cdab
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
test edx, edx
jne 0x1008cdab
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0xe0]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x40
je 0x1008d053
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x8a0], 8
jl 0x1008cebb
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 0
je 0x1008ce1a
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x48]
sub ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
and ecx, 1
mov dword [ebp - 0x158], ecx
jmp 0x1008ce73
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [eax + 0x2c]
je 0x1008ce39
jmp 0x1008ce4b
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x48], 7
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x3c]
and edx, 1
mov dword [ebp - 0x158], edx
cmp dword [ebp - 0x158], 0
je 0x1008ce96
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
shr ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x3c], ecx
mov dword [ebp - 0x15c], 1
jmp 0x1008ceae
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x3c]
shr ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x3c], ecx
mov dword [ebp - 0x15c], 0
cmp dword [ebp - 0x15c], 0
jne 0x1008cfd7
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 8
jge 0x1008cf21
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
add edx, 1
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx + 0x2c]
jne 0x1008cef3
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x30]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x48]
shl eax, cl
mov edx, dword [ebp - 0x50]
or eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
add eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
jmp 0x1008cebb
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0x20
jle 0x1008cf63
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x30]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x50]
mov ecx, 8
sub ecx, dword [eax + 0x48]
sar edx, cl
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], edx
jmp 0x1008cf81
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x48]
sub eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x3c]
shr eax, 8
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0xf0]
and edx, 0xff
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xf0]
cmp ecx, dword [eax + 0x89c]
je 0x1008cfc2
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xf0]
mov dword [edx + 0x89c], eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], 0
jmp 0x1008cfd7
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x8a0]
add eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a0], eax
mov edx, dword [ebp - 0x10]
shl edx, 4
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x89c]
sar ecx, 4
add edx, ecx
mov dword [ebp - 0xe0], edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0xe0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 8]
shl eax, 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x89c]
and edx, 0xf
add eax, edx
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xdc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008d093
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 9
mov edx, dword [ebp - 0x10]
imul edx, edx, 3
add ecx, dword [ebp - 8]
add edx, ecx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008cb69
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 0x890], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x84]
mov dword [edx + 0x894], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x80]
mov dword [ecx + 0x88c], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x8c]
mov dword [eax + 0x898], ecx
jmp 0x1008e0d7
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 8]
cmp eax, 3
jne 0x1008d5ad
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0xa]
test edx, edx
je 0x1008d5ad
mov eax, dword [ebp - 0x1c]
and eax, 1
je 0x1008d5ad
mov ecx, dword [ebp - 0x1c]
and ecx, 2
je 0x1008d1e0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1008d125
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1008d1db
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008d14c
jmp 0x1008d1db
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x28]
jge 0x1008d196
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 0x10], eax
jge 0x1008d183
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x38]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008d1d6
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1008d1c0
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1008d1ad
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d1d6
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d11c
jmp 0x1008d5a8
mov eax, dword [ebp - 0x1c]
and eax, 0x410
je 0x1008d46d
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x20], 0
jmp 0x1008d206
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x10]
jae 0x1008d468
mov ecx, dword [ebp - 0x1c]
and ecx, 0x400
je 0x1008d233
lea edx, [ebp - 0x60]
push edx
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.10090610
mov dword [ebp - 0x160], eax
jmp 0x1008d243
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008d25a
jmp 0x1008d468
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x80]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x50]
add eax, 0x8cc
mov dword [ebp - 0x24], eax
jmp 0x1008d27c
mov ecx, dword [ebp - 0x24]
add ecx, 0x60
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
sub eax, 1
mov dword [ebp - 0x40], eax
test edx, edx
je 0x1008d36f
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + ecx*4 + 0x10]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
and ecx, 0xffff
mov edx, dword [ebp - 0x24]
imul ecx, dword [edx + 8]
sar ecx, 7
mov eax, dword [ebp - 0xf8]
and eax, 0xffff0000
sar eax, 7
mov edx, dword [ebp - 0x24]
imul eax, dword [edx + 8]
lea eax, [ecx + eax + 1]
sar eax, 1
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf8], 0
je 0x1008d34c
cmp dword [ebp - 0x3c], 0
je 0x1008d34c
mov ecx, dword [ebp - 0xf8]
xor ecx, dword [ebp - 0x3c]
jl 0x1008d321
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], edx
cmp eax, 0x100
jne 0x1008d31f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1008d34c
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 8]
sub edx, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], edx
cmp eax, ecx
jne 0x1008d34c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x64]
add edx, dword [ecx]
and edx, 7
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + edx*4 + 0x10], ecx
jmp 0x1008d273
mov edx, dword [ebp - 0x64]
add edx, 1
and edx, 7
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x80
je 0x1008d3eb
mov ecx, dword [ebp - 0x1c]
and ecx, 0x100
je 0x1008d3be
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
add eax, dword [edx + 0x8a8]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x60]
neg edx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x8a8], edx
jmp 0x1008d3d3
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x60]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d463
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x28]
jge 0x1008d423
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 0x3c], edx
jge 0x1008d410
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d463
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x34]
jle 0x1008d44d
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x18]
jle 0x1008d43a
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008d463
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008d1fd
jmp 0x1008d5a8
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1008d485
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1008d5a8
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008d4ac
jmp 0x1008d5a8
mov edx, dword [ebp - 0xc]
imul edx, dword [ebp - 0x30]
add edx, 0x80
sar edx, 8
add edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0xfc], edx
xor eax, eax
cmp dword [ebp - 0xc], 0
setge al
xor ecx, ecx
cmp dword [ebp - 0x3c], 0
setg cl
cmp eax, ecx
jne 0x1008d4fd
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp edx, 0x100
jne 0x1008d4fb
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x1008d516
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
sub eax, 1
mov dword [ebp - 0x30], eax
test edx, edx
jne 0x1008d516
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xfc]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 3
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x28]
jge 0x1008d563
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 0x10], eax
jge 0x1008d550
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x38]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008d5a3
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1008d58d
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1008d57a
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d5a3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d47c
jmp 0x1008e0d7
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jne 0x1008de85
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1008de85
mov ecx, dword [ebp - 0x1c]
and ecx, 1
jne 0x1008de85
mov edx, dword [ebp - 0x1c]
and edx, 2
je 0x1008d74b
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008d5fc
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008d746
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008d623
jmp 0x1008d746
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x28]
jge 0x1008d66d
mov ecx, dword [ebp - 0x18]
neg ecx
cmp dword [ebp - 0x10], ecx
jge 0x1008d65a
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x38]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008d6ad
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x34]
jle 0x1008d697
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jle 0x1008d684
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x44]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008d6ad
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 8]
add edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
add eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x28]
jge 0x1008d701
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 8], edx
jge 0x1008d6ee
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d741
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x34]
jle 0x1008d72b
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x18]
jle 0x1008d718
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008d741
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008d5f3
jmp 0x1008de80
mov edx, dword [ebp - 0x1c]
and edx, 0x410
je 0x1008dc42
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008d772
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008dc3d
mov eax, dword [ebp - 0x1c]
and eax, 0x400
je 0x1008d7b5
lea ecx, [ebp - 0x60]
push ecx
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.10090610
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x5c]
push edx
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.10090610
mov dword [ebp - 0x10c], eax
jmp 0x1008d7d8
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x108], eax
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x108], 0x80000000
jne 0x1008d7e9
jmp 0x1008dc3d
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x80]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x50]
add edx, 0x8cc
mov dword [ebp - 0x24], edx
jmp 0x1008d80c
mov eax, dword [ebp - 0x24]
add eax, 0x60
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
sub edx, 1
mov dword [ebp - 0x40], edx
test ecx, ecx
je 0x1008da02
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + eax*4 + 0x10]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + eax*4 + 0x30]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x64]
add ecx, dword [eax]
and ecx, 7
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x11c]
and edx, 0xffff
mov eax, dword [ebp - 0x24]
imul edx, dword [eax + 8]
sar edx, 7
mov ecx, dword [ebp - 0x11c]
and ecx, 0xffff0000
sar ecx, 7
mov eax, dword [ebp - 0x24]
imul ecx, dword [eax + 8]
lea ecx, [edx + ecx + 1]
sar ecx, 1
add ecx, dword [ebp - 0x108]
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0x11c], 0
je 0x1008d908
cmp dword [ebp - 0x108], 0
je 0x1008d908
mov edx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x108]
jl 0x1008d8dd
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
add eax, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], eax
cmp ecx, 0x100
jne 0x1008d8db
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
jmp 0x1008d908
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
sub eax, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x1008d908
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x108]
mov dword [eax + edx*4 + 0x10], ecx
mov edx, dword [ebp - 0x118]
and edx, 0xffff
mov eax, dword [ebp - 0x24]
imul edx, dword [eax + 0xc]
sar edx, 7
mov ecx, dword [ebp - 0x118]
and ecx, 0xffff0000
sar ecx, 7
mov eax, dword [ebp - 0x24]
imul ecx, dword [eax + 0xc]
lea ecx, [edx + ecx + 1]
sar ecx, 1
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x118], 0
je 0x1008d9de
cmp dword [ebp - 0x10c], 0
je 0x1008d9de
mov edx, dword [ebp - 0x118]
xor edx, dword [ebp - 0x10c]
jl 0x1008d9b3
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
cmp ecx, 0x100
jne 0x1008d9b1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1008d9de
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
sub eax, 1
mov esi, dword [ebp - 0x24]
mov dword [esi + 0xc], eax
cmp ecx, edx
jne 0x1008d9de
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
add edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10c]
mov dword [eax + edx*4 + 0x30], ecx
jmp 0x1008d803
mov edx, dword [ebp - 0x64]
add edx, 1
and edx, 7
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x80
je 0x1008da8f
mov ecx, dword [ebp - 0x1c]
and ecx, 0x100
je 0x1008da71
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
add eax, dword [edx + 0x8a8]
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x5c]
add edx, dword [ecx + 0x8ac]
add edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x8a8], eax
mov edx, dword [ebp - 0x5c]
neg edx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x8ac], edx
jmp 0x1008da8f
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x60]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x4000
je 0x1008dae6
mov ecx, dword [ebp - 0x10c]
shl ecx, 1
mov edx, dword [ebp - 0x108]
and edx, 1
or ecx, edx
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x110]
sub ecx, dword [ebp - 0x114]
sar ecx, 1
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x110]
add edx, dword [ebp - 0x114]
sar edx, 1
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x14]
imul eax, eax, 9
mov ecx, dword [ebp - 0x108]
imul ecx, ecx, 3
add eax, dword [ebp - 0x10c]
add ecx, eax
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x80
je 0x1008db42
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008dc38
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x28]
jge 0x1008db74
mov ecx, dword [ebp - 0x18]
neg ecx
cmp dword [ebp - 0x108], ecx
jge 0x1008db61
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x38]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008dbbd
mov edx, dword [ebp - 0x108]
cmp edx, dword [ebp - 0x34]
jle 0x1008dba4
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x18]
jle 0x1008db91
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x44]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008dbbd
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x28]
jge 0x1008dbef
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 0x10c], eax
jge 0x1008dbdc
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x38]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008dc38
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x34]
jle 0x1008dc1f
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x18]
jle 0x1008dc0c
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008dc38
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008d769
jmp 0x1008de80
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008dc5a
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008de80
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008dc81
jmp 0x1008de80
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 0x30]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x124], eax
xor ecx, ecx
cmp dword [ebp - 0xc], 0
setge cl
xor edx, edx
cmp dword [ebp - 0x3c], 0
setg dl
cmp ecx, edx
jne 0x1008dcd0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp eax, 0x100
jne 0x1008dcce
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x1008dce9
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x1008dce9
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.100900d0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x2c]
add eax, 0x80
sar eax, 8
add eax, dword [ebp - 8]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x124], eax
xor ecx, ecx
cmp dword [ebp - 4], 0
setge cl
xor edx, edx
cmp dword [ebp - 0x3c], 0
setg dl
cmp ecx, edx
jne 0x1008dd69
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp eax, 0x100
jne 0x1008dd67
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x1008dd82
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
test eax, eax
jne 0x1008dd82
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x14]
imul edx, edx, 3
add edx, dword [ebp - 8]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x28]
jge 0x1008ddcf
mov ecx, dword [ebp - 0x18]
neg ecx
cmp dword [ebp - 0x10], ecx
jge 0x1008ddbc
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x38]
mov dword [edx], eax
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008de0f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x34]
jle 0x1008ddf9
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jle 0x1008dde6
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x44]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008de0f
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x28]
jge 0x1008de3b
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 8], eax
jge 0x1008de28
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x38]
mov dword [ecx], edx
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x1008de7b
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x34]
jle 0x1008de65
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jle 0x1008de52
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008de7b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x68]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0x58], edx
jmp 0x1008dc51
jmp 0x1008e0d7
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 2
jne 0x1008df58
mov edx, dword [ebp - 0x1c]
and edx, 1
je 0x1008df58
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1008deb9
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1008df53
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008fb90
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008dedd
jmp 0x1008df53
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1008df38
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x28]
jge 0x1008df1b
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 0x10], edx
jge 0x1008df13
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
jmp 0x1008df38
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1008df38
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1008df32
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008deb0
jmp 0x1008e0d7
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 8]
cmp eax, 3
jge 0x1008e0d0
mov ecx, dword [ebp - 0x1c]
and ecx, 1
jne 0x1008e0d0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1008df8c
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1008e0ce
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1008fb90
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1008dfb3
jmp 0x1008e0ce
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1008fb90
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x12c]
and edx, 1
mov eax, dword [ebp - 0x3c]
shl eax, 1
or eax, edx
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x12c]
sar ecx, 1
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x128]
sub eax, dword [ebp - 0x12c]
sar eax, 1
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1008e09d
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x28]
jge 0x1008e042
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 0x10], edx
jge 0x1008e03a
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
jmp 0x1008e05f
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1008e05f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1008e059
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x28]
jge 0x1008e080
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 8], edx
jge 0x1008e078
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
jmp 0x1008e09d
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x34]
jle 0x1008e09d
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jle 0x1008e097
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x58]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
add ecx, 4
mov dword [ebp - 0x58], ecx
jmp 0x1008df83
jmp 0x1008e0d7
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1008e0ed
mov ecx, dword [ebp - 0x1c]
and ecx, 0x80
je 0x1008e147
mov edx, dword [ebp - 0x1c]
and edx, 1
neg edx
sbb edx, edx
add edx, 2
imul edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
jmp 0x1008e11b
mov eax, dword [ebp - 0x58]
add eax, 0xc
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x130]
jae 0x1008e147
mov edx, dword [ebp - 0x58]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x18]
jg 0x1008e13c
mov ecx, dword [ebp - 0x18]
neg ecx
mov edx, dword [ebp - 0x58]
cmp dword [edx], ecx
jge 0x1008e145
mov dword [ebp - 0x4c], 1
jmp 0x1008e147
jmp 0x1008e112
cmp dword [ebp - 0x4c], 0
je 0x1008e172
mov eax, dword [ebp + 0x10]
shl eax, 2
mov ecx, dword [ebp - 0x1c]
and ecx, 1
neg ecx
sbb ecx, ecx
add ecx, 2
imul eax, ecx
push eax
push 0
mov edx, dword [ebp + 0xc]
push edx
call fcn.10064e10
add esp, 0xc
cmp dword [ebp - 0x20], 0
je 0x1008e3f6
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x7c]
add ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x7c], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x7c]
cmp edx, dword [ecx + 0x8c]
jne 0x1008e3f6
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jne 0x1008e1f2
mov edx, dword [ebp + 8]
cmp dword [edx + 0x98], 0
je 0x1008e1c6
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x164], ecx
jmp 0x1008e1d2
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x164]
je 0x1008e1f2
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
and eax, 4
je 0x1008e3f6
push 0x400
call fcn.100630dc
add esp, 4
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
call fcn.1008e580
add esp, 4
test eax, eax
je 0x1008e2a5
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
call fcn.1008e580
add esp, 4
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x60]
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
call fcn.100641d5
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
call fcn.1008e580
add esp, 4
push eax
mov eax, dword [ebp - 0x50]
add eax, 0x24
push eax
call fcn.1008e5c0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x60]
push edx
call fcn.10064ea0
add esp, 0xc
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
call fcn.1008e580
add esp, 4
mov edx, dword [ebp + 8]
add eax, dword [edx + 0x60]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x60], eax
mov edx, 1
test edx, edx
je 0x1008e33c
push 4
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x74]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx]
call edx
add esp, 0xc
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jne 0x1008e2e0
jmp 0x1008e33c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
add ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
call fcn.100641d5
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp - 0x134]
push edx
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x60]
push edx
call fcn.10064ea0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x60]
add edx, dword [ebp - 0x134]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
jmp 0x1008e2a5
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.100631a6
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x60], 0x10
jbe 0x1008e3f6
mov dword [ebp - 0x13c], 0
jmp 0x1008e373
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x10
jge 0x1008e396
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [edx + eax]
cmp ecx, 0xff
jne 0x1008e396
jmp 0x1008e364
cmp dword [ebp - 0x13c], 0x10
jne 0x1008e3d3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
sub eax, 0x10
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
add edx, 0x10
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
call fcn.10064ea0
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
sub eax, 0x10
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x60], eax
jmp 0x1008e3f6
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
call fcn.100631a6
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x60], 0
mov eax, dword [ebp - 0x50]
add eax, 0x8b4
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 4]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x8c4], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x8c8], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x8b0], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x64]
mov dword [edx + 0x8a4], eax
mov eax, dword [ebp - 0x20]
pop esi
mov esp, ebp
pop ebp
ret