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

Disassembly:
push esi
push edi
push ebx
push ebp
lea esp, [esp - 0x104]
mov edi, dword [esp + 0x124]
mov dword [esp + 0xf0], edi
mov ebp, dword [esp + 0x138]
mov edi, dword [esp + 0x140]
mov dword [esp + 0x74], ebp
mov ebp, edi
neg ebp
mov edx, dword [esp + 0x11c]
and ebp, 0x3f
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x130]
mov esi, dword [esp + 0x144]
mov eax, dword [esp + 0x118]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xe8], edx
mov edx, dword [esp + 0x128]
mov ebx, dword [esp + 0x130]
mov dword [esp + 0xec], esi
add ebx, edx
mov ecx, dword [esp + 0x120]
mov esi, dword [esp + 0x134]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x138]
and eax, 0xf0
mov dword [esp + 0x100], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xe4], esi
mov eax, dword [ebp + edi + 0x58]
cmp ebx, dword [ebp + edi + 0x58]
jle 0x1000c50a
sub eax, edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0x130], eax
mov edx, esi
mov eax, dword [esp + 0x12c]
add edx, eax
mov ecx, dword [ebp + edi + 0x2c]
cmp edx, dword [ebp + edi + 0x2c]
jle 0x1000c52a
mov esi, ecx
sub esi, eax
mov dword [esp + 0x134], esi
cvtsi2sd xmm1, dword [ebp + edi + 0x5c]
cvtsi2sd xmm3, dword [ebp + edi + 0x30]
cvtsi2sd xmm2, dword [ebp + edi + 0x34]
cvtsi2sd xmm4, eax
cvtsi2sd xmm0, dword [ebp + edi + 0x60]
mov edx, dword [ebp + edi + 0x3c]
mov dword [esp + 0xe0], edx
mov edx, dword [ebp + edi + 0x5c]
shr edx, 0x1f
mov eax, dword [ebp + edi + 0x30]
shr eax, 0x1f
mov ecx, dword [ebp + edi + 0x68]
mov dword [esp + 0xdc], ecx
mov ecx, dword [ebp + edi + 0x60]
shr ecx, 0x1f
addsd xmm1, qword [edx*8 + 0x102b0040]
addsd xmm3, qword [eax*8 + 0x102b0040]
addsd xmm0, qword [ecx*8 + 0x102b0040]
mov edx, dword [ebp + edi + 0x34]
shr edx, 0x1f
divsd xmm1, xmm0
mov ebx, dword [ebp + edi + 0x74]
mov dword [esp + 0x68], ebx
movsd qword [esp + 0x58], xmm1
addsd xmm2, qword [edx*8 + 0x102b0040]
divsd xmm3, xmm2
mulsd xmm4, xmm3
movsd qword [esp], xmm4
call fcn.10064560
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, dword [esp + 0x128]
mulsd xmm0, qword [esp + 0x58]
mov dword [esp + 0x70], eax
movsd qword [esp], xmm0
call fcn.10064560
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
cvttsd2si ebx, xmm0
mov eax, dword [esp + 0xd4]
test eax, eax
mov edx, dword [esp + 0xec]
mov dword [esp + 0x6c], ebx
lea ecx, [eax*4]
mov dword [esp + 0x64], ecx
lea ebx, [edx + ecx]
mov edx, dword [esp + 0x128]
mov dword [esp + 0xfc], edx
jle 0x1000c6b9
shr eax, 1
test eax, eax
jbe 0x1000d615
xor ecx, ecx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], esi
mov ebx, dword [esp + 0xec]
lea edx, [edx*4]
nop word [eax + eax]
mov esi, dword [ebp + edi + 0x64]
add esi, edx
mov esi, dword [esi + ecx*8]
mov dword [ebx + ecx*8], esi
mov esi, dword [ebp + edi + 0x64]
add esi, edx
mov esi, dword [esi + ecx*8 + 4]
mov dword [ebx + ecx*8 + 4], esi
inc ecx
cmp ecx, eax
jb 0x1000c660
add ecx, ecx
mov ebx, dword [esp + 0xcc]
inc ecx
mov esi, dword [esp + 0xd0]
mov eax, ecx
dec eax
cmp eax, dword [esp + 0xd4]
jae 0x1000c6b9
mov eax, dword [esp + 0xfc]
mov edx, dword [ebp + edi + 0x64]
lea eax, [eax + ecx]
mov edx, dword [edx + eax*4 - 4]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x12c]
test esi, esi
mov dword [esp + 0xc0], eax
jle 0x1000c746
mov ecx, esi
shr ecx, 1
test ecx, ecx
jbe 0x1000d60b
xor edx, edx
mov dword [esp + 0xd0], esi
lea eax, [eax*4]
nop dword [eax + eax]
nop dword [eax]
nop word [eax + eax]
mov esi, dword [ebp + edi + 0x38]
add esi, eax
mov esi, dword [esi + edx*8]
mov dword [ebx + edx*8], esi
mov esi, dword [ebp + edi + 0x38]
add esi, eax
mov esi, dword [esi + edx*8 + 4]
mov dword [ebx + edx*8 + 4], esi
inc edx
cmp edx, ecx
jb 0x1000c700
add edx, edx
mov esi, dword [esp + 0xd0]
inc edx
mov eax, edx
dec eax
cmp eax, esi
jae 0x1000c746
mov eax, dword [esp + 0xc0]
mov ecx, dword [ebp + edi + 0x38]
lea eax, [eax + edx]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [ebx + edx*4 - 4], ecx
cmp dword [esp + 0x100], 0xf0
je 0x1000d47c
mov eax, dword [esp + 0x74]
and eax, 0xf
cmp eax, 1
je 0x1000c774
mov eax, 0xffffff1f
lea esp, [esp + 0x104]
pop ebp
pop ebx
pop edi
pop esi
ret
mov eax, dword [esp + 0x70]
imul eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xd8]
sub edx, eax
sub edx, dword [esp + 0x6c]
mov eax, dword [ebp + edi + 0x10]
mov dword [esp + 0xd8], edx
mov edx, dword [ebp + edi + 0x74]
mov dword [esp + 0x60], eax
mov ecx, dword [ebp + edi + 0xc]
mov eax, dword [ebp + edi + 0x54]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + edi + 0x58]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov ecx, dword [ebp + edi + 0x28]
mov eax, dword [ebp + edi + 0x2c]
sub edx, dword [esp + 0xd4]
sub eax, esi
mov dword [esp + 0x58], ecx
sub eax, dword [esp + 0xc0]
sub edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
and ecx, 0x10
mov dword [esp + 0x84], ecx
jne 0x1000c806
mov ecx, dword [ebp + edi + 0x4c]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xc0]
cmp ecx, dword [ebp + edi + 0x4c]
jl 0x1000c813
mov dword [esp + 0xb0], 0
jmp 0x1000c81a
sub dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x100]
and ecx, 0x40
mov dword [esp + 0x80], ecx
jne 0x1000c845
mov ecx, dword [ebp + edi + 0x78]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xfc]
cmp ecx, dword [ebp + edi + 0x78]
jl 0x1000c852
mov dword [esp + 0xac], 0
jmp 0x1000c859
sub dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x100]
and ecx, 0x20
mov dword [esp + 0xb4], ecx
jne 0x1000c87a
mov ecx, dword [ebp + edi + 0x50]
mov dword [esp + 0x78], ecx
cmp eax, dword [ebp + edi + 0x50]
jl 0x1000c884
mov dword [esp + 0x78], 0
jmp 0x1000c888
sub dword [esp + 0x78], eax
and dword [esp + 0x100], 0x80
jne 0x1000c8a3
mov eax, dword [ebp + edi + 0x7c]
mov dword [esp + 0x7c], eax
cmp edx, dword [ebp + edi + 0x7c]
jl 0x1000c8ad
mov dword [esp + 0x7c], 0
jmp 0x1000c8b1
sub dword [esp + 0x7c], edx
cmp esi, dword [esp + 0xb0]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0xd4]
mov eax, dword [esp + 0xb0]
cmovl eax, esi
cmp edi, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmovl ecx, dword [esp + 0xd4]
cmp esi, dword [esp + 0x78]
mov edx, dword [esp + 0x78]
cmovl edx, esi
cmp edi, dword [esp + 0x7c]
mov edi, esi
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xb0], eax
cmovle ebp, dword [esp + 0xd4]
sub edi, eax
mov dword [esp + 0x6c], edi
lea eax, [eax + edx]
cmp eax, esi
mov eax, dword [esp + 0xd4]
cmovg edx, edi
lea edi, [ecx + ebp]
sub eax, ecx
cmp edi, dword [esp + 0xd4]
mov dword [esp + 0xd0], esi
cmovg ebp, eax
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x78], edx
lea edx, [edx*4]
mov dword [esp + 0xac], ecx
lea eax, [ebp + ebp]
mov ebp, dword [esp + 0x60]
lea ecx, [ecx*4]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x70], ecx
lea eax, [ebp + ebp]
mov dword [esp + 0xc4], eax
imul edx, eax
lea ebp, [esi*4]
mov esi, dword [esp + 0xb0]
add ebp, ebx
mov ebx, eax
add ebp, 0x1f
and ebp, 0xffffffe0
mov eax, dword [esp + 0xc0]
lea edi, [esi*4]
imul ebx, edi
add ebx, ebp
add ebx, 0x1f
and ebx, 0xffffffe0
mov dword [esp + 0x98], ebx
add edx, ebx
mov ebx, dword [esp + 0xa4]
add edx, 0x1f
imul ebx, ecx
and edx, 0xffffffe0
add ebx, edx
add ebx, 0x1f
and ebx, 0xffffffe0
mov dword [esp + 0x94], ebp
test esi, esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x90], edx
lea edx, [eax*4]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xc8], edx
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
jle 0x1000cb53
mov edx, dword [esp + 0xc4]
xor eax, eax
mov ecx, edx
shr ecx, 0x1f
add ecx, dword [esp + 0xc4]
lea edx, [edx*4]
sar ecx, 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd0], esi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edi
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xcc], ebx
mov ebp, eax
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0xc4]
nop word [eax + eax]
test esi, esi
jle 0x1000cb27
mov dword [esp + 0xa0], ebp
xor ecx, ecx
mov dword [esp + 0x9c], edx
lea ebx, [edi + ebp]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [ebp + esi + 0x38]
xor edi, edi
add edx, dword [esp + 0xc8]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0xb8]
inc edx
add edx, ecx
cmovs edx, edi
mov dword [ebx + ecx*4], edx
mov edi, dword [ebp + esi + 0x28]
cmp edx, dword [ebp + esi + 0x28]
jl 0x1000caf6
dec edi
cmp dword [esp + 0xb4], 0
cmove edx, edi
imul edx, dword [esp + 0xf8]
mov dword [ebx + ecx*4], edx
inc ecx
cmp ecx, dword [esp + 0xc4]
jb 0x1000cac0
mov ebp, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0xc4]
inc eax
add ebp, edx
cmp eax, dword [esp + 0xb0]
jb 0x1000ca80
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0xc0]
add edx, esi
mov dword [esp + 0xc0], edx
sub edx, dword [esp + 0x78]
mov eax, dword [esp + 0x78]
neg eax
jns 0x1000cccc
mov dword [esp + 0xcc], ebx
xor eax, eax
mov ebx, dword [esp + 0xc4]
mov ecx, ebx
shr ecx, 0x1f
add ecx, dword [esp + 0xc4]
sar ecx, 1
mov dword [esp + 0xbc], ecx
lea ecx, [ebx*4]
mov ebx, dword [esp + 0x60]
sub dword [esp + 0xc0], edx
mov dword [esp + 0xa0], ecx
shl edx, 2
lea ecx, [ebx + ebx]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xb4], edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebp
mov edx, eax
mov ebx, ecx
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x98]
nop dword [eax + eax]
nop dword [eax + eax]
test ebx, ebx
jle 0x1000cca0
mov dword [esp + 0x9c], edx
xor ecx, ecx
mov ebx, dword [esp + 0x8c]
lea ebp, [edi + edx]
mov edx, dword [esp + 0x88]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
mov esi, dword [edx + ebx + 0x38]
add esi, dword [esp + 0xb4]
mov edi, dword [esi + eax*4]
sub edi, dword [esp + 0xbc]
inc edi
add edi, ecx
js 0x1000d45f
mov dword [ebp + ecx*4], edi
mov esi, dword [edx + ebx + 0x28]
dec esi
cmp edi, dword [edx + ebx + 0x28]
cmovge edi, esi
imul edi, dword [esp + 0xf8]
mov dword [ebp + ecx*4], edi
inc ecx
cmp ecx, dword [esp + 0xb8]
jb 0x1000cc40
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x98]
inc eax
add edx, dword [esp + 0xa0]
cmp eax, esi
jb 0x1000cc00
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov eax, dword [esp + 0xfc]
cmp dword [esp + 0xac], 0
lea edx, [eax*4]
jle 0x1000cebc
mov ecx, dword [esp + 0xa4]
mov eax, ecx
shr eax, 0x1f
add eax, dword [esp + 0xa4]
lea ecx, [ecx*4]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xb8], 0
sar eax, 1
mov dword [esp + 0xcc], ebx
lea ecx, [ecx + ecx]
mov dword [esp + 0x9c], ecx
shr ecx, 1
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xd0], esi
mov ebx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x90]
nop word [eax + eax]
cmp dword [esp + 0x9c], 0
jle 0x1000ce99
cmp dword [esp + 0xbc], 0
jbe 0x1000d455
mov eax, dword [esp + 0x84]
xor edx, edx
imul eax, ebx
mov dword [esp + 0xb8], ebx
add eax, ecx
nop dword [eax + eax]
nop dword [eax]
mov esi, dword [ebp + edi + 0x64]
mov ebx, edx
add esi, dword [esp + 0xa0]
add ebx, edx
mov ecx, dword [esp + 0xb8]
mov ecx, dword [esi + ecx*4]
xor esi, esi
sub ecx, dword [esp + 0xb4]
add ecx, ebx
inc ecx
cmovs ecx, esi
mov dword [eax + edx*8], ecx
mov esi, dword [ebp + edi + 0x54]
cmp ecx, dword [ebp + edi + 0x54]
jl 0x1000cde3
cmp dword [esp + 0x100], 0
jne 0x1000cde3
dec esi
mov dword [eax + edx*8], esi
mov esi, dword [ebp + edi + 0x64]
add esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0xb8]
mov ecx, dword [esi + ecx*4]
sub ecx, dword [esp + 0xb4]
add ecx, ebx
xor ebx, ebx
add ecx, 2
cmovs ecx, ebx
mov dword [eax + edx*8 + 4], ecx
mov ebx, dword [ebp + edi + 0x54]
cmp ecx, dword [ebp + edi + 0x54]
jl 0x1000ce26
cmp dword [esp + 0x100], 0
jne 0x1000ce26
dec ebx
mov dword [eax + edx*8 + 4], ebx
inc edx
cmp edx, dword [esp + 0xbc]
jb 0x1000cda0
add edx, edx
mov ebx, dword [esp + 0xb8]
inc edx
mov ecx, dword [esp + 0x90]
mov eax, edx
dec eax
cmp eax, dword [esp + 0x9c]
jae 0x1000ce99
mov esi, dword [esp + 0xa4]
imul esi, ebx
mov eax, dword [ebp + edi + 0x64]
add esi, edx
add eax, dword [esp + 0xa0]
mov eax, dword [eax + ebx*4]
sub eax, dword [esp + 0xb4]
add eax, edx
mov edx, 0
cmovs eax, edx
mov dword [ecx + esi*4 - 4], eax
mov edx, dword [ebp + edi + 0x54]
cmp eax, dword [ebp + edi + 0x54]
jl 0x1000ce99
cmp dword [esp + 0x100], 0
jne 0x1000ce99
dec edx
mov dword [ecx + esi*4 - 4], edx
inc ebx
cmp ebx, dword [esp + 0xac]
jb 0x1000cd60
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0xfc]
add eax, dword [esp + 0xd4]
mov dword [esp + 0xfc], eax
sub eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
neg ecx
jns 0x1000d0b5
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xa0], edx
mov edx, ecx
shr edx, 0x1f
add edx, dword [esp + 0xa4]
sar edx, 1
mov dword [esp + 0xbc], edx
lea edx, [ecx*4]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x84], edx
sub dword [esp + 0xfc], eax
shl eax, 2
lea edx, [ecx + ecx]
mov dword [esp + 0xb4], 0
mov dword [esp + 0x9c], edx
shr edx, 1
mov dword [esp + 0xb8], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], esi
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xb4]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
nop
cmp dword [esp + 0x9c], 0
jle 0x1000d092
cmp dword [esp + 0xb8], 0
jbe 0x1000d44b
mov ebx, dword [esp + 0x84]
xor ecx, ecx
imul ebx, eax
mov dword [esp + 0xb4], eax
add ebx, edx
nop dword [eax + eax]
nop dword [eax]
mov edx, dword [ebp + edi + 0x64]
mov eax, ecx
add edx, dword [esp + 0xc0]
add eax, ecx
mov esi, dword [esp + 0xb4]
mov edx, dword [edx + esi*4]
sub edx, dword [esp + 0xbc]
add edx, eax
inc edx
js 0x1000d42f
mov dword [ebx + ecx*8], edx
mov esi, dword [ebp + edi + 0x54]
cmp edx, dword [ebp + edi + 0x54]
jl 0x1000cffa
dec esi
mov dword [ebx + ecx*8], esi
mov edx, dword [ebp + edi + 0x64]
add edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xb4]
mov edx, dword [edx + esi*4]
sub edx, dword [esp + 0xbc]
add edx, eax
add edx, 2
js 0x1000d412
mov dword [ebx + ecx*8 + 4], edx
mov eax, dword [ebp + edi + 0x54]
cmp edx, dword [ebp + edi + 0x54]
jl 0x1000d034
dec eax
mov dword [ebx + ecx*8 + 4], eax
inc ecx
cmp ecx, dword [esp + 0xb8]
jb 0x1000cfc0
add ecx, ecx
mov edx, dword [esp + 0xa8]
inc ecx
mov eax, esi
mov ebx, ecx
dec ebx
cmp ebx, dword [esp + 0x9c]
jae 0x1000d092
mov ebx, dword [ebp + edi + 0x64]
mov esi, dword [esp + 0xa4]
add ebx, dword [esp + 0xc0]
imul esi, eax
mov ebx, dword [ebx + eax*4]
add esi, ecx
sub ebx, dword [esp + 0xbc]
add ebx, ecx
js 0x1000d3f5
mov dword [edx + esi*4 - 4], ebx
mov ecx, dword [ebp + edi + 0x54]
cmp ebx, dword [ebp + edi + 0x54]
jl 0x1000d092
dec ecx
mov dword [edx + esi*4 - 4], ecx
inc eax
cmp eax, dword [esp + 0xfc]
jb 0x1000cf80
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0xc8]
imul eax, dword [esp + 0xc4]
add eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
imul edx, dword [esp + 0xa4]
add edx, dword [esp + 0xdc]
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 + 0x90]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xac]
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x54], ecx
call fcn.1010d770
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x78]
mov dword [esp + 0x6c], eax
test eax, eax
jle 0x1000d3b2
mov eax, dword [esp + 0xd4]
sub eax, dword [esp + 0xac]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0xd4], eax
test eax, eax
jle 0x1000d3b2
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0xa8]
lea edx, [eax*4]
imul edx, dword [esp + 0x7c]
lea eax, [esi*8]
add ecx, edx
add ecx, 0x1f
and ecx, 0xffffffe0
add eax, ecx
add eax, 0x23
and eax, 0xffffffe0
mov dword [esp + 0xa8], ecx
mov dword [ecx], eax
lea ecx, [esi + esi]
test ecx, ecx
jle 0x1000d2d7
mov edx, ecx
shr edx, 1
mov dword [esp + 0x58], edx
test edx, edx
jbe 0x1000d3eb
mov esi, dword [esp + 0xd4]
xor edx, edx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0xa8]
lea esi, [esi*4]
mov ebp, esi
mov esi, dword [esp + 0x58]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
nop
add eax, ebp
add eax, 0x1f
and eax, 0xffffffe0
mov dword [edi + edx*8 + 4], eax
add eax, ebp
add eax, 0x1f
and eax, 0xffffffe0
mov dword [edi + edx*8 + 8], eax
inc edx
cmp edx, esi
jb 0x1000d280
add edx, edx
mov ebp, dword [esp + 0x88]
inc edx
mov edi, dword [esp + 0x8c]
mov eax, edx
dec eax
cmp eax, ecx
jae 0x1000d2d7
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0xa8]
lea ecx, [eax*4]
add ecx, dword [esi + edx*4 - 4]
add ecx, 0x1f
and ecx, 0xffffffe0
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x12c]
add eax, dword [esp + 0xb0]
shl eax, 2
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0xa8]
mov edx, dword [esp + 0xb0]
imul eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x128]
push ebp
add ecx, dword [esp + 0xb0]
shl ecx, 2
mov ebp, dword [esp + 0x60]
add ebp, ecx
imul ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0xe0]
add esi, ecx
cmp dword [esp + 0x60], 0
cmove ebp, esi
push ebp
mov ecx, dword [esp + 0xe8]
add ecx, eax
push ecx
mov eax, dword [esp + 0xf8]
add eax, dword [esp + 0x7c]
push eax
add ebx, dword [esp + 0x84]
push ebx
mov ebx, dword [esp + 0x74]
push ebx
mov eax, dword [esp + 0x7c]
push eax
mov ecx, dword [esp + 0x88]
push ecx
mov ebx, dword [esp + 0xf4]
push ebx
push 0
mov ebp, dword [esp + 0x118]
push ebp
mov esi, dword [esp + 0x124]
push esi
imul edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
add eax, edx
add eax, dword [esp + 0xdc]
push eax
mov edx, dword [esp + 0x10c]
push edx
mov ebp, dword [esp + 0xc0]
call fcn.1010d770
lea esp, [esp + 0x38]
mov eax, dword [esp + 0xe8]
cmp eax, dword [ebp + edi + 0x58]
jg 0x1000d3cc
mov eax, dword [esp + 0xe4]
cmp eax, dword [ebp + edi + 0x2c]
jle 0x1000d3dd
mov eax, 0x30
lea esp, [esp + 0x104]
pop ebp
pop ebx
pop edi
pop esi
ret
xor eax, eax
lea esp, [esp + 0x104]
pop ebp
pop ebx
pop edi
pop esi
ret
mov edx, 1
jmp 0x1000d2ae
cmp dword [esp + 0x80], 0
jne 0x1000d07f
mov dword [edx + esi*4 - 4], 0
xor ebx, ebx
jmp 0x1000d083
cmp dword [esp + 0x80], 0
jne 0x1000d021
mov dword [ebx + ecx*8 + 4], 0
xor edx, edx
jmp 0x1000d025
cmp dword [esp + 0x80], 0
jne 0x1000cfe9
mov dword [ebx + ecx*8], 0
xor edx, edx
jmp 0x1000cfec
mov ecx, 1
jmp 0x1000d04a
mov edx, 1
jmp 0x1000ce45
cmp dword [esp + 0x84], 0
jne 0x1000cc5e
mov dword [ebp + ecx*4], 0
xor edi, edi
jmp 0x1000cc62
mov edx, dword [ebp + edi + 0xc]
lea ecx, [esi*4]
add edx, edx
add ecx, ebx
mov dword [esp + 0x5c], edx
add ecx, 0x1f
mov edx, dword [ebp + edi + 0x10]
and ecx, 0xffffffe0
lea eax, [edx*8]
add edx, edx
add eax, ecx
add eax, 0x23
and eax, 0xffffffe0
mov dword [esp + 0x60], eax
test edx, edx
mov dword [ecx], eax
jle 0x1000d55b
mov eax, edx
shr eax, 1
mov dword [esp + 0x58], eax
test eax, eax
jbe 0x1000d601
mov dword [esp + 0xd0], esi
xor eax, eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edi
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
nop dword [eax + eax]
nop dword [eax]
nop word [eax + eax]
add esi, edi
add esi, 0x1f
and esi, 0xffffffe0
mov dword [ecx + eax*8 + 4], esi
add esi, edi
add esi, 0x1f
and esi, 0xffffffe0
mov dword [ecx + eax*8 + 8], esi
inc eax
cmp eax, ebp
jb 0x1000d500
add eax, eax
mov esi, dword [esp + 0xd0]
inc eax
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x58], eax
dec eax
cmp eax, edx
mov eax, dword [esp + 0x58]
jae 0x1000d55b
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x64]
add edx, dword [ecx + eax*4 - 4]
add edx, 0x1f
and edx, 0xffffffe0
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xd0], esi
push ecx
mov ecx, dword [esp + 0xc4]
shl ecx, 2
imul ecx, edx
mov edx, dword [esp + 0x100]
shl edx, 2
mov eax, dword [esp + 0xe4]
add eax, ecx
mov ecx, dword [esp + 0x6c]
add ecx, edx
imul edx, dword [esp + 0x60]
mov esi, dword [esp + 0xe0]
add esi, edx
cmp dword [esp + 0x6c], 0
cmove ecx, esi
push ecx
push eax
mov eax, dword [esp + 0xf8]
push eax
push ebx
mov ebx, dword [ebp + edi + 0x10]
push ebx
mov eax, dword [ebp + edi + 0xc]
push eax
mov edx, dword [esp + 0xec]
push edx
mov ecx, dword [esp + 0xf4]
push ecx
push 0
mov ebx, dword [esp + 0x118]
push ebx
mov eax, dword [esp + 0x124]
push eax
mov esi, dword [esp + 0x124]
push esi
imul eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x10c]
sub edx, eax
sub edx, dword [esp + 0xa0]
push edx
call fcn.1010d770
jmp 0x1000d3ae
mov eax, 1
jmp 0x1000d535
mov edx, 1
jmp 0x1000c729
mov ecx, 1
jmp 0x1000c690