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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0xfc
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0xe4], ebp
mov ebp, dword [esp + 0x138]
mov ebx, dword [esp + 0x13c]
mov eax, dword [esp + 0x110]
mov dword [esp + 0xe0], ebx
mov ebx, ebp
mov dword [esp + 0xc8], eax
neg ebx
mov eax, dword [esp + 0x130]
and ebx, 0x3f
mov edx, dword [esp + 0x114]
mov dword [esp + 0x6c], eax
and eax, 0xf0
mov dword [esp + 0xec], edx
mov dword [esp + 0xf8], eax
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xe8], ecx
mov esi, dword [esp + 0x12c]
lea ecx, [edx + eax]
mov edi, dword [ebx + ebp + 0x58]
cmp ecx, edi
mov dword [esp + 0xf0], edx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xd8], esi
jle 0x1000b47a
sub edi, eax
mov dword [esp + 0xf0], edi
mov dword [esp + 0x128], edi
mov ecx, dword [esp + 0x124]
mov edx, dword [ebx + ebp + 0x2c]
lea eax, [esi + ecx]
cmp eax, edx
jle 0x1000b497
mov esi, edx
sub esi, ecx
mov dword [esp + 0x12c], esi
pxor xmm4, xmm4
pxor xmm3, xmm3
cvtsi2sd xmm4, ecx
mov edx, dword [ebx + ebp + 0x68]
pxor xmm2, xmm2
mov ecx, dword [ebx + ebp + 0x74]
pxor xmm1, xmm1
mov dword [esp + 0xd0], edx
pxor xmm0, xmm0
mov dword [esp + 0x68], ecx
mov edx, dword [ebx + ebp + 0x30]
mov ecx, dword [ebx + ebp + 0x34]
cvtsi2sd xmm3, edx
cvtsi2sd xmm2, ecx
shr edx, 0x1f
shr ecx, 0x1f
mov eax, dword [ebx + ebp + 0x3c]
mov dword [esp + 0xd4], eax
mov edi, dword [ebx + ebp + 0x5c]
mov eax, dword [ebx + ebp + 0x60]
cvtsi2sd xmm1, edi
cvtsi2sd xmm0, eax
addsd xmm3, qword [edx*8 + 0x102b0030]
addsd xmm2, qword [ecx*8 + 0x102b0030]
shr edi, 0x1f
shr eax, 0x1f
divsd xmm3, xmm2
mulsd xmm4, xmm3
addsd xmm1, qword [edi*8 + 0x102b0030]
addsd xmm0, qword [eax*8 + 0x102b0030]
divsd xmm1, xmm0
movsd qword [esp + 0x58], xmm1
movsd qword [esp], xmm4
call fcn.10064520
fstp qword [esp + 0x60]
movsd xmm1, qword [esp + 0x60]
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x120]
cvttsd2si eax, xmm1
mulsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
mov dword [esp + 0x74], eax
call fcn.10064520
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
cvttsd2si eax, xmm0
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe0]
test ecx, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0xf4], eax
lea edi, [edx + ecx*4]
mov dword [esp + 0xcc], edi
jle 0x1000b635
mov edi, ecx
shr edi, 1
test edi, edi
jbe 0x1000c41f
mov dword [esp + 0xc4], esi
xor ecx, ecx
mov edx, eax
mov eax, dword [esp + 0xe0]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov esi, dword [ebx + ebp + 0x64]
lea esi, [esi + edx*4]
mov esi, dword [esi + ecx*8]
mov dword [eax + ecx*8], esi
mov esi, dword [ebx + ebp + 0x64]
lea esi, [esi + edx*4]
mov esi, dword [esi + ecx*8 + 4]
mov dword [eax + ecx*8 + 4], esi
inc ecx
cmp ecx, edi
jb 0x1000b5e0
mov esi, dword [esp + 0xc4]
lea eax, [ecx + ecx + 1]
lea edx, [eax - 1]
cmp edx, dword [esp + 0xf0]
jae 0x1000b635
mov edx, dword [esp + 0xf4]
mov ecx, dword [ebx + ebp + 0x64]
lea edi, [edx + eax]
mov edx, dword [ecx + edi*4 - 4]
mov ecx, dword [esp + 0xe0]
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [esp + 0x124]
test esi, esi
jle 0x1000b6a9
mov ecx, esi
shr ecx, 1
test ecx, ecx
jbe 0x1000c415
mov dword [esp + 0xc4], esi
xor edi, edi
mov edx, dword [esp + 0xcc]
mov esi, dword [ebx + ebp + 0x38]
lea esi, [esi + eax*4]
mov esi, dword [esi + edi*8]
mov dword [edx + edi*8], esi
mov esi, dword [ebx + ebp + 0x38]
lea esi, [esi + eax*4]
mov esi, dword [esi + edi*8 + 4]
mov dword [edx + edi*8 + 4], esi
inc edi
cmp edi, ecx
jb 0x1000b660
mov esi, dword [esp + 0xc4]
lea edx, [edi + edi + 1]
lea ecx, [edx - 1]
cmp ecx, esi
jae 0x1000b6a9
mov ecx, dword [ebx + ebp + 0x38]
lea edi, [eax + edx]
mov ecx, dword [ecx + edi*4 - 4]
mov edi, dword [esp + 0xcc]
mov dword [edi + edx*4 - 4], ecx
cmp dword [esp + 0xf8], 0xf0
je 0x1000c288
mov edx, dword [esp + 0x6c]
and edx, 0xf
cmp edx, 1
je 0x1000b6d6
mov eax, 0xffffff1f
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
mov edx, dword [esp + 0x74]
imul edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xc8]
sub ecx, edx
mov edx, dword [ebx + ebp + 0x10]
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x90], edx
mov edx, dword [ebx + ebp + 0x54]
mov dword [esp + 0xc8], ecx
mov edi, dword [ebx + ebp + 0xc]
mov ecx, dword [ebx + ebp + 0x74]
mov dword [esp + 0x6c], edx
mov edx, dword [ebx + ebp + 0x58]
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ecx
mov edi, dword [ebx + ebp + 0x28]
mov ecx, dword [ebx + ebp + 0x2c]
sub edx, dword [esp + 0xf0]
sub ecx, esi
mov dword [esp + 0x68], edi
sub ecx, eax
sub edx, dword [esp + 0xf4]
mov edi, dword [esp + 0xf8]
and edi, 0x10
mov dword [esp + 0x58], edi
jne 0x1000b75a
mov edi, dword [ebx + ebp + 0x4c]
cmp edi, eax
mov dword [esp + 0xac], edi
jg 0x1000b767
mov dword [esp + 0xac], 0
jmp 0x1000b76e
sub dword [esp + 0xac], eax
mov edi, dword [esp + 0xf8]
and edi, 0x40
mov dword [esp + 0x80], edi
jne 0x1000b795
mov edi, dword [ebx + ebp + 0x78]
mov dword [esp + 0xa8], edi
cmp edi, dword [esp + 0xf4]
jg 0x1000b7a2
mov dword [esp + 0xa8], 0
jmp 0x1000b7b0
mov edi, dword [esp + 0xf4]
sub dword [esp + 0xa8], edi
mov edi, dword [esp + 0xf8]
and edi, 0x20
mov dword [esp + 0xa0], edi
jne 0x1000b7cf
mov edi, dword [ebx + ebp + 0x50]
cmp edi, ecx
mov dword [esp + 0x78], edi
jg 0x1000b7d9
mov dword [esp + 0x78], 0
jmp 0x1000b7dd
sub dword [esp + 0x78], ecx
and dword [esp + 0xf8], 0x80
jne 0x1000b7f6
mov ecx, dword [ebx + ebp + 0x7c]
cmp ecx, edx
mov dword [esp + 0x74], ecx
jg 0x1000b800
mov dword [esp + 0x74], 0
jmp 0x1000b804
sub dword [esp + 0x74], edx
mov ecx, dword [esp + 0xac]
cmp esi, ecx
mov dword [esp + 0x84], ebx
mov edx, dword [esp + 0xa8]
cmovl ecx, esi
mov ebx, dword [esp + 0xf0]
cmp ebx, edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x78]
cmovl edx, ebx
cmp esi, eax
mov edi, dword [esp + 0x74]
jge 0x1000b83f
mov eax, esi
cmp edi, ebx
mov dword [esp + 0x88], ebp
mov ebp, esi
jl 0x1000b84e
mov edi, ebx
mov dword [esp + 0xac], ecx
sub ebp, ecx
mov dword [esp + 0x70], ebp
add ecx, eax
cmp ecx, esi
mov ecx, ebx
mov dword [esp + 0xc4], esi
cmovg eax, ebp
lea ebp, [edi + edx]
sub ecx, edx
cmp ebp, ebx
mov ebp, dword [esp + 0xcc]
cmovg edi, ecx
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x64]
lea ebp, [ebp + esi*4 + 0x1f]
mov ecx, dword [esp + 0x90]
and ebp, 0xffffffe0
mov esi, dword [esp + 0xac]
mov dword [esp + 0x78], eax
lea ebx, [edi + edi]
mov dword [esp + 0xa8], edx
add ecx, ecx
mov dword [esp + 0xc0], ecx
lea edi, [esi*4]
imul edi, ecx
shl eax, 2
imul eax, ecx
mov dword [esp + 0xa4], ebx
lea edi, [edi + ebp + 0x1f]
and edi, 0xffffffe0
shl edx, 2
imul edx, ebx
mov dword [esp + 0x94], ebp
lea ecx, [eax + edi + 0x1f]
and ecx, 0xffffffe0
mov dword [esp + 0x98], edi
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
lea eax, [edx + ecx + 0x1f]
and eax, 0xffffffe0
mov dword [esp + 0x9c], eax
test esi, esi
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xc4]
lea edx, [eax*4]
mov dword [esp + 0x7c], edx
jle 0x1000ba37
mov edx, dword [esp + 0xc0]
xor ecx, ecx
shr edx, 0x1f
mov edi, dword [esp + 0x90]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xc4], esi
mov dword [esp + 0x84], ebx
lea edi, [edx + edi*2]
sar edi, 1
xor edx, edx
mov dword [esp + 0xb4], edi
mov dword [esp + 0x88], ebp
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x90]
nop
test esi, esi
jle 0x1000ba0a
mov dword [esp + 0x5c], edx
xor ebp, ebp
lea ebx, [eax + edx]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
nop
mov esi, dword [eax + edx + 0x38]
mov edi, dword [esp + 0xb0]
lea esi, [esi + edi*4]
mov edi, dword [esi + ecx*4]
sub edi, dword [esp + 0xb4]
lea edi, [ebp + edi + 1]
test edi, edi
jge 0x1000b9c5
mov edi, 0
mov dword [ebx + ebp*4], edi
mov esi, dword [eax + edx + 0x28]
cmp edi, esi
jl 0x1000b9dc
dec esi
cmp dword [esp + 0xa0], 0
cmove edi, esi
imul edi, dword [esp + 0xec]
mov dword [ebx + ebp*4], edi
inc ebp
cmp ebp, dword [esp + 0xc0]
jb 0x1000b9a0
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x90]
inc ecx
lea edx, [edx + edi*8]
cmp ecx, dword [esp + 0xac]
jb 0x1000b980
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
add eax, esi
mov edx, eax
mov ecx, dword [esp + 0x78]
sub edx, ecx
mov dword [esp + 0xbc], edx
neg ecx
jns 0x1000bb96
mov edi, dword [esp + 0xc0]
xor edx, edx
shr edi, 0x1f
mov ecx, dword [esp + 0x90]
sub eax, dword [esp + 0xbc]
mov dword [esp + 0x5c], edx
mov dword [esp + 0xb0], eax
lea edi, [edi + ecx*2]
sar edi, 1
add ecx, ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc4], esi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebx
mov eax, edx
mov ebp, ecx
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x90]
nop dword [eax + eax]
nop dword [eax]
test ebp, ebp
jle 0x1000bb70
mov dword [esp + 0xb4], edx
xor ebx, ebx
mov dword [esp + 0x5c], eax
lea ecx, [esi + eax]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov ebp, dword [eax + edx + 0x38]
mov esi, dword [esp + 0xbc]
lea edi, [ebp + esi*4]
mov ebp, dword [esp + 0xb4]
mov esi, dword [edi + ebp*4]
sub esi, dword [esp + 0xb8]
lea edi, [ebx + esi + 1]
test edi, edi
jl 0x1000c26f
mov dword [ecx + ebx*4], edi
mov ebp, dword [eax + edx + 0x28]
cmp edi, ebp
lea esi, [ebp - 1]
cmovge edi, esi
imul edi, dword [esp + 0xec]
mov dword [ecx + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0xa0]
jb 0x1000bb00
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x90]
inc edx
lea eax, [eax + edi*8]
cmp edx, dword [esp + 0xb0]
jb 0x1000bac0
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0xf4]
cmp dword [esp + 0xa8], 0
lea edx, [eax*4]
jle 0x1000bd68
mov ecx, dword [esp + 0xa4]
mov eax, ecx
shr eax, 0x1f
mov edi, dword [esp + 0x64]
shl ecx, 2
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xb8], 0
mov dword [esp + 0x58], edx
lea eax, [eax + edi*2]
sar eax, 1
add edi, edi
mov ecx, edi
shr ecx, 1
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xc4], esi
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0xb8]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
cmp dword [esp + 0xa0], 0
jle 0x1000bd4f
cmp dword [esp + 0xb0], 0
jbe 0x1000c265
mov ecx, dword [esp + 0x5c]
xor esi, esi
imul ecx, edx
add ecx, dword [esp + 0x8c]
mov dword [esp + 0xb8], edx
nop dword [eax + eax]
nop dword [eax + eax]
mov edi, dword [ebx + ebp + 0x64]
lea edx, [edi + eax*4]
mov edi, dword [esp + 0xb8]
mov edx, dword [edx + edi*4]
xor edi, edi
sub edx, dword [esp + 0xb4]
lea edx, [edx + esi*2 + 1]
test edx, edx
cmovl edx, edi
mov dword [ecx + esi*8], edx
mov edi, dword [ebx + ebp + 0x54]
cmp edx, edi
jl 0x1000bc9c
cmp dword [esp + 0xf8], 0
jne 0x1000bc9c
dec edi
mov dword [ecx + esi*8], edi
mov edi, dword [ebx + ebp + 0x64]
lea edx, [edi + eax*4]
mov edi, dword [esp + 0xb8]
mov edx, dword [edx + edi*4]
xor edi, edi
sub edx, dword [esp + 0xb4]
lea edx, [edx + esi*2 + 2]
test edx, edx
cmovl edx, edi
mov dword [ecx + esi*8 + 4], edx
mov edi, dword [ebx + ebp + 0x54]
cmp edx, edi
jl 0x1000bcda
cmp dword [esp + 0xf8], 0
jne 0x1000bcda
dec edi
mov dword [ecx + esi*8 + 4], edi
inc esi
cmp esi, dword [esp + 0xb0]
jb 0x1000bc60
mov edx, dword [esp + 0xb8]
lea edi, [esi + esi + 1]
lea ecx, [edi - 1]
cmp ecx, dword [esp + 0xa0]
jae 0x1000bd4f
mov esi, dword [ebx + ebp + 0x64]
mov ecx, dword [esp + 0xa4]
imul ecx, edx
add ecx, edi
lea esi, [esi + eax*4]
mov esi, dword [esi + edx*4]
sub esi, dword [esp + 0xb4]
add esi, edi
mov edi, 0
cmovs esi, edi
mov edi, dword [esp + 0x8c]
mov dword [edi + ecx*4 - 4], esi
mov edi, dword [ebx + ebp + 0x54]
cmp esi, edi
jl 0x1000bd4f
cmp dword [esp + 0xf8], 0
jne 0x1000bd4f
mov esi, dword [esp + 0x8c]
dec edi
mov dword [esi + ecx*4 - 4], edi
inc edx
cmp edx, dword [esp + 0xa8]
jb 0x1000bc20
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0xc4]
mov eax, dword [esp + 0xf4]
add eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xf4], eax
sub eax, ecx
neg ecx
jns 0x1000bf26
mov ecx, dword [esp + 0xa4]
mov edi, ecx
sub dword [esp + 0xf4], eax
mov dword [esp + 0x5c], eax
shl ecx, 2
mov eax, dword [esp + 0x64]
shr edi, 0x1f
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xb4], 0
lea ecx, [eax + eax]
mov dword [esp + 0x58], edx
mov dword [esp + 0xb0], ecx
lea edi, [edi + eax*2]
mov eax, ecx
shr eax, 1
sar edi, 1
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xc4], esi
nop dword [eax]
nop dword [eax]
cmp dword [esp + 0xb0], 0
jle 0x1000bf0d
cmp dword [esp + 0xb8], 0
jbe 0x1000c25b
mov ecx, dword [esp + 0xa0]
xor esi, esi
imul ecx, edx
add ecx, dword [esp + 0x9c]
mov dword [esp + 0xb4], edx
nop dword [eax]
nop dword [eax]
mov edx, dword [ebx + ebp + 0x64]
lea edi, [edx + eax*4]
mov edx, dword [esp + 0xb4]
mov edi, dword [edi + edx*4]
sub edi, dword [esp + 0xbc]
lea edx, [edi + esi*2 + 1]
test edx, edx
jl 0x1000c23f
mov dword [ecx + esi*8], edx
mov edi, dword [ebx + ebp + 0x54]
cmp edx, edi
jl 0x1000be73
dec edi
mov dword [ecx + esi*8], edi
mov edx, dword [ebx + ebp + 0x64]
lea edi, [edx + eax*4]
mov edx, dword [esp + 0xb4]
mov edi, dword [edi + edx*4]
sub edi, dword [esp + 0xbc]
lea edx, [edi + esi*2 + 2]
test edx, edx
jl 0x1000c222
mov dword [ecx + esi*8 + 4], edx
mov edi, dword [ebx + ebp + 0x54]
cmp edx, edi
jl 0x1000bea8
dec edi
mov dword [ecx + esi*8 + 4], edi
inc esi
cmp esi, dword [esp + 0xb8]
jb 0x1000be40
mov edx, dword [esp + 0xb4]
lea edi, [esi + esi + 1]
lea ecx, [edi - 1]
cmp ecx, dword [esp + 0xb0]
jae 0x1000bf0d
mov esi, dword [ebx + ebp + 0x64]
mov ecx, dword [esp + 0xa4]
imul ecx, edx
add ecx, edi
lea esi, [esi + eax*4]
mov esi, dword [esi + edx*4]
sub esi, dword [esp + 0xbc]
add esi, edi
js 0x1000c1fe
mov edi, dword [esp + 0x9c]
mov dword [edi + ecx*4 - 4], esi
mov edi, dword [ebx + ebp + 0x54]
cmp esi, edi
jl 0x1000bf0d
mov esi, dword [esp + 0x9c]
dec edi
mov dword [esi + ecx*4 - 4], edi
inc edx
cmp edx, dword [esp + 0xf4]
jb 0x1000be00
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
mov edi, dword [esp + 0xe8]
mov dword [esp + 4], edi
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0x7c]
imul edi, eax
imul edx, esi
add edi, dword [esp + 0xd4]
mov dword [esp + 0x30], edi
add edx, dword [esp + 0xd0]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0xac]
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x74]
mov dword [esp + 0x54], edx
call fcn.1010d770
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0x78]
mov dword [esp + 0x70], eax
test eax, eax
jle 0x1000c1bd
mov eax, dword [esp + 0xf0]
sub eax, dword [esp + 0xa8]
sub eax, dword [esp + 0x74]
mov dword [esp + 0xf0], eax
test eax, eax
jle 0x1000c1bd
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x90]
lea ecx, [eax*4]
imul ecx, dword [esp + 0x74]
lea eax, [edx + ecx + 0x1f]
and eax, 0xffffffe0
lea edi, [esi + esi]
mov dword [esp + 0x58], edi
lea edx, [eax + esi*8 + 0x23]
and edx, 0xffffffe0
mov dword [eax], edx
test edi, edi
jle 0x1000c0dd
mov ecx, edi
shr ecx, 1
test ecx, ecx
jbe 0x1000c1f4
mov edi, dword [esp + 0xf0]
xor esi, esi
nop dword [eax]
lea edx, [edx + edi*4 + 0x1f]
and edx, 0xffffffe0
mov dword [eax + esi*8 + 4], edx
lea edx, [edx + edi*4 + 0x1f]
and edx, 0xffffffe0
mov dword [eax + esi*8 + 8], edx
inc esi
cmp esi, ecx
jb 0x1000c0a0
lea edx, [esi + esi + 1]
lea ecx, [edx - 1]
cmp ecx, dword [esp + 0x58]
jae 0x1000c0dd
mov ecx, dword [eax + edx*4 - 4]
mov esi, dword [esp + 0xf0]
lea edi, [ecx + esi*4 + 0x1f]
and edi, 0xffffffe0
mov dword [eax + edx*4], edi
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xa8]
lea ebp, [edi + esi*4]
mov edi, dword [esp + 0x124]
add edi, esi
shl edi, 2
imul edi, dword [esp + 0xc0]
imul esi, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
lea ecx, [edx + ebx*4]
mov edx, dword [esp + 0xd4]
add edx, edi
mov edi, dword [esp + 0xe8]
add edi, esi
add edi, ebx
mov dword [esp + 0xe8], edi
push eax
add ebx, dword [esp + 0x124]
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0xd4]
lea edi, [eax + ebx*4]
shl ebx, 2
imul ebx, dword [esp + 0xa8]
add esi, ebx
test eax, eax
cmove edi, esi
push edi
push edx
push ecx
push ebp
push dword [esp + 0xa4]
push dword [esp + 0x7c]
push dword [esp + 0x8c]
push dword [esp + 0x110]
push 0
push dword [esp + 0x10c]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0xfc]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
call fcn.1010d770
add esp, 0x38
mov eax, dword [esp + 0xdc]
cmp eax, dword [ebx + ebp + 0x58]
jg 0x1000c1d7
mov eax, dword [esp + 0xd8]
cmp eax, dword [ebx + ebp + 0x2c]
jle 0x1000c1e7
mov eax, 0x30
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
xor eax, eax
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
mov edx, 1
jmp 0x1000c0bf
cmp dword [esp + 0x80], 0
jne 0x1000beee
mov esi, dword [esp + 0x9c]
mov dword [esi + ecx*4 - 4], 0
xor esi, esi
jmp 0x1000bef9
cmp dword [esp + 0x80], 0
jne 0x1000be97
mov dword [ecx + esi*8 + 4], 0
xor edx, edx
jmp 0x1000be9b
cmp dword [esp + 0x80], 0
jne 0x1000be64
mov dword [ecx + esi*8], 0
xor edx, edx
jmp 0x1000be67
mov edi, 1
jmp 0x1000bebd
mov edi, 1
jmp 0x1000bcf3
cmp dword [esp + 0x58], 0
jne 0x1000bb2c
mov dword [ecx + ebx*4], 0
xor edi, edi
jmp 0x1000bb2f
mov edi, dword [esp + 0xcc]
mov edx, dword [ebx + ebp + 0x10]
mov ecx, dword [ebx + ebp + 0xc]
add ecx, ecx
lea edi, [edi + esi*4 + 0x1f]
and edi, 0xffffffe0
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], edi
lea ecx, [edi + edx*8 + 0x23]
add edx, edx
and ecx, 0xffffffe0
mov dword [esp + 0x64], ecx
test edx, edx
mov dword [edi], ecx
mov dword [esp + 0x5c], edx
jle 0x1000c35d
mov ecx, edx
shr ecx, 1
test ecx, ecx
jbe 0x1000c40b
mov dword [esp + 0x84], ebx
xor edx, edx
mov dword [esp + 0x88], ebp
mov edi, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0xf0]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
lea edi, [edi + ebx*4 + 0x1f]
and edi, 0xffffffe0
mov dword [ebp + edx*8 + 4], edi
lea edi, [edi + ebx*4 + 0x1f]
and edi, 0xffffffe0
mov dword [ebp + edx*8 + 8], edi
inc edx
cmp edx, ecx
jb 0x1000c300
mov ebx, dword [esp + 0x84]
lea edx, [edx + edx + 1]
mov ebp, dword [esp + 0x88]
lea ecx, [edx - 1]
cmp ecx, dword [esp + 0x5c]
jae 0x1000c35d
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0xf0]
mov ecx, dword [eax + edx*4 - 4]
lea ecx, [ecx + edi*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc4], esi
push dword [esp + 0x60]
shl eax, 2
imul eax, dword [esp + 0x60]
mov edx, dword [esp + 0xd8]
add edx, eax
mov eax, dword [esp + 0x78]
imul eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xcc]
sub ecx, eax
sub ecx, dword [esp + 0x74]
mov dword [esp + 0xcc], ecx
lea ecx, [edi + esi*4]
shl esi, 2
imul esi, dword [esp + 0x5c]
mov eax, dword [esp + 0xd4]
add eax, esi
test edi, edi
cmove ecx, eax
push ecx
push edx
push dword [esp + 0xec]
push dword [esp + 0xdc]
push dword [ebx + ebp + 0x10]
push dword [ebx + ebp + 0xc]
push dword [esp + 0xe0]
push dword [esp + 0x110]
push 0
push dword [esp + 0x10c]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0xfc]
call fcn.1010d770
jmp 0x1000c1ba
mov edx, 1
jmp 0x1000c32d
mov edx, 1
jmp 0x1000b68c
mov eax, 1
jmp 0x1000b60c