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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x7d0
mov ebx, ecx
mov edi, edx
mov ebp, eax
mov eax, dword [esp + 0x808]
mov esi, dword [ebp + 0xbc]
mov edx, esi
shr edx, 1
mov dword [esp + 0x94], edx
test eax, eax
je 0x1000e91e
mov eax, 0x10
mov dword [esp + 0x98], eax
jmp 0x1000e92a
mov eax, 8
mov dword [esp + 0x98], eax
imul eax, esi
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0xf0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x808]
test eax, eax
je 0x1000ea5a
mov edx, dword [ebp + 0xc4]
mov dword [esp + 0x30], edx
mov eax, ebx
shl eax, 5
add eax, edx
mov edx, dword [esp + 0x7f0]
mov ecx, edx
shl ecx, 5
imul ecx, esi
shl edx, 4
imul edx, dword [esp + 0x94]
add eax, ecx
mov ecx, dword [ebp + 0xc8]
mov dword [esp + 0x9c], eax
mov eax, ebx
shl eax, 4
add ecx, eax
add eax, dword [ebp + 0xcc]
add ecx, edx
mov dword [esp + 0xa0], ecx
add eax, edx
mov dword [esp + 0xa4], eax
mov eax, dword [edi]
test eax, eax
jle 0x10011787
lea eax, [eax + eax - 1]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 4]
test eax, eax
jle 0x10011778
lea eax, [eax + eax - 1]
mov dword [esp + 0xb4], eax
mov eax, dword [edi + 8]
test eax, eax
jle 0x10011769
lea eax, [eax + eax - 1]
mov dword [esp + 0xb8], eax
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x1001175a
lea eax, [eax + eax - 1]
mov dword [esp + 0xbc], eax
mov eax, dword [edi + 0x10]
test eax, eax
jle 0x1001174b
lea eax, [eax + eax - 1]
mov dword [esp + 0xc0], eax
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x1001173c
lea eax, [eax + eax - 1]
mov dword [esp + 0xc4], eax
mov eax, dword [edi + 0x18]
test eax, eax
jle 0x1001172d
lea eax, [eax + eax - 1]
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x1c]
test eax, eax
jle 0x1001171e
lea eax, [eax + eax - 1]
mov dword [esp + 0xcc], eax
jmp 0x1000eb16
mov ecx, dword [ebp + 0xc4]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x7f0]
mov dword [esp + 0x30], ecx
mov edx, ebx
shl edx, 4
mov eax, edi
shl eax, 4
imul eax, esi
add edx, ecx
lea edi, [edi + edi]
add edx, eax
mov eax, dword [ebp + 0xc8]
mov dword [esp + 0x9c], edx
lea edx, [ebx + ebx]
add edx, edx
add edx, edx
add edi, edi
add edi, edi
imul edi, dword [esp + 0x94]
add eax, edx
add eax, edi
add edx, dword [ebp + 0xcc]
mov dword [esp + 0xa0], eax
add edx, edi
mov edi, dword [esp + 0x8c]
mov eax, dword [edi]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xb4], eax
mov eax, dword [edi + 8]
mov dword [esp + 0xb8], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0xbc], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0xc0], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0xc4], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0xec]
test eax, eax
jne 0x10010c70
mov eax, dword [esp + 0xb0]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], eax
lea ebx, [ecx + 1]
cdq
idiv ebx
mov ecx, eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x38], eax
cdq
idiv ebx
mov ebx, ecx
sar ebx, 1
mov dword [esp + 0x58], ebx
and ecx, 3
mov ecx, dword [ecx*4 + 0x1008ba40]
mov dword [esp + 0x68], ecx
lea ecx, [ebx + ecx]
mov ebx, eax
sar ebx, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], ebx
and eax, 3
mov ecx, dword [eax*4 + 0x1008ba40]
mov dword [esp + 0x64], ecx
lea ecx, [ebx + ecx]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x808]
test ecx, ecx
jne 0x1000ecec
mov edx, dword [esp + 0x2c]
lea eax, [ebx + ebx]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x7f0]
lea eax, [eax + eax]
add eax, eax
add eax, eax
add eax, eax
test edx, edx
je 0x1000ec1b
mov ecx, dword [ebp + 0xf4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
lea edx, [ecx + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x24], esi
lea edx, [ecx + 0x80]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
call fcn.10015b10
jmp 0x1000ec51
mov ecx, dword [esp + 0x34]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
call fcn.100118d4
mov eax, dword [esp + 0x7f0]
mov edx, dword [ebp + 0xd4]
add ebx, ebx
add ebx, ebx
add ebx, ebx
lea eax, [eax + eax]
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], eax
mov ecx, ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc8]
call fcn.10011798
mov eax, dword [esp + 0x30]
mov edx, dword [ebp + 0xd8]
mov dword [esp + 0xc], eax
mov ecx, ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xcc]
call fcn.10011798
jmp 0x1001132e
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0xd0]
mov dword [esp + 0x60], eax
lea eax, [ebx + ebx]
mov dword [esp + 0x70], eax
lea eax, [eax + eax]
add eax, eax
add eax, eax
and edx, 1
mov dword [esp + 0x34], eax
lea eax, [eax + eax]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7f0]
lea eax, [eax + eax]
mov dword [esp + 0x88], eax
lea eax, [eax + eax]
add eax, eax
add eax, eax
mov dword [esp + 0x84], eax
lea eax, [eax + eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
and eax, 1
add eax, eax
add eax, edx
mov dword [esp + 0x3c], eax
je 0x1000ee9f
cmp eax, 1
jne 0x1000ede7
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x30]
add edx, 0x80000000
adc edx, 0x80000000
lea eax, [ecx - 1]
shr eax, 0x1f
sar edx, 1
lea ecx, [ecx + eax - 1]
mov eax, dword [esp + 0x7c]
sar ecx, 1
imul ecx, esi
lea ebp, [ebx + eax]
mov ebx, esi
imul ebx, dword [esp + 0x48]
lea eax, [eax + edi]
mov edi, dword [esp + 0x804]
mov dword [esp + 0x6c], eax
add ebp, ebx
add ebx, eax
push edi
push esi
add ebx, edx
add ebx, ecx
push ebx
push ebp
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x9c]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000ef21
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x30]
lea eax, [eax + edx]
lea edx, [edx + ecx]
mov dword [esp + 0x2c], eax
mov eax, esi
imul eax, dword [esp + 0x48]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x3c]
cmp edx, 2
jne 0x1000ee63
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
add ecx, 0x80000000
adc ecx, 0x80000000
add edx, eax
sar ecx, 1
imul ecx, esi
add eax, dword [esp + 0x6c]
add eax, dword [esp + 0x78]
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
push esi
push eax
push edx
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000ef21
mov ecx, dword [esp + 0x38]
lea edx, [ecx - 1]
shr edx, 0x1f
lea ecx, [ecx + edx - 1]
sar ecx, 1
imul ecx, esi
mov edx, dword [esp + 0x2c]
add edx, eax
add eax, dword [esp + 0x6c]
add eax, dword [esp + 0x78]
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
push esi
push eax
push edx
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000ef21
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
mov ebx, dword [esp + 0x38]
sar ecx, 1
add ebx, 0x80000000
adc ebx, 0x80000000
lea ebp, [edx + eax]
mov edx, esi
imul edx, dword [esp + 0x48]
sar ebx, 1
imul ebx, esi
add ebp, edx
lea edi, [eax + edi]
mov dword [esp + 0x6c], edi
push esi
add edx, edi
add edx, ecx
add edx, ebx
push edx
push ebp
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x98]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x34]
lea eax, [edx + eax*8 + 8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
and eax, 1
add eax, eax
and edx, 1
add eax, edx
mov dword [esp + 0x3c], eax
je 0x1000f0bf
cmp eax, 1
jne 0x1000efd8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
lea eax, [ecx - 1]
mov ebx, dword [esp + 0x40]
add ebx, 0x80000000
adc ebx, 0x80000000
shr eax, 0x1f
lea ebp, [ecx + eax - 1]
mov eax, dword [esp + 0x48]
imul eax, esi
sar ebx, 1
sar ebp, 1
imul ebp, esi
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax]
add eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], eax
lea edx, [edx + ecx]
lea eax, [ecx + eax]
mov ecx, dword [esp + 0x804]
push ecx
push esi
add eax, ebx
add eax, ebp
push eax
push edx
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000f136
mov edx, dword [esp + 0x40]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
imul eax, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
cmp eax, 2
jne 0x1000f061
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x30]
add eax, 0x80000000
adc eax, 0x80000000
lea edx, [ebx + ecx]
add ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x78]
sar eax, 1
imul eax, esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], ecx
lea edx, [edx + ebx]
lea ecx, [ebx + ecx]
add ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x804]
add ecx, eax
push ebx
push esi
push ecx
push edx
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000f136
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
lea ecx, [ebx - 1]
shr ecx, 0x1f
lea eax, [ebx + ecx - 1]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x30]
sar eax, 1
imul eax, esi
lea edx, [ebx + ecx]
mov ebx, dword [esp + 0x78]
add ecx, dword [esp + 0x60]
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], ecx
lea edx, [edx + ebx]
lea ecx, [ebx + ecx]
add ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x804]
add ecx, eax
push ebx
push esi
push ecx
push edx
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000f136
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
imul eax, esi
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x40]
add ebx, 0x80000000
adc ebx, 0x80000000
add ebp, 0x80000000
adc ebp, 0x80000000
sar ebx, 1
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x78]
add eax, dword [esp + 0x60]
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], eax
push esi
sar ebp, 1
imul ebp, esi
lea edx, [edx + ecx]
lea eax, [ecx + eax]
add eax, ebx
add eax, ebp
push eax
push edx
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
lea eax, [edx + eax*8 + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1000f2a2
cmp eax, 1
jne 0x1000f1d8
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
imul edx, esi
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x44], edx
add eax, 0x80000000
adc eax, 0x80000000
lea ecx, [ebx - 1]
shr ecx, 0x1f
sar eax, 1
lea ecx, [ebx + ecx - 1]
mov ebx, dword [esp + 0x7c]
sar ecx, 1
imul ecx, esi
lea ebx, [ebp + ebx]
add ebx, edx
mov ebp, dword [esp + 0x6c]
add ebp, edx
add ebp, eax
mov eax, dword [esp + 0x804]
add ebp, ecx
push eax
push esi
push ebp
push ebx
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000f312
mov edx, dword [esp + 0x40]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
lea eax, [edx + eax]
mov edx, dword [esp + 0x44]
imul edx, esi
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x3c]
cmp edx, 2
jne 0x1000f259
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
add ebx, 0x80000000
adc ebx, 0x80000000
add ecx, edx
add ecx, dword [esp + 0x2c]
sar ebx, 1
imul ebx, esi
add eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x804]
push ebx
push esi
push ecx
push eax
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000f312
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
lea ecx, [ebx - 1]
shr ecx, 0x1f
lea ebx, [ebx + ecx - 1]
mov ecx, dword [esp + 0x6c]
sar ebx, 1
imul ebx, esi
add ecx, edx
add eax, edx
add ecx, dword [esp + 0x2c]
add ecx, ebx
mov ebx, dword [esp + 0x804]
push ebx
push esi
push ecx
push eax
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000f312
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
imul edx, esi
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x44], edx
add eax, 0x80000000
adc eax, 0x80000000
add ecx, 0x80000000
adc ecx, 0x80000000
sar eax, 1
lea ebx, [ebp + ebx]
mov ebp, dword [esp + 0x6c]
push esi
sar ecx, 1
imul ecx, esi
add ebp, edx
add ebp, eax
add ebx, edx
add ebp, ecx
push ebp
push ebx
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1000f477
cmp eax, 1
jne 0x1000f3ad
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
lea eax, [edx - 1]
shr eax, 0x1f
sar ecx, 1
lea ebx, [edx + eax - 1]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
sar ebx, 1
imul ebx, esi
lea ebp, [edx + eax]
lea edi, [edi + eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x804]
push eax
add ebp, edx
add edi, edx
push esi
add edi, ecx
add edi, ebx
push edi
push ebp
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x9c]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000f4f2
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov edx, dword [esp + 0x78]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
lea eax, [eax + edx]
lea edx, [ecx + edx]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x3c]
cmp edx, 2
jne 0x1000f42e
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
add ebx, 0x80000000
adc ebx, 0x80000000
add eax, edx
add ecx, edx
add ecx, dword [esp + 0x6c]
sar ebx, 1
imul ebx, esi
add ecx, ebx
mov ebx, dword [esp + 0x804]
push ebx
push esi
push ecx
push eax
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000f4f2
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
lea ecx, [ebx - 1]
shr ecx, 0x1f
lea ebx, [ebx + ecx - 1]
mov ecx, dword [esp + 0x2c]
sar ebx, 1
imul ebx, esi
add eax, edx
add ecx, edx
add ecx, dword [esp + 0x6c]
add ecx, ebx
mov ebx, dword [esp + 0x804]
push ebx
push esi
push ecx
push eax
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000f4f2
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
mov ebx, dword [esp + 0x38]
sar ecx, 1
add ebx, 0x80000000
adc ebx, 0x80000000
lea ebp, [edx + eax]
lea edi, [edi + eax]
mov edx, dword [esp + 0x44]
push esi
sar ebx, 1
imul ebx, esi
add ebp, edx
add edi, edx
add edi, ecx
add edi, ebx
push edi
push ebp
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x98]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x34]
lea eax, [edx + eax*8 + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1000f62b
cmp eax, 1
jne 0x1000f584
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
add ecx, 0x80000000
adc ecx, 0x80000000
lea eax, [ebx - 1]
shr eax, 0x1f
sar ecx, 1
lea ebx, [ebx + eax - 1]
mov eax, dword [esp + 0x6c]
sar ebx, 1
imul ebx, esi
lea ebp, [ebp + eax]
lea eax, [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
add eax, ebx
push esi
push eax
push ebp
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000f691
mov edx, dword [esp + 0x40]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov edx, dword [esp + 0x54]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6c]
lea edx, [edx + eax]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x48]
lea eax, [eax + edx]
mov edx, dword [esp + 0x3c]
cmp edx, 2
jne 0x1000f5f5
add eax, dword [esp + 0x80]
mov edx, dword [esp + 0x38]
add edx, 0x80000000
adc edx, 0x80000000
sar edx, 1
imul edx, esi
add eax, edx
mov edx, dword [esp + 0x804]
push edx
push esi
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000f691
add eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x38]
lea edx, [ecx - 1]
shr edx, 0x1f
lea edx, [ecx + edx - 1]
sar edx, 1
imul edx, esi
add eax, edx
mov edx, dword [esp + 0x804]
push edx
push esi
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000f691
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
add ecx, 0x80000000
adc ecx, 0x80000000
push esi
sar ecx, 1
add ebx, 0x80000000
adc ebx, 0x80000000
lea ebp, [ebp + eax]
lea eax, [eax + edx]
sar ebx, 1
imul ebx, esi
add eax, ecx
add eax, ebx
push eax
push ebp
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x34]
lea eax, [edx + eax*8 + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1000f7b2
cmp eax, 1
jne 0x1000f71e
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xac], ebp
add eax, 0x80000000
adc eax, 0x80000000
mov dword [esp + 0xa8], ebx
sar eax, 1
mov ebx, dword [esp + 0x38]
lea ecx, [ebx - 1]
shr ecx, 0x1f
lea ebp, [ebx + ecx - 1]
sar ebp, 1
imul ebp, esi
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x48]
add ecx, edx
add ebx, edx
add ebx, eax
add ebx, ebp
mov ebp, dword [esp + 0x804]
push ebp
push esi
push ebx
push ecx
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000f813
mov edx, dword [esp + 0x40]
lea eax, [edx - 1]
shr eax, 0x1f
lea edx, [edx + eax - 1]
sar edx, 1
mov eax, dword [esp + 0x34]
add dword [esp + 0x54], eax
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
cmp eax, 2
jne 0x1000f77d
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
add ecx, 0x80000000
adc ecx, 0x80000000
add eax, edx
sar ecx, 1
imul ecx, esi
add eax, ecx
mov edx, dword [esp + 0x804]
push edx
push esi
push eax
mov eax, dword [esp + 0x60]
push eax
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000f813
mov ecx, dword [esp + 0x38]
lea eax, [ecx - 1]
shr eax, 0x1f
lea ecx, [ecx + eax - 1]
sar ecx, 1
imul ecx, esi
mov eax, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x804]
push edx
add eax, ecx
push esi
push eax
mov eax, dword [esp + 0x60]
push eax
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000f813
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x48]
add eax, 0x80000000
adc eax, 0x80000000
push esi
sar eax, 1
add ebp, 0x80000000
adc ebp, 0x80000000
add ecx, edx
add ebx, edx
sar ebp, 1
imul ebp, esi
add ebx, eax
add ebx, ebp
push ebx
push ecx
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1000f978
cmp eax, 1
jne 0x1000f8ae
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
lea eax, [edx - 1]
shr eax, 0x1f
sar ecx, 1
lea ebx, [edx + eax - 1]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
sar ebx, 1
imul ebx, esi
lea ebp, [edx + eax]
lea edi, [edi + eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x804]
push eax
add ebp, edx
add edi, edx
push esi
add edi, ecx
add edi, ebx
push edi
push ebp
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x9c]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000f9f3
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x30]
lea eax, [eax + edx]
lea edx, [ecx + edx]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x3c]
cmp edx, 2
jne 0x1000f92f
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
add ebx, 0x80000000
adc ebx, 0x80000000
add eax, edx
add ecx, edx
add ecx, dword [esp + 0x70]
sar ebx, 1
imul ebx, esi
add ecx, ebx
mov ebx, dword [esp + 0x804]
push ebx
push esi
push ecx
push eax
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000f9f3
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
lea ecx, [ebx - 1]
shr ecx, 0x1f
lea ebx, [ebx + ecx - 1]
mov ecx, dword [esp + 0x2c]
sar ebx, 1
imul ebx, esi
add eax, edx
add ecx, edx
add ecx, dword [esp + 0x70]
add ecx, ebx
mov ebx, dword [esp + 0x804]
push ebx
push esi
push ecx
push eax
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000f9f3
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
mov ebx, dword [esp + 0x38]
sar ecx, 1
add ebx, 0x80000000
adc ebx, 0x80000000
lea ebp, [edx + eax]
lea edi, [edi + eax]
mov edx, dword [esp + 0x44]
push esi
sar ebx, 1
imul ebx, esi
add ebp, edx
add edi, edx
add edi, ecx
add edi, ebx
push edi
push ebp
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x98]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1000fb1f
cmp eax, 1
jne 0x1000fa78
mov eax, dword [esp + 0x40]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x38]
add eax, 0x80000000
adc eax, 0x80000000
lea ecx, [ebx - 1]
shr ecx, 0x1f
sar eax, 1
lea ecx, [ebx + ecx - 1]
mov ebx, dword [esp + 0x34]
sar ecx, 1
imul ecx, esi
lea edx, [ebp + ebx]
mov ebp, dword [esp + 0x44]
add ebx, dword [esp + 0x60]
add edx, ebp
add ebp, ebx
add ebp, eax
mov eax, dword [esp + 0x804]
push eax
push esi
add ebp, ecx
push ebp
push edx
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000fb88
mov edx, dword [esp + 0x40]
lea eax, [edx - 1]
shr eax, 0x1f
lea eax, [edx + eax - 1]
sar eax, 1
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
lea edx, [edx + eax]
add eax, dword [esp + 0x60]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
cmp eax, 2
jne 0x1000fae6
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
add ecx, 0x80000000
adc ecx, 0x80000000
add edx, eax
sar ecx, 1
imul ecx, esi
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
push esi
push eax
push edx
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000fb88
mov ecx, dword [esp + 0x38]
lea eax, [ecx - 1]
shr eax, 0x1f
lea ecx, [ecx + eax - 1]
sar ecx, 1
imul ecx, esi
mov eax, dword [esp + 0x44]
add edx, eax
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
push esi
push eax
push edx
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000fb88
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x34]
add eax, 0x80000000
adc eax, 0x80000000
add ecx, 0x80000000
adc ecx, 0x80000000
sar eax, 1
lea ebp, [ebp + ebx]
sar ecx, 1
imul ecx, esi
add ebp, edx
add ebx, dword [esp + 0x60]
push esi
add edx, ebx
add edx, eax
add edx, ecx
push edx
push ebp
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], esi
lea eax, [edx + eax*8 + 0x10]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x34], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
call fcn.10011798
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
call fcn.10011798
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], esi
lea eax, [eax + 8]
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
call fcn.10011798
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
call fcn.10011798
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
call fcn.100118d4
mov edx, dword [esp + 0x4c]
mov eax, dword [ebp + 0xc8]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xd4]
mov dword [esp + 0x44], eax
lea eax, [ebx + ebx]
add eax, eax
add eax, eax
and edx, 1
mov dword [esp + 0x6c], eax
lea eax, [eax + eax]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7f0]
lea eax, [eax + eax]
add eax, eax
add eax, eax
mov dword [esp + 0x78], eax
lea eax, [eax + eax]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
and eax, 1
add eax, eax
add eax, edx
mov dword [esp + 0x30], eax
je 0x1000fedf
cmp eax, 1
jne 0x1000fdd2
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x4c]
sar ecx, 1
shr eax, 0x1f
lea ebx, [edx + eax - 1]
sar ebx, 1
imul ebx, ebp
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
lea esi, [edx + eax]
mov edx, dword [esp + 0x40]
imul edx, ebp
lea eax, [eax + edi]
lea edi, [edx + eax]
mov dword [esp + 0x48], esi
add edi, ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x60], eax
lea esi, [esi + edx]
add edi, ebx
mov eax, dword [esp + 0x804]
push eax
push ebp
push edi
push esi
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x9c]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1000ff80
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x58]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x50]
shr eax, 0x1f
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x38]
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
lea edx, [edx + eax]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x40]
imul edx, dword [esp + 0x94]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x44]
lea eax, [eax + edx]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x30]
cmp eax, 2
jne 0x1000fe7d
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
mov ebx, dword [esp + 0x48]
lea ebx, [ebx + eax]
sar ecx, 1
lea edx, [eax + edx]
add edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x94]
imul ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x804]
push ecx
push eax
push edx
push ebx
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1000ff80
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
mov dword [esp + 0xa8], ebx
lea edx, [eax + edx]
add edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x5c]
lea ecx, [ebx + ecx - 1]
shr ecx, 0x1f
mov ebx, dword [esp + 0x4c]
lea ecx, [ebx + ecx - 1]
mov ebx, dword [esp + 0x48]
sar ecx, 1
lea ebx, [ebx + eax]
mov eax, dword [esp + 0x94]
imul ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x804]
push ecx
push eax
push edx
push ebx
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1000ff80
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x4c]
add ecx, 0x80000000
adc ecx, 0x80000000
add ebx, 0x80000000
adc ebx, 0x80000000
sar ecx, 1
lea esi, [edx + eax]
mov edx, dword [esp + 0x40]
imul edx, ebp
sar ebx, 1
imul ebx, ebp
lea eax, [eax + edi]
lea edi, [edx + eax]
mov dword [esp + 0x48], esi
add edi, ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x60], eax
lea esi, [esi + edx]
add edi, ebx
push ebp
push edi
push esi
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x98]
call dword [0x1031e3bc]
add esp, 0xc
mov eax, dword [esp + 0x6c]
lea ecx, [eax + ebx*8 + 8]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
test ebx, ebx
je 0x10010144
mov ecx, ebx
cmp ecx, 1
jne 0x10010041
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x38]
add ecx, 0x80000000
adc ecx, 0x80000000
lea eax, [edx + eax - 1]
shr eax, 0x1f
sar ecx, 1
mov edx, dword [esp + 0x4c]
lea ebx, [edx + eax - 1]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x40]
sar ebx, 1
imul ebx, ebp
add esi, eax
add edi, eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], edi
push eax
lea esi, [edx + esi]
push ebp
lea edi, [edx + edi]
add edi, ecx
add edi, ebx
push edi
push esi
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x9c]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x100101ce
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x58]
lea ecx, [ebx + ecx - 1]
mov ebx, dword [esp + 0x50]
shr ecx, 0x1f
lea ecx, [ebx + ecx - 1]
mov ebx, dword [esp + 0x70]
add dword [esp + 0x38], ebx
sar ecx, 1
add dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x30]
cmp ebx, 2
jne 0x100100d6
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x38]
add ebx, 0x80000000
adc ebx, 0x80000000
lea esi, [eax + esi]
lea eax, [eax + edx]
sar ebx, 1
imul ebx, ebp
add eax, ecx
add eax, ebx
mov ecx, dword [esp + 0x804]
push ecx
push ebp
push eax
push esi
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x100101ce
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x38]
lea eax, [ebx + eax - 1]
shr eax, 0x1f
mov ebx, dword [esp + 0x4c]
lea ebx, [ebx + eax - 1]
mov eax, dword [esp + 0x40]
sar ebx, 1
imul ebx, ebp
lea esi, [eax + esi]
lea eax, [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
add eax, ebx
push ebp
push eax
push esi
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xbc]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x100101ce
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x38]
add ecx, 0x80000000
adc ecx, 0x80000000
add ebx, 0x80000000
adc ebx, 0x80000000
sar ecx, 1
add esi, eax
sar ebx, 1
imul ebx, ebp
mov dword [esp + 0x38], esi
lea esi, [edx + esi]
add edi, eax
mov dword [esp + 0x44], edi
lea edi, [edx + edi]
add edi, ecx
push ebp
add edi, ebx
push edi
push esi
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x98]
call dword [0x1031e3bc]
add esp, 0xc
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7f0]
lea ebx, [ecx + ebx*8 + 8]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10010331
cmp ecx, 1
jne 0x1001025d
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x64]
add ecx, 0x80000000
adc ecx, 0x80000000
lea esi, [eax + esi - 1]
mov eax, dword [esp + 0x4c]
sar ecx, 1
shr esi, 0x1f
lea edx, [eax + esi - 1]
sar edx, 1
mov esi, dword [esp + 0x94]
imul edx, esi
imul ebx, esi
mov eax, dword [esp + 0x60]
add eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x48]
add eax, edx
add ecx, ebx
mov edx, dword [esp + 0x804]
push edx
push esi
push eax
push ecx
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1001038c
imul ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
lea ecx, [eax + ecx - 1]
shr ecx, 0x1f
mov eax, dword [esp + 0x50]
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x30]
sar ecx, 1
cmp eax, 2
jne 0x100102da
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x94]
add edx, 0x80000000
adc edx, 0x80000000
add eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x48]
sar edx, 1
imul edx, esi
add ecx, ebx
add eax, edx
mov edx, dword [esp + 0x804]
push edx
push esi
push eax
push ecx
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1001038c
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x64]
lea esi, [eax + esi - 1]
shr esi, 0x1f
mov eax, dword [esp + 0x4c]
lea edx, [eax + esi - 1]
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x60]
sar edx, 1
imul edx, esi
add eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x804]
push edx
add ecx, ebx
push esi
push eax
push ecx
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1001038c
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x90], esi
add ecx, 0x80000000
adc ecx, 0x80000000
mov esi, dword [esp + 0x94]
imul ebx, esi
sar ecx, 1
add edx, 0x80000000
adc edx, 0x80000000
add eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x48]
push esi
sar edx, 1
imul edx, esi
add ecx, ebx
add eax, edx
push eax
push ecx
mov esi, dword [esp + 0x9c]
call dword [0x1031e3bc]
add esp, 0xc
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100104b7
cmp ecx, 1
jne 0x10010409
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x90], esi
add edx, 0x80000000
adc edx, 0x80000000
mov esi, dword [esp + 0x5c]
lea ecx, [esi + ecx - 1]
sar edx, 1
mov esi, dword [esp + 0x4c]
shr ecx, 0x1f
lea esi, [esi + ecx - 1]
mov ecx, dword [esp + 0x38]
sar esi, 1
add ecx, ebx
add eax, ebx
add eax, edx
mov edx, dword [esp + 0x94]
imul esi, edx
add eax, esi
mov esi, dword [esp + 0x804]
push esi
push edx
push eax
push ecx
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1001050d
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
add dword [esp + 0x38], ebx
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x50]
add dword [esp + 0x44], ebx
shr ecx, 0x1f
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x30]
sar ecx, 1
cmp eax, 2
jne 0x10010472
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
add eax, 0x80000000
adc eax, 0x80000000
add edx, ecx
sar eax, 1
mov ecx, dword [esp + 0x94]
imul eax, ecx
add edx, eax
mov eax, dword [esp + 0x804]
push eax
push ecx
push edx
mov ecx, dword [esp + 0x44]
push ecx
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1001050d
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x4c]
shr eax, 0x1f
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x44]
sar eax, 1
add edx, ecx
mov ecx, dword [esp + 0x94]
imul eax, ecx
add edx, eax
mov eax, dword [esp + 0x804]
push eax
push ecx
push edx
mov ecx, dword [esp + 0x44]
push ecx
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1001050d
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x90], esi
add ecx, 0x80000000
adc ecx, 0x80000000
mov esi, dword [esp + 0x38]
sar ecx, 1
add eax, 0x80000000
adc eax, 0x80000000
add esi, ebx
add edx, ebx
sar eax, 1
add edx, ecx
mov ecx, dword [esp + 0x94]
imul eax, ecx
add edx, eax
push ecx
push edx
push esi
mov esi, dword [esp + 0x9c]
call dword [0x1031e3bc]
add esp, 0xc
mov ecx, dword [ebp + 0xcc]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0xd8]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100106bc
cmp ecx, 1
jne 0x100105c5
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x64]
add ecx, 0x80000000
adc ecx, 0x80000000
lea ebx, [esi + ebx - 1]
shr ebx, 0x1f
sar ecx, 1
mov esi, dword [esp + 0x4c]
lea ebx, [esi + ebx - 1]
mov esi, dword [esp + 0x34]
sar ebx, 1
lea esi, [esi + eax]
add eax, dword [esp + 0x48]
mov dword [esp + 0x44], esi
lea esi, [edx + esi]
mov dword [esp + 0x54], eax
lea eax, [edx + eax]
add eax, ecx
mov ecx, dword [esp + 0x94]
imul ebx, ecx
add eax, ebx
mov ebx, dword [esp + 0x804]
push ebx
push ecx
push eax
push esi
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x10010735
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x50]
shr ecx, 0x1f
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x34]
sar ecx, 1
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x54]
lea eax, [eax + ecx]
add ecx, dword [esp + 0x48]
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x30]
cmp ecx, 2
jne 0x1001065d
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x54]
mov dword [esp + 0xa8], ebx
add ecx, 0x80000000
adc ecx, 0x80000000
mov ebx, dword [esp + 0x44]
lea ebx, [eax + ebx]
sar ecx, 1
lea edx, [eax + edx]
add edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x94]
imul ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x804]
push ecx
push eax
push edx
push ebx
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x10010735
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x54]
mov dword [esp + 0xa8], ebx
lea edx, [eax + edx]
add edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x5c]
lea ecx, [ebx + ecx - 1]
shr ecx, 0x1f
mov ebx, dword [esp + 0x4c]
lea ecx, [ebx + ecx - 1]
mov ebx, dword [esp + 0x44]
sar ecx, 1
lea ebx, [eax + ebx]
mov eax, dword [esp + 0x94]
imul ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x804]
push ecx
push eax
push edx
push ebx
mov ebx, dword [esp + 0xb8]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x10010735
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x34]
add esi, 0x80000000
adc esi, 0x80000000
add eax, 0x80000000
adc eax, 0x80000000
sar esi, 1
lea edx, [ebx + ecx]
mov ebx, dword [esp + 0x40]
add ecx, dword [esp + 0x48]
mov dword [esp + 0x44], edx
mov dword [esp + 0x54], ecx
sar eax, 1
lea edx, [ebx + edx]
lea ecx, [ebx + ecx]
mov ebx, dword [esp + 0x94]
imul eax, ebx
add ecx, esi
push ebx
add ecx, eax
push ecx
push edx
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x9c]
call dword [0x1031e3bc]
add esp, 0xc
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100108f0
cmp ecx, 1
jne 0x100107f3
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x40]
add eax, 0x80000000
adc eax, 0x80000000
lea edx, [ecx + edx - 1]
mov ecx, dword [esp + 0x4c]
sar eax, 1
shr edx, 0x1f
lea edx, [ecx + edx - 1]
sar edx, 1
imul edx, ebp
mov ecx, dword [esp + 0x70]
add esi, ecx
mov dword [esp + 0x34], esi
lea esi, [ebx + esi]
add edi, ecx
mov dword [esp + 0x48], edi
add ebx, edi
mov edi, dword [esp + 0x804]
push edi
add ebx, eax
add ebx, edx
push ebp
push ebx
push esi
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x9c]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x10010986
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x50]
shr ecx, 0x1f
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x70]
add dword [esp + 0x34], eax
sar ecx, 1
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
cmp eax, 2
jne 0x10010885
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x4c]
add ebx, 0x80000000
adc ebx, 0x80000000
lea edx, [eax + edx]
sar ebx, 1
imul ebx, esi
add eax, dword [esp + 0x48]
add eax, ecx
mov ecx, dword [esp + 0x804]
add eax, ebx
push ecx
push esi
push eax
push edx
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x10010986
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x64]
lea ebx, [esi + ebx - 1]
shr ebx, 0x1f
lea edx, [eax + edx]
add eax, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
lea ebx, [esi + ebx - 1]
sar ebx, 1
mov esi, dword [esp + 0x94]
imul ebx, esi
add eax, ecx
mov ecx, dword [esp + 0x804]
push ecx
push esi
add eax, ebx
push eax
push edx
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x10010986
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x70]
add eax, 0x80000000
adc eax, 0x80000000
add edx, 0x80000000
adc edx, 0x80000000
sar eax, 1
add esi, ebx
mov dword [esp + 0x34], esi
sar edx, 1
imul edx, ecx
lea esi, [ebp + esi]
add edi, ebx
mov dword [esp + 0x48], edi
push ecx
add ebp, edi
add ebp, eax
add ebp, edx
push ebp
push esi
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x98]
call dword [0x1031e3bc]
add esp, 0xc
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10010ab1
cmp ecx, 1
jne 0x10010a03
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x90], esi
add edx, 0x80000000
adc edx, 0x80000000
mov esi, dword [esp + 0x5c]
lea ecx, [esi + ecx - 1]
sar edx, 1
mov esi, dword [esp + 0x4c]
shr ecx, 0x1f
lea esi, [esi + ecx - 1]
mov ecx, dword [esp + 0x44]
sar esi, 1
add ecx, ebx
add eax, ebx
add eax, edx
mov edx, dword [esp + 0x94]
imul esi, edx
add eax, esi
mov esi, dword [esp + 0x804]
push esi
push edx
push eax
push ecx
mov esi, dword [esp + 0xa0]
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x10010b07
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
add dword [esp + 0x44], ebx
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x50]
add dword [esp + 0x54], ebx
shr ecx, 0x1f
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x30]
sar ecx, 1
cmp eax, 2
jne 0x10010a6c
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
add eax, 0x80000000
adc eax, 0x80000000
add edx, ecx
sar eax, 1
mov ecx, dword [esp + 0x94]
imul eax, ecx
add edx, eax
mov eax, dword [esp + 0x804]
push eax
push ecx
push edx
mov ecx, dword [esp + 0x50]
push ecx
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x10010b07
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x4c]
shr eax, 0x1f
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x54]
sar eax, 1
add edx, ecx
mov ecx, dword [esp + 0x94]
imul eax, ecx
add edx, eax
mov eax, dword [esp + 0x804]
push eax
push ecx
push edx
mov ecx, dword [esp + 0x50]
push ecx
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x10010b07
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x90], esi
add ecx, 0x80000000
adc ecx, 0x80000000
mov esi, dword [esp + 0x44]
sar ecx, 1
add eax, 0x80000000
adc eax, 0x80000000
add esi, ebx
add edx, ebx
sar eax, 1
add edx, ecx
mov ecx, dword [esp + 0x94]
imul eax, ecx
add edx, eax
push ecx
push edx
push esi
mov esi, dword [esp + 0x9c]
call dword [0x1031e3bc]
add esp, 0xc
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10010c23
cmp ecx, 1
jne 0x10010b74
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
add edx, 0x80000000
adc edx, 0x80000000
lea ecx, [eax + ecx - 1]
shr ecx, 0x1f
sar edx, 1
mov eax, dword [esp + 0x4c]
lea eax, [eax + ecx - 1]
mov ecx, dword [esp + 0x34]
sar eax, 1
add ecx, ebx
add ebx, dword [esp + 0x48]
add ebx, edx
mov edx, dword [esp + 0x94]
imul eax, edx
add ebx, eax
mov eax, dword [esp + 0x804]
push eax
push edx
push ebx
push ecx
call dword [0x1031e3c4]
add esp, 0x10
jmp 0x1001132e
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x50]
shr ecx, 0x1f
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x30]
sar ecx, 1
cmp eax, 2
jne 0x10010bd9
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
add edx, 0x80000000
adc edx, 0x80000000
add eax, ebx
add ebx, dword [esp + 0x48]
sar edx, 1
add ebx, ecx
mov ecx, dword [esp + 0x94]
imul edx, ecx
add ebx, edx
mov edx, dword [esp + 0x804]
push edx
push ecx
push ebx
push eax
call dword [0x1031e3c0]
add esp, 0x10
jmp 0x1001132e
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x4c]
shr eax, 0x1f
lea edx, [edx + eax - 1]
mov eax, dword [esp + 0x34]
sar edx, 1
add eax, ebx
add ebx, dword [esp + 0x48]
add ebx, ecx
mov ecx, dword [esp + 0x94]
imul edx, ecx
add ebx, edx
mov edx, dword [esp + 0x804]
push edx
push ecx
push ebx
push eax
call dword [0x1031e3c8]
add esp, 0x10
jmp 0x1001132e
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
add edx, 0x80000000
adc edx, 0x80000000
add ecx, 0x80000000
adc ecx, 0x80000000
sar edx, 1
add eax, ebx
sar ecx, 1
add ebx, dword [esp + 0x48]
add ebx, edx
mov edx, dword [esp + 0x94]
imul ecx, edx
add ebx, ecx
push edx
push ebx
push eax
call dword [0x1031e3bc]
add esp, 0xc
jmp 0x1001132e
cmp eax, 1
je 0x1000eb24
mov edx, dword [esp + 0xb0]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x38], edx
je 0x10010ce4
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x38]
add ecx, 0x80000000
adc ecx, 0x80000000
add eax, 0x80000000
adc eax, 0x80000000
sar ecx, 1
add edx, 0x80000000
adc edx, 0x80000000
sar eax, 1
add ecx, eax
sar edx, 1
mov eax, dword [esp + 0xc8]
add ecx, edx
add eax, 0x80000000
adc eax, 0x80000000
sar eax, 1
add ecx, eax
jmp 0x10010cfd
mov ecx, dword [esp + 0xb8]
add ecx, dword [esp + 0x38]
add ecx, dword [esp + 0xc0]
add ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x2c]
mov eax, ecx
sar eax, 3
and ecx, 0xf
add eax, dword [ecx*4 + 0x1008b9e0]
test edx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
je 0x10010d76
mov ecx, dword [esp + 0xbc]
mov edx, eax
add edx, 0x80000000
adc edx, 0x80000000
add ecx, 0x80000000
adc ecx, 0x80000000
sar edx, 1
sar ecx, 1
add edx, ecx
mov ecx, dword [esp + 0xc4]
add ecx, 0x80000000
adc ecx, 0x80000000
sar ecx, 1
add edx, ecx
mov ecx, dword [esp + 0xcc]
add ecx, 0x80000000
adc ecx, 0x80000000
sar ecx, 1
add edx, ecx
jmp 0x10010d8d
mov edx, dword [esp + 0xbc]
add edx, eax
add edx, dword [esp + 0xc4]
add edx, dword [esp + 0xcc]
mov ecx, edx
sar ecx, 3
and edx, 0xf
add ecx, dword [edx*4 + 0x1008b9e0]
mov edx, dword [esp + 0x808]
mov dword [esp + 0x34], ecx
test edx, edx
jne 0x1001114f
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x10010f7e
mov ecx, dword [ebp + 0xf4]
mov dword [esp + 0x8c], edi
mov dword [esp + 0xa8], ebx
lea edx, [ebx + ebx]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], esi
add edx, edx
add edx, edx
mov dword [esp + 0x2c], edx
lea ebx, [edx + edx]
mov edx, dword [esp + 0x7f0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xa8]
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov dword [esp + 0x50], edx
lea edi, [edx + edx]
mov dword [esp + 0x40], edi
lea edx, [ecx + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], edi
lea edx, [ecx + 0x80]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x804]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0xd0]
call fcn.100155d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xf4]
mov dword [esp + 0x24], esi
lea eax, [eax + ebx*8 + 8]
lea edx, [ecx + 0x40]
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], edx
lea edx, [ecx + 0x80]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc4]
call fcn.100155d0
mov eax, dword [esp + 0x7f0]
mov edx, dword [esp + 0x50]
mov ecx, dword [ebp + 0xf4]
mov dword [esp + 0x24], esi
lea eax, [edx + eax*8 + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], eax
lea edx, [ecx + 0x40]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
lea edx, [ecx + 0x80]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc4]
call fcn.100155d0
mov ecx, dword [ebp + 0xf4]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x24], esi
lea eax, [ecx + 0x40]
mov dword [esp + 0xc], eax
lea eax, [ecx + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc4]
call fcn.100155d0
jmp 0x100110b4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
lea edx, [ebx + ebx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add edx, edx
add edx, edx
lea ecx, [edx + edx]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x7f0]
mov dword [esp + 0x48], ecx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov dword [esp + 0x44], edx
lea edx, [edx + edx]
mov dword [esp + 0x40], edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xd0]
call fcn.10011798
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x18], esi
lea ecx, [eax + ebx*8 + 8]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc4]
call fcn.10011798
mov eax, dword [esp + 0x7f0]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], esi
lea eax, [edx + eax*8 + 8]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x38], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc4]
call fcn.10011798
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc4]
call fcn.10011798
mov eax, dword [esp + 0x7f0]
mov edx, dword [ebp + 0xd4]
add ebx, ebx
add ebx, ebx
add ebx, ebx
lea eax, [eax + eax]
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], eax
mov ecx, ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc8]
call fcn.10011798
mov eax, dword [esp + 0x30]
mov edx, dword [ebp + 0xd8]
mov dword [esp + 0xc], eax
mov ecx, ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xcc]
call fcn.10011798
jmp 0x1001132e
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
lea edx, [ebx + ebx]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x1c], eax
lea edx, [edx + edx]
add edx, edx
mov eax, dword [esp + 0x30]
add edx, edx
mov dword [esp + 0x50], edx
lea ecx, [edx + edx]
mov edx, dword [esp + 0x7f0]
mov dword [esp + 0x68], ecx
lea edx, [edx + edx]
mov dword [esp + 0x58], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov dword [esp + 0x5c], edx
lea edx, [edx + edx]
mov dword [esp + 0x48], edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xd0]
call fcn.100118d4
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], esi
lea ecx, [edx + eax*8 + 0x10]
mov edx, dword [ebp + 0xd0]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc4]
call fcn.100118d4
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], esi
lea eax, [edx + eax*8 + 0x10]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc4]
call fcn.100118d4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
mov edx, dword [ebp + 0xd0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc4]
call fcn.100118d4
mov eax, dword [esp + 0x7f0]
mov edx, dword [ebp + 0xd4]
add ebx, ebx
add ebx, ebx
add ebx, ebx
add ebx, ebx
lea eax, [eax + eax]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc8]
call fcn.100118d4
mov eax, dword [esp + 0x40]
mov edx, dword [ebp + 0xd8]
mov dword [esp + 0xc], eax
mov ecx, ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xcc]
call fcn.100118d4
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], edi
xor eax, eax
mov bl, 5
mov esi, eax
mov edx, dword [ebp + 0x88]
test edx, edx
je 0x10011353
mov edx, 2
jmp 0x10011355
xor edx, edx
mov eax, dword [esp + 0x7f8]
mov edi, 1
mov cl, bl
shl edi, cl
test edi, eax
je 0x10011453
lea ecx, [esp + 0x10f]
and ecx, 0xffffffc0
lea edi, [esi + esi]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add ecx, edi
xor eax, eax
mov dword [ecx], eax
mov dword [esp + 0x88], ecx
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x54], eax
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], eax
mov dword [ecx + 0x60], eax
mov dword [ecx + 0x64], eax
mov dword [ecx + 0x68], eax
mov dword [ecx + 0x6c], eax
mov dword [ecx + 0x70], eax
mov dword [ecx + 0x74], eax
mov dword [ecx + 0x78], eax
mov dword [ecx + 0x7c], eax
push edx
mov edx, ecx
push edx
push dword [esp + 0x804]
call fcn.10038f5c
add esp, 0xc
lea eax, [esp + 0x48f]
mov edx, dword [ebp + 0x14]
test edx, edx
jne 0x1001142f
mov edx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x8c]
and eax, 0xffffffc0
add edi, eax
push edx
push edi
call dword [0x1031e448]
add esp, 0xc
jmp 0x1001144b
mov edx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x8c]
and eax, 0xffffffc0
add edi, eax
push edx
push edi
call dword [0x1031e434]
add esp, 0xc
push edi
call dword [0x1031e450]
pop ecx
add bl, 0xff
add esi, 1
cmp esi, 6
jb 0x10011342
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x1001148d
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x1001148d
mov dword [esp + 0x98], esi
add esi, esi
mov eax, dword [esp + 0x808]
test eax, eax
je 0x100115df
mov eax, dword [esp + 0x7f8]
test al, 0x20
je 0x100114c4
lea edx, [esp + 0x48f]
push esi
and edx, 0xffffffc0
push edx
mov eax, dword [esp + 0xa4]
push eax
call dword [0x1031e3f8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 0x10
je 0x100114f5
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0x48f]
push esi
lea eax, [ecx + 0x10]
and edx, 0xffffffc0
add edx, 0x80
push edx
push eax
call dword [0x1031e3f8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 8
je 0x1001152d
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x48f]
push esi
lea eax, [ebx + ecx]
and edx, 0xffffffc0
add edx, 0x100
push edx
push eax
call dword [0x1031e3f8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 4
je 0x10011566
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x48f]
push esi
lea eax, [ebx + ecx + 0x10]
and edx, 0xffffffc0
add edx, 0x180
push edx
push eax
call dword [0x1031e3f8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 2
je 0x1001159b
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x48f]
push ecx
and edx, 0xffffffc0
add edx, 0x200
push edx
mov eax, dword [esp + 0xa8]
push eax
call dword [0x1031e3f8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 1
je 0x10011713
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x48f]
push ecx
and edx, 0xffffffc0
add edx, 0x280
push edx
mov eax, dword [esp + 0xac]
push eax
call dword [0x1031e3f8]
add esp, 0xc
add esp, 0x7d0
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x7f8]
test al, 0x20
je 0x10011607
lea edx, [esp + 0x48f]
push esi
and edx, 0xffffffc0
push edx
mov eax, dword [esp + 0xa4]
push eax
call dword [0x1031e3b8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 0x10
je 0x10011638
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0x48f]
push esi
lea eax, [ecx + 8]
and edx, 0xffffffc0
add edx, 0x80
push edx
push eax
call dword [0x1031e3b8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 8
je 0x10011670
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x48f]
push esi
lea eax, [ebx + ecx]
and edx, 0xffffffc0
add edx, 0x100
push edx
push eax
call dword [0x1031e3b8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 4
je 0x100116a9
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x48f]
push esi
lea eax, [ebx + ecx + 8]
and edx, 0xffffffc0
add edx, 0x180
push edx
push eax
call dword [0x1031e3b8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 2
je 0x100116de
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x48f]
push ecx
and edx, 0xffffffc0
add edx, 0x200
push edx
mov eax, dword [esp + 0xa8]
push eax
call dword [0x1031e3b8]
add esp, 0xc
mov eax, dword [esp + 0x7f8]
test al, 1
je 0x10011713
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x48f]
push ecx
and edx, 0xffffffc0
add edx, 0x280
push edx
mov eax, dword [esp + 0xac]
push eax
call dword [0x1031e3b8]
add esp, 0xc
add esp, 0x7d0
pop ebx
pop ebp
pop esi
pop edi
ret
jge 0x1000ea4e
lea eax, [eax + eax + 1]
jmp 0x1000ea4e
jge 0x1000ea38
lea eax, [eax + eax + 1]
jmp 0x1000ea38
jge 0x1000ea22
lea eax, [eax + eax + 1]
jmp 0x1000ea22
jge 0x1000ea0c
lea eax, [eax + eax + 1]
jmp 0x1000ea0c
jge 0x1000e9f6
lea eax, [eax + eax + 1]
jmp 0x1000e9f6
jge 0x1000e9e0
lea eax, [eax + eax + 1]
jmp 0x1000e9e0
jge 0x1000e9ca
lea eax, [eax + eax + 1]
jmp 0x1000e9ca
jge 0x1000e9b4
lea eax, [eax + eax + 1]
jmp 0x1000e9b4