Function at 0x10010800
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 dword [esp + 0xe0], ebx
mov ebx, ebp
mov esi, dword [esp + 0x130]
neg ebx
mov ecx, dword [esp + 0x118]
and ebx, 0x3f
mov dword [esp + 0x74], esi
and esi, 0xf0
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xf8], esi
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xec], edx
lea edx, [esi + ecx]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xd8], eax
mov eax, dword [ebx + ebp + 0x58]
cmp edx, eax
mov dword [esp + 0xdc], esi
jle 0x100108b6
mov esi, eax
sub esi, ecx
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0xf0]
mov edi, dword [ebx + ebp + 0x2c]
lea ecx, [edx + eax]
cmp ecx, edi
jle 0x100108df
sub edi, eax
mov dword [esp + 0xf0], edi
mov dword [esp + 0x12c], edi
mov edx, dword [ebx + ebp + 0x68]
pxor xmm3, xmm3
mov ecx, dword [ebx + ebp + 0x74]
pxor xmm2, xmm2
mov dword [esp + 0xd0], edx
pxor xmm4, xmm4
mov dword [esp + 0x6c], ecx
pxor xmm1, xmm1
mov edx, dword [ebx + ebp + 0x30]
pxor xmm0, xmm0
mov ecx, dword [ebx + ebp + 0x34]
cvtsi2sd xmm3, edx
cvtsi2sd xmm2, ecx
cvtsi2sd xmm4, eax
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 + 0x102b0080]
addsd xmm2, qword [ecx*8 + 0x102b0080]
shr edi, 0x1f
shr eax, 0x1f
divsd xmm3, xmm2
mulsd xmm4, xmm3
addsd xmm1, qword [edi*8 + 0x102b0080]
addsd xmm0, qword [eax*8 + 0x102b0080]
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 + 0x70], eax
call fcn.10064520
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
cvttsd2si eax, xmm0
mov ecx, dword [esp + 0xe0]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x120]
test esi, esi
mov dword [esp + 0x68], edx
mov dword [esp + 0xf4], eax
lea edi, [ecx + esi*4]
mov dword [esp + 0xcc], edi
jle 0x10010a79
mov edi, esi
shr edi, 1
test edi, edi
jbe 0x100117c6
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]
mov esi, dword [ebx + ebp + 0x64]
lea esi, [esi + edx*4]
mov esi, dword [esi + ecx*8]
lea esi, [esi + esi*2]
mov dword [eax + ecx*8], esi
mov esi, dword [ebx + ebp + 0x64]
lea esi, [esi + edx*4]
mov esi, dword [esi + ecx*8 + 4]
lea esi, [esi + esi*2]
mov dword [eax + ecx*8 + 4], esi
inc ecx
cmp ecx, edi
jb 0x10010a20
mov esi, dword [esp + 0xc4]
lea eax, [ecx + ecx + 1]
lea edx, [eax - 1]
cmp edx, esi
jae 0x10010a79
mov edx, dword [esp + 0xf4]
mov ecx, dword [ebx + ebp + 0x64]
lea edi, [edx + eax]
mov edx, dword [ecx + edi*4 - 4]
mov edi, dword [esp + 0xe0]
lea ecx, [edx + edx*2]
mov dword [edi + eax*4 - 4], ecx
mov eax, dword [esp + 0x124]
cmp dword [esp + 0xf0], 0
jle 0x10010b0e
mov ecx, dword [esp + 0xf0]
shr ecx, 1
test ecx, ecx
jbe 0x100117bc
mov dword [esp + 0xc4], esi
xor edi, edi
mov edx, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop
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 0x10010ac0
mov esi, dword [esp + 0xc4]
lea edx, [edi + edi + 1]
lea ecx, [edx - 1]
cmp ecx, dword [esp + 0xf0]
jae 0x10010b0e
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 0x10011626
mov edx, dword [esp + 0x74]
and edx, 0xf
cmp edx, 1
je 0x10010b3b
mov eax, 0xffffff1f
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
mov edx, dword [esp + 0x70]
imul edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xc8]
sub ecx, edx
sub ecx, dword [esp + 0x68]
mov edx, dword [ebx + ebp + 0x10]
mov dword [esp + 0xc8], ecx
mov ecx, dword [ebx + ebp + 0x74]
mov dword [esp + 0x80], edx
mov edi, dword [ebx + ebp + 0xc]
mov edx, dword [ebx + ebp + 0x54]
mov dword [esp + 0x60], ecx
mov ecx, dword [ebx + ebp + 0x2c]
mov dword [esp + 0x9c], edi
mov dword [esp + 0x6c], edx
mov edi, dword [ebx + ebp + 0x28]
mov edx, dword [ebx + ebp + 0x58]
sub ecx, dword [esp + 0xf0]
sub edx, esi
mov dword [esp + 0x5c], edi
sub ecx, eax
sub edx, dword [esp + 0xf4]
mov edi, dword [esp + 0xf8]
and edi, 0x10
mov dword [esp + 0x58], edi
jne 0x10010bc2
mov edi, dword [ebx + ebp + 0x4c]
cmp edi, eax
mov dword [esp + 0xa8], edi
jg 0x10010bcf
mov dword [esp + 0xa8], 0
jmp 0x10010bd6
sub dword [esp + 0xa8], eax
mov edi, dword [esp + 0xf8]
and edi, 0x40
mov dword [esp + 0x7c], edi
jne 0x10010bfa
mov edi, dword [ebx + ebp + 0x78]
mov dword [esp + 0xa4], edi
cmp edi, dword [esp + 0xf4]
jg 0x10010c07
mov dword [esp + 0xa4], 0
jmp 0x10010c15
mov edi, dword [esp + 0xf4]
sub dword [esp + 0xa4], edi
mov edi, dword [esp + 0xf8]
and edi, 0x20
mov dword [esp + 0xac], edi
jne 0x10010c34
mov edi, dword [ebx + ebp + 0x50]
cmp edi, ecx
mov dword [esp + 0x74], edi
jg 0x10010c3e
mov dword [esp + 0x74], 0
jmp 0x10010c42
sub dword [esp + 0x74], ecx
and dword [esp + 0xf8], 0x80
jne 0x10010c5b
mov ecx, dword [ebx + ebp + 0x7c]
cmp ecx, edx
mov dword [esp + 0x70], ecx
jg 0x10010c65
mov dword [esp + 0x70], 0
jmp 0x10010c69
sub dword [esp + 0x70], edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x98], ebx
mov edi, eax
mov ebx, dword [esp + 0xa8]
cmp eax, ebx
mov ecx, dword [esp + 0xa4]
cmovl ebx, eax
cmp esi, ecx
mov edx, dword [esp + 0x74]
cmovl ecx, esi
cmp eax, edx
mov dword [esp + 0x94], ebp
jge 0x10010ca9
mov edx, eax
mov ebp, dword [esp + 0x70]
cmp ebp, esi
mov dword [esp + 0xa8], ebx
jl 0x10010cba
mov ebp, esi
sub edi, ebx
add ebx, edx
cmp ebx, eax
mov ebx, esi
mov dword [esp + 0x64], edi
cmovg edx, edi
lea edi, [ebp + ecx]
mov dword [esp + 0xc4], esi
sub ebx, ecx
cmp edi, esi
mov esi, dword [esp + 0x9c]
cmovg ebp, ebx
mov dword [esp + 0x70], ebp
mov edi, dword [esp + 0xcc]
lea ebp, [esi + esi]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x74], edx
shl edx, 2
mov dword [esp + 0xa4], ecx
lea edi, [edi + eax*4 + 0x1f]
and edi, 0xffffffe0
lea ebx, [esi + esi]
mov esi, dword [esp + 0xa8]
shl ecx, 2
imul edx, ebx
imul ecx, ebp
mov dword [esp + 0xb0], ebx
lea eax, [esi*4]
imul eax, ebx
mov dword [esp + 0x68], ebp
lea eax, [eax + edi + 0x1f]
and eax, 0xffffffe0
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edi
mov ebp, dword [esp + 0x94]
lea ebx, [edx + eax + 0x1f]
and ebx, 0xffffffe0
mov dword [esp + 0x8c], ebx
lea eax, [ecx + ebx + 0x1f]
mov ebx, dword [esp + 0x98]
and eax, 0xffffffe0
mov dword [esp + 0xa0], eax
test esi, esi
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0xc4]
lea edx, [eax*4]
mov dword [esp + 0x78], edx
jle 0x10010eda
mov edx, dword [esp + 0xb0]
xor ecx, ecx
shr edx, 0x1f
mov edi, dword [esp + 0x80]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xb4], eax
mov dword [esp + 0x98], ebx
lea edi, [edx + edi*2]
sar edi, 1
xor edx, edx
mov dword [esp + 0xb8], edi
mov dword [esp + 0x94], ebp
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x80]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
test esi, esi
jle 0x10010ead
mov dword [esp + 0x90], edx
xor ebp, ebp
lea ebx, [eax + edx]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
mov esi, dword [eax + edx + 0x38]
mov edi, dword [esp + 0xb4]
lea esi, [esi + edi*4]
mov edi, dword [esi + ecx*4]
sub edi, dword [esp + 0xb8]
lea edi, [ebp + edi + 1]
test edi, edi
jge 0x10010e65
mov edi, 0
mov dword [ebx + ebp*4], edi
mov esi, dword [eax + edx + 0x28]
cmp edi, esi
jl 0x10010e7c
dec esi
cmp dword [esp + 0xac], 0
cmove edi, esi
imul edi, dword [esp + 0xec]
mov dword [ebx + ebp*4], edi
inc ebp
cmp ebp, dword [esp + 0xb0]
jb 0x10010e40
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x80]
inc ecx
lea edx, [edx + edi*8]
cmp ecx, dword [esp + 0xa8]
jb 0x10010e00
mov esi, dword [esp + 0xc4]
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x94]
add eax, dword [esp + 0xf0]
mov edx, eax
mov ecx, dword [esp + 0x74]
sub edx, ecx
mov dword [esp + 0xc0], edx
neg ecx
jns 0x10011039
mov edi, dword [esp + 0xb0]
xor edx, edx
shr edi, 0x1f
mov ecx, dword [esp + 0x80]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x90], edx
mov dword [esp + 0xc4], esi
lea edi, [edi + ecx*2]
sar edi, 1
add ecx, ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb4], eax
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebx
mov eax, edx
mov ebp, ecx
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x80]
nop dword [eax]
test ebp, ebp
jle 0x10011013
mov dword [esp + 0xb8], edx
xor ebx, ebx
mov dword [esp + 0x90], eax
lea ecx, [esi + eax]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
mov ebp, dword [eax + edx + 0x38]
mov esi, dword [esp + 0xc0]
lea edi, [ebp + esi*4]
mov ebp, dword [esp + 0xb8]
mov esi, dword [edi + ebp*4]
sub esi, dword [esp + 0xbc]
lea edi, [ebx + esi + 1]
test edi, edi
jl 0x1001160d
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 + 0xac]
jb 0x10010fa0
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x90]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x80]
inc edx
lea eax, [eax + edi*8]
cmp edx, dword [esp + 0xb4]
jb 0x10010f60
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0xf4]
cmp dword [esp + 0xa4], 0
lea edi, [eax*4]
jle 0x10011192
mov ecx, dword [esp + 0x68]
xor edx, edx
shr ecx, 0x1f
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x90], edx
mov dword [esp + 0xc4], esi
mov dword [esp + 0x58], edi
lea ecx, [ecx + eax*2]
sar ecx, 1
add eax, eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], ebp
mov ecx, edx
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x9c]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
test eax, eax
jle 0x10011168
mov dword [esp + 0x90], ecx
xor ebp, ebp
mov dword [esp + 0xb4], eax
lea ebx, [esi + ecx]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [eax + ecx + 0x64]
mov edi, dword [esp + 0xf4]
lea esi, [esi + edi*4]
mov edi, dword [esi + edx*4]
sub edi, dword [esp + 0xac]
lea edi, [ebp + edi + 1]
test edi, edi
jge 0x10011125
mov edi, 0
mov dword [ebx + ebp*4], edi
mov esi, dword [eax + ecx + 0x54]
cmp edi, esi
jl 0x1001113c
dec esi
cmp dword [esp + 0xf8], 0
cmove edi, esi
lea esi, [edi + edi*2]
mov dword [ebx + ebp*4], esi
inc ebp
cmp ebp, dword [esp + 0xb4]
jb 0x10011100
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x9c]
inc edx
lea ecx, [ecx + edi*8]
cmp edx, dword [esp + 0xa4]
jb 0x100110c0
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0xf4]
add ecx, esi
mov eax, dword [esp + 0x70]
mov dword [esp + 0xf4], ecx
sub ecx, eax
neg eax
jns 0x10011318
mov dword [esp + 0xc4], esi
xor eax, eax
mov esi, dword [esp + 0x68]
shr esi, 0x1f
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x90], eax
sub dword [esp + 0xf4], ecx
lea esi, [esi + edx*2]
sar esi, 1
add edx, edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebx
mov edx, dword [esp + 0xb8]
mov ecx, eax
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
nop dword [eax + eax]
nop dword [eax]
nop word [eax + eax]
test ebp, ebp
jle 0x100112ee
mov dword [esp + 0xb8], edx
xor ebx, ebx
mov dword [esp + 0x90], ecx
lea eax, [esi + ecx]
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
mov ebp, dword [edx + ecx + 0x64]
mov esi, dword [esp + 0xbc]
lea edi, [ebp + esi*4]
mov ebp, dword [esp + 0xb8]
mov esi, dword [edi + ebp*4]
sub esi, dword [esp + 0xb4]
lea edi, [ebx + esi + 1]
test edi, edi
jl 0x100115f4
mov dword [eax + ebx*4], edi
mov ebp, dword [edx + ecx + 0x54]
cmp edi, ebp
lea esi, [ebp - 1]
cmovge edi, esi
lea edi, [edi + edi*2]
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0xac]
jb 0x10011280
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
inc edx
lea ecx, [ecx + edi*8]
cmp edx, dword [esp + 0xf4]
jb 0x10011240
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov edx, dword [esp + 0xec]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x78]
imul ecx, edx
imul edi, eax
add ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], ecx
add edi, dword [esp + 0xd0]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x88]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x44], ecx
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x54], ecx
call fcn.10050a00
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x74]
mov dword [esp + 0x64], eax
test eax, eax
jle 0x100115b3
sub esi, dword [esp + 0xa4]
sub esi, dword [esp + 0x70]
test esi, esi
jle 0x100115b3
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
lea ecx, [edx*4]
imul ecx, dword [esp + 0x70]
lea edi, [eax + ecx + 0x1f]
mov eax, dword [esp + 0x80]
and edi, 0xffffffe0
mov dword [esp + 0x5c], edi
lea ecx, [eax + eax]
mov dword [esp + 0x58], ecx
lea edx, [edi + eax*8 + 0x23]
and edx, 0xffffffe0
mov dword [edi], edx
test ecx, ecx
jle 0x100114c4
shr ecx, 1
test ecx, ecx
jbe 0x100115ea
mov dword [esp + 0x94], ebp
xor edi, edi
mov ebp, dword [esp + 0x5c]
lea eax, [esi + esi*2]
lea edx, [edx + eax*4 + 0x1f]
and edx, 0xffffffe0
mov dword [ebp + edi*8 + 4], edx
lea edx, [edx + eax*4 + 0x1f]
and edx, 0xffffffe0
mov dword [ebp + edi*8 + 8], edx
inc edi
cmp edi, ecx
jb 0x10011480
mov ebp, dword [esp + 0x94]
lea edx, [edi + edi + 1]
lea eax, [edx - 1]
cmp eax, dword [esp + 0x58]
jae 0x100114c4
mov eax, dword [esp + 0x5c]
lea edi, [esi + esi*2]
mov ecx, dword [eax + edx*4 - 4]
lea ecx, [ecx + edi*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [eax + edx*4], ecx
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0xa8]
mov edi, dword [esp + 0xcc]
mov eax, dword [esp + 0x124]
add eax, ebp
shl eax, 2
lea edi, [edi + ebp*4]
imul eax, dword [esp + 0xb0]
imul ebp, dword [esp + 0xe4]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xd4]
mov edx, dword [esp + 0xe8]
add ebx, eax
mov ecx, dword [esp + 0xe0]
add edx, ebp
mov eax, dword [esp + 0x120]
lea ebp, [esi + esi*2]
push dword [esp + 0x5c]
add eax, esi
add edx, ebp
mov dword [esp + 0xec], edx
lea ecx, [ecx + esi*4]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0xd4]
lea ebp, [edx + eax*4]
shl eax, 2
imul eax, dword [esp + 0x6c]
add esi, eax
test edx, edx
cmove ebp, esi
push ebp
push ebx
push ecx
push edi
push dword [esp + 0x94]
push dword [esp + 0xb4]
push dword [esp + 0x80]
push dword [esp + 0xe4]
push 0
push dword [esp + 0x10c]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0xfc]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xcc]
call fcn.10050a00
add esp, 0x38
mov eax, dword [esp + 0xdc]
cmp eax, dword [ebx + ebp + 0x58]
jg 0x100115cd
mov eax, dword [esp + 0xd8]
cmp eax, dword [ebx + ebp + 0x2c]
jle 0x100115dd
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 0x100114a6
cmp dword [esp + 0x7c], 0
jne 0x100112ac
mov dword [eax + ebx*4], 0
xor edi, edi
jmp 0x100112af
cmp dword [esp + 0x58], 0
jne 0x10010fcc
mov dword [ecx + ebx*4], 0
xor edi, edi
jmp 0x10010fcf
mov ecx, dword [ebx + ebp + 0xc]
add ecx, ecx
mov dword [esp + 0x58], ecx
mov edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ebx + ebp + 0x10]
lea edi, [edi + ecx*4 + 0x1f]
and edi, 0xffffffe0
mov dword [esp + 0x60], edi
lea ecx, [edi + edx*8 + 0x23]
add edx, edx
and ecx, 0xffffffe0
mov dword [edi], ecx
test edx, edx
mov dword [esp + 0x5c], edx
jle 0x10011701
shr edx, 1
mov dword [esp + 0x64], edx
test edx, edx
jbe 0x100117af
mov dword [esp + 0x98], ebx
lea edi, [esi + esi*2]
xor edx, edx
mov dword [esp + 0x94], ebp
mov ebp, edi
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
nop dword [eax + eax]
nop dword [eax]
nop
lea ecx, [ecx + ebp*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [edi + edx*8 + 4], ecx
lea ecx, [ecx + ebp*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [edi + edx*8 + 8], ecx
inc edx
cmp edx, ebx
jb 0x100116a0
mov ebx, dword [esp + 0x98]
lea edx, [edx + edx + 1]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x64]
lea ecx, [edx - 1]
cmp ecx, dword [esp + 0x5c]
jae 0x10011701
mov ecx, dword [esp + 0x60]
lea edi, [esi + esi*2]
mov dword [esp + 0xc4], esi
mov esi, dword [ecx + edx*4 - 4]
lea esi, [esi + edi*4 + 0x1f]
and esi, 0xffffffe0
mov dword [ecx + edx*4], esi
mov esi, dword [esp + 0xc4]
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 + 0x74]
imul eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xcc]
sub ecx, eax
sub ecx, dword [esp + 0x6c]
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 + 0x10c]
push dword [esp + 0xe4]
push 0
push dword [esp + 0x10c]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0xfc]
call fcn.10050a00
jmp 0x100115b0
mov dword [esp + 0x64], 1
jmp 0x100116d1
mov edx, 1
jmp 0x10010aec
mov eax, 1
jmp 0x10010a52