Function at 0x10009990
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 0x10009a4a
mov edx, dword [ebp - 0x1c]
and edx, 0x80
jne 0x10009a4a
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jge 0x10009a42
mov edx, dword [ebp - 0x18]
shl edx, 2
mov dword [ebp - 0x18], edx
jmp 0x10009a4a
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 0x10009a70
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 0x10009a7d
xor eax, eax
jmp 0x1000d335
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x7c], 0
jne 0x10009ad8
mov edx, dword [ebp - 0x50]
push edx
call fcn.10009800
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.1000d340
add esp, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + 0x98], 0
je 0x10009ad8
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.1000d340
add esp, 0xc
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
movsx ecx, byte [eax + edx*8 + 0x84]
test ecx, ecx
jne 0x10009b71
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x884], 0
jne 0x10009b2d
mov eax, dword [ebp - 0x50]
push eax
call fcn.1000d4f0
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.10097831
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.1000d650
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 0x10009bc5
mov ecx, dword [ebp - 0x1c]
and ecx, 0xa000
je 0x10009bc3
mov dword [ebp - 0x54], 0xffffff00
jmp 0x10009be9
mov edx, dword [ebp - 0x1c]
and edx, 0x2000
je 0x10009be9
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 0x10009c23
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 0x10009c53
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 0x1000a608
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x1000a608
mov edx, dword [ebp - 0x1c]
and edx, 1
je 0x1000a608
mov eax, dword [ebp - 0x1c]
and eax, 2
je 0x10009e54
mov ecx, dword [ebp - 0x1c]
and ecx, 0x40
je 0x10009de1
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x10009cae
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x10009ddf
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x10009cd5
jmp 0x10009ddf
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 0x10009d4d
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 0x10009d1f
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 0x10009ce7
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 0x10009d8e
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 0x10009dac
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 0x10009ca5
jmp 0x10009e4f
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x10009df9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x10009e4f
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x10009e19
jmp 0x10009e4f
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 0x10009df0
jmp 0x1000a603
mov edx, dword [ebp - 0x1c]
and edx, 0x10
je 0x1000a303
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x10009e78
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000a2fe
mov eax, dword [ebp - 0x1c]
and eax, 0x400
je 0x10009eab
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000daa0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x10009ea9
jmp 0x1000a2fe
jmp 0x10009ec6
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000e5b0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x10009ec6
jmp 0x1000a2fe
mov ecx, dword [ebp - 0x1c]
and ecx, 0x8000
je 0x10009fc2
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 0x10009ef8
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 0x10009fbd
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 0x10009f9d
cmp dword [ebp - 0x3c], 0
je 0x10009f9d
mov ecx, dword [ebp - 0x74]
xor ecx, dword [ebp - 0x3c]
jl 0x10009f72
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 0x10009f70
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x10009f9d
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 0x10009f9d
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 0x10009eef
jmp 0x1000a0aa
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 0x10009fe5
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 0x1000a0aa
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 0x1000a08a
cmp dword [ebp - 0x3c], 0
je 0x1000a08a
mov ecx, dword [ebp - 0x78]
xor ecx, dword [ebp - 0x3c]
jl 0x1000a05f
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 0x1000a05d
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1000a08a
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 0x1000a08a
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 0x10009fdc
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 0x1000a2d7
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x8a0], 8
jl 0x1000a19c
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 0
je 0x1000a0fb
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 0x1000a154
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 0x1000a11a
jmp 0x1000a12c
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 0x1000a177
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 0x1000a18f
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 0x1000a2a6
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 4
jge 0x1000a202
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 0x1000a1d4
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 0x1000a19c
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 0x1000a241
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 0x1000a25f
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 0x1000a291
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 0x1000a2a6
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 0x1000a2f9
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 0x10009e6f
jmp 0x1000a603
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000a31b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000a603
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000a342
jmp 0x1000a603
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 0x1000a38e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp eax, 0x100
jne 0x1000a38c
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x1000a3a7
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x1000a3a7
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 0x1000a5dc
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x8a0], 8
jl 0x1000a49f
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0
je 0x1000a3fe
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 0x1000a457
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 0x1000a41d
jmp 0x1000a42f
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 0x1000a47a
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 0x1000a492
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 0x1000a5ab
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 4
jge 0x1000a505
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 0x1000a4d7
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 0x1000a49f
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 0x1000a546
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 0x1000a564
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 0x1000a596
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 0x1000a5ab
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 0x1000a5fe
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 0x1000a312
jmp 0x1000cfc7
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jne 0x1000bfc6
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
jne 0x1000bfc6
mov ecx, dword [ebp - 0x1c]
and ecx, 1
jne 0x1000bfc6
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 0x1000a943
mov edx, dword [ebp - 0x1c]
and edx, 0x40
je 0x1000a853
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000a69c
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000a84e
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000a6c3
jmp 0x1000a84e
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
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 0x1000a78c
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 0x1000a75e
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 0x1000a726
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 0x1000a7ce
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 0x1000a7ec
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 0x1000a693
jmp 0x1000a93e
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1000a86b
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1000a93e
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000a892
jmp 0x1000a93e
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
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 0x1000a862
jmp 0x1000bf88
mov edx, dword [ebp - 0x1c]
and edx, 0x10
je 0x1000ba4a
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000a967
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000ba45
mov eax, dword [ebp - 0x1c]
and eax, 0x1000
je 0x1000a9b6
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000daa0
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x80000000
jne 0x1000a99e
jmp 0x1000ba45
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000daa0
mov dword [ebp - 0xb4], eax
jmp 0x1000ad8f
mov ecx, dword [ebp - 0x1c]
and ecx, 0x400
je 0x1000abe7
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000daa0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000a9e0
jmp 0x1000ba45
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000daa0
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x88]
jle 0x1000aaf6
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x8c]
cmp eax, ecx
jge 0x1000aa6a
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x8c]
jge 0x1000aa6a
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 0x1000aaf1
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x88]
jge 0x1000aac1
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 0x1000aaf1
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 0x1000abe2
mov ecx, dword [ebp - 0x88]
add ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x80]
add edx, dword [ebp - 0x8c]
cmp ecx, edx
jge 0x1000ab5b
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x8c]
jge 0x1000ab5b
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 0x1000abe2
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x84]
jge 0x1000abb2
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 0x1000abe2
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 0x1000ace1
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000e5b0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000ac02
jmp 0x1000ba45
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000e5b0
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x84]
jg 0x1000ac65
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x88]
jg 0x1000ac65
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 0x1000accf
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x84]
jg 0x1000aca2
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 0x1000accf
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 0x1000ad8f
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 0x1000b256
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 0x1000adc1
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 0x1000b251
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
jle 0x1000af89
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 0x1000aecd
cmp dword [ebp - 0xac], 0
je 0x1000aecd
mov ecx, dword [ebp - 0xc8]
xor ecx, dword [ebp - 0xac]
jl 0x1000aea2
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 0x1000aea0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1000aecd
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 0x1000aecd
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 0x1000af46
cmp dword [ebp - 0xb4], 0
je 0x1000af46
mov eax, dword [ebp - 0xc4]
xor eax, dword [ebp - 0xb4]
jl 0x1000af1b
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 0x1000af19
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
jmp 0x1000af46
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 0x1000af46
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 0x1000b24c
mov ecx, dword [ebp - 0x24]
cmp dword [ecx], 0xffffffff
jne 0x1000b0f3
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 0x1000b02f
cmp dword [ebp - 0xac], 0
je 0x1000b02f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
xor ecx, dword [ebp - 0xac]
jl 0x1000b004
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 0x1000b002
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1000b02f
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 0x1000b02f
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 0x1000b0d6
cmp dword [ebp - 0xb4], 0
je 0x1000b0d6
mov eax, dword [ebp - 0xac]
xor eax, dword [ebp - 0xb4]
jl 0x1000b0ab
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 0x1000b0a9
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
jmp 0x1000b0d6
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 0x1000b0d6
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 0x1000b24c
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 0x1000b18d
cmp dword [ebp - 0xb4], 0
je 0x1000b18d
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
xor ecx, dword [ebp - 0xb4]
jl 0x1000b162
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 0x1000b160
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1000b18d
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 0x1000b18d
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 0x1000b234
cmp dword [ebp - 0xac], 0
je 0x1000b234
mov eax, dword [ebp - 0xb4]
xor eax, dword [ebp - 0xac]
jl 0x1000b209
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 0x1000b207
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
jmp 0x1000b234
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 0x1000b234
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 0x1000adb8
jmp 0x1000b70a
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 0x1000b279
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 0x1000b70a
mov edx, dword [ebp - 0x24]
cmp dword [edx], 0
jle 0x1000b442
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 0x1000b386
cmp dword [ebp - 0xac], 0
je 0x1000b386
mov eax, dword [ebp - 0xd4]
xor eax, dword [ebp - 0xac]
jl 0x1000b35b
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 0x1000b359
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
jmp 0x1000b386
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 0x1000b386
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 0x1000b3ff
cmp dword [ebp - 0xb4], 0
je 0x1000b3ff
mov edx, dword [ebp - 0xd0]
xor edx, dword [ebp - 0xb4]
jl 0x1000b3d4
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 0x1000b3d2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1000b3ff
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 0x1000b3ff
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 0x1000b705
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0xffffffff
jne 0x1000b5ac
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 0x1000b4e8
cmp dword [ebp - 0xac], 0
je 0x1000b4e8
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
xor eax, dword [ebp - 0xac]
jl 0x1000b4bd
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 0x1000b4bb
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
jmp 0x1000b4e8
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 0x1000b4e8
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 0x1000b58f
cmp dword [ebp - 0xb4], 0
je 0x1000b58f
mov edx, dword [ebp - 0xac]
xor edx, dword [ebp - 0xb4]
jl 0x1000b564
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 0x1000b562
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1000b58f
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 0x1000b58f
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 0x1000b705
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 0x1000b646
cmp dword [ebp - 0xb4], 0
je 0x1000b646
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
xor eax, dword [ebp - 0xb4]
jl 0x1000b61b
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 0x1000b619
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], edx
jmp 0x1000b646
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 0x1000b646
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 0x1000b6ed
cmp dword [ebp - 0xac], 0
je 0x1000b6ed
mov edx, dword [ebp - 0xb4]
xor edx, dword [ebp - 0xac]
jl 0x1000b6c2
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 0x1000b6c0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1000b6ed
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 0x1000b6ed
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 0x1000b270
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 0x1000b76e
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 0x1000b9f4
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x8a0], 8
jl 0x1000b854
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x48], 0
je 0x1000b7b3
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 0x1000b80c
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 0x1000b7d2
jmp 0x1000b7e4
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 0x1000b82f
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 0x1000b847
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 0x1000b972
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 8
jge 0x1000b8ba
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 0x1000b88c
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 0x1000b854
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 0x1000b8fe
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 0x1000b91c
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 0x1000b95d
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 0x1000b972
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 0x1000ba40
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 0x1000a95e
jmp 0x1000bf88
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000ba62
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000bf88
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000ba89
jmp 0x1000bf88
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x84]
jg 0x1000bae0
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x88]
jg 0x1000bae0
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
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 0x1000bb58
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x84]
jg 0x1000bb24
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
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 0x1000bb58
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
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 0x1000bc31
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp eax, 0x100
jne 0x1000bc2f
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x1000bc4a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x1000bc4a
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 0x1000bc82
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp edx, 0x100
jne 0x1000bc80
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x1000bc9b
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
test edx, edx
jne 0x1000bc9b
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 0x1000bf43
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x8a0], 8
jl 0x1000bdab
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x48], 0
je 0x1000bd0a
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 0x1000bd63
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 0x1000bd29
jmp 0x1000bd3b
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 0x1000bd86
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 0x1000bd9e
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 0x1000bec7
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x48], 8
jge 0x1000be11
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 0x1000bde3
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 0x1000bdab
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 0x1000be53
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 0x1000be71
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 0x1000beb2
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 0x1000bec7
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 0x1000bf83
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 0x1000ba59
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 0x1000cfc7
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 8]
cmp eax, 3
jne 0x1000c49d
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0xa]
test edx, edx
je 0x1000c49d
mov eax, dword [ebp - 0x1c]
and eax, 1
je 0x1000c49d
mov ecx, dword [ebp - 0x1c]
and ecx, 2
je 0x1000c0d0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1000c015
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1000c0cb
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000c03c
jmp 0x1000c0cb
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 0x1000c086
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 0x10], eax
jge 0x1000c073
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 0x1000c0c6
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1000c0b0
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1000c09d
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 0x1000c0c6
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 0x1000c00c
jmp 0x1000c498
mov eax, dword [ebp - 0x1c]
and eax, 0x410
je 0x1000c35d
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x20], 0
jmp 0x1000c0f6
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x10]
jae 0x1000c358
mov ecx, dword [ebp - 0x1c]
and ecx, 0x400
je 0x1000c123
lea edx, [ebp - 0x60]
push edx
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000f500
mov dword [ebp - 0x160], eax
jmp 0x1000c133
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000c14a
jmp 0x1000c358
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 0x1000c16c
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 0x1000c25f
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 0x1000c23c
cmp dword [ebp - 0x3c], 0
je 0x1000c23c
mov ecx, dword [ebp - 0xf8]
xor ecx, dword [ebp - 0x3c]
jl 0x1000c211
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 0x1000c20f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
jmp 0x1000c23c
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 0x1000c23c
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 0x1000c163
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 0x1000c2db
mov ecx, dword [ebp - 0x1c]
and ecx, 0x100
je 0x1000c2ae
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 0x1000c2c3
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 0x1000c353
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 0x1000c313
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 0x3c], edx
jge 0x1000c300
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 0x1000c353
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x34]
jle 0x1000c33d
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x18]
jle 0x1000c32a
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 0x1000c353
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 0x1000c0ed
jmp 0x1000c498
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1000c375
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1000c498
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000c39c
jmp 0x1000c498
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 0x1000c3ed
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp edx, 0x100
jne 0x1000c3eb
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x1000c406
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
sub eax, 1
mov dword [ebp - 0x30], eax
test edx, edx
jne 0x1000c406
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 0x1000c453
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 0x10], eax
jge 0x1000c440
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 0x1000c493
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1000c47d
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1000c46a
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 0x1000c493
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 0x1000c36c
jmp 0x1000cfc7
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jne 0x1000cd75
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1000cd75
mov ecx, dword [ebp - 0x1c]
and ecx, 1
jne 0x1000cd75
mov edx, dword [ebp - 0x1c]
and edx, 2
je 0x1000c63b
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000c4ec
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000c636
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000c513
jmp 0x1000c636
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 0x1000c55d
mov ecx, dword [ebp - 0x18]
neg ecx
cmp dword [ebp - 0x10], ecx
jge 0x1000c54a
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 0x1000c59d
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x34]
jle 0x1000c587
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jle 0x1000c574
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 0x1000c59d
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.1000efc0
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 0x1000c5f1
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 8], edx
jge 0x1000c5de
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 0x1000c631
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x34]
jle 0x1000c61b
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x18]
jle 0x1000c608
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 0x1000c631
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 0x1000c4e3
jmp 0x1000cd70
mov edx, dword [ebp - 0x1c]
and edx, 0x410
je 0x1000cb32
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000c662
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000cb2d
mov eax, dword [ebp - 0x1c]
and eax, 0x400
je 0x1000c6a5
lea ecx, [ebp - 0x60]
push ecx
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000f500
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x5c]
push edx
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000f500
mov dword [ebp - 0x10c], eax
jmp 0x1000c6c8
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x108], eax
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x108], 0x80000000
jne 0x1000c6d9
jmp 0x1000cb2d
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 0x1000c6fc
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 0x1000c8f2
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 0x1000c7f8
cmp dword [ebp - 0x108], 0
je 0x1000c7f8
mov edx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x108]
jl 0x1000c7cd
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 0x1000c7cb
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 8], ecx
jmp 0x1000c7f8
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 0x1000c7f8
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 0x1000c8ce
cmp dword [ebp - 0x10c], 0
je 0x1000c8ce
mov edx, dword [ebp - 0x118]
xor edx, dword [ebp - 0x10c]
jl 0x1000c8a3
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 0x1000c8a1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], ecx
jmp 0x1000c8ce
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 0x1000c8ce
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 0x1000c6f3
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 0x1000c97f
mov ecx, dword [ebp - 0x1c]
and ecx, 0x100
je 0x1000c961
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 0x1000c97f
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 0x1000c9d6
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 0x1000ca32
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 0x1000cb28
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x28]
jge 0x1000ca64
mov ecx, dword [ebp - 0x18]
neg ecx
cmp dword [ebp - 0x108], ecx
jge 0x1000ca51
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 0x1000caad
mov edx, dword [ebp - 0x108]
cmp edx, dword [ebp - 0x34]
jle 0x1000ca94
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x18]
jle 0x1000ca81
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 0x1000caad
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 0x1000cadf
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 0x10c], eax
jge 0x1000cacc
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 0x1000cb28
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x34]
jle 0x1000cb0f
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x18]
jle 0x1000cafc
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 0x1000cb28
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 0x1000c659
jmp 0x1000cd70
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000cb4a
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000cd70
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000efc0
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000cb71
jmp 0x1000cd70
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 0x1000cbc0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp eax, 0x100
jne 0x1000cbbe
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x1000cbd9
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x1000cbd9
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.1000efc0
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 0x1000cc59
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp eax, 0x100
jne 0x1000cc57
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x1000cc72
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
test eax, eax
jne 0x1000cc72
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 0x1000ccbf
mov ecx, dword [ebp - 0x18]
neg ecx
cmp dword [ebp - 0x10], ecx
jge 0x1000ccac
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 0x1000ccff
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x34]
jle 0x1000cce9
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jle 0x1000ccd6
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 0x1000ccff
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 0x1000cd2b
mov eax, dword [ebp - 0x18]
neg eax
cmp dword [ebp - 8], eax
jge 0x1000cd18
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 0x1000cd6b
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x34]
jle 0x1000cd55
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jle 0x1000cd42
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 0x1000cd6b
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 0x1000cb41
jmp 0x1000cfc7
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 2
jne 0x1000ce48
mov edx, dword [ebp - 0x1c]
and edx, 1
je 0x1000ce48
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0
jmp 0x1000cda9
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp + 0x10]
jae 0x1000ce43
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000ea80
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000cdcd
jmp 0x1000ce43
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 0x1000ce28
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x28]
jge 0x1000ce0b
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 0x10], edx
jge 0x1000ce03
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
jmp 0x1000ce28
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1000ce28
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1000ce22
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 0x1000cda0
jmp 0x1000cfc7
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 8]
cmp eax, 3
jge 0x1000cfc0
mov ecx, dword [ebp - 0x1c]
and ecx, 1
jne 0x1000cfc0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], 0
jmp 0x1000ce7c
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x10]
jae 0x1000cfbe
xor edx, edx
mov ecx, dword [ebp - 0x50]
call fcn.1000ea80
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x80000000
jne 0x1000cea3
jmp 0x1000cfbe
mov edx, 1
mov ecx, dword [ebp - 0x50]
call fcn.1000ea80
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 0x1000cf8d
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x28]
jge 0x1000cf32
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 0x10], edx
jge 0x1000cf2a
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
jmp 0x1000cf4f
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jle 0x1000cf4f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jle 0x1000cf49
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 0x1000cf70
mov edx, dword [ebp - 0x18]
neg edx
cmp dword [ebp - 8], edx
jge 0x1000cf68
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
jmp 0x1000cf8d
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x34]
jle 0x1000cf8d
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jle 0x1000cf87
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 0x1000ce73
jmp 0x1000cfc7
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x1000cfdd
mov ecx, dword [ebp - 0x1c]
and ecx, 0x80
je 0x1000d037
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 0x1000d00b
mov eax, dword [ebp - 0x58]
add eax, 0xc
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x130]
jae 0x1000d037
mov edx, dword [ebp - 0x58]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x18]
jg 0x1000d02c
mov ecx, dword [ebp - 0x18]
neg ecx
mov edx, dword [ebp - 0x58]
cmp dword [edx], ecx
jge 0x1000d035
mov dword [ebp - 0x4c], 1
jmp 0x1000d037
jmp 0x1000d002
cmp dword [ebp - 0x4c], 0
je 0x1000d062
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.1008b230
add esp, 0xc
cmp dword [ebp - 0x20], 0
je 0x1000d2e6
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 0x1000d2e6
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 8]
cmp ecx, 3
jne 0x1000d0e2
mov edx, dword [ebp + 8]
cmp dword [edx + 0x98], 0
je 0x1000d0b6
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x164], ecx
jmp 0x1000d0c2
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 0x1000d0e2
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 0x1000d2e6
push 0x400
call fcn.10097831
add esp, 4
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
call fcn.1000d470
add esp, 4
test eax, eax
je 0x1000d195
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
call fcn.1000d470
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.10098190
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.1000d470
add esp, 4
push eax
mov eax, dword [ebp - 0x50]
add eax, 0x24
push eax
call fcn.1000d4b0
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.1008bac0
add esp, 0xc
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
push ecx
call fcn.1000d470
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 0x1000d22c
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 0x1000d1d0
jmp 0x1000d22c
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.10098190
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.1008bac0
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 0x1000d195
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.1009783c
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x60], 0x10
jbe 0x1000d2e6
mov dword [ebp - 0x13c], 0
jmp 0x1000d263
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x10
jge 0x1000d286
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [edx + eax]
cmp ecx, 0xff
jne 0x1000d286
jmp 0x1000d254
cmp dword [ebp - 0x13c], 0x10
jne 0x1000d2c3
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.1008bac0
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 0x1000d2e6
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
call fcn.1009783c
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