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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov ecx, dword [ebp + 0xc]
fldz
push ebx
fstp qword [ecx + 0x20]
xor edx, edx
cmp dword [ecx + 0x10], edx
push esi
push edi
mov dword [esp + 0x34], edx
jle 0x1014c42f
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edx
jmp 0x1014c0d0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x15d0]
add eax, dword [esp + 0x3c]
mov ebx, dword [ecx + 0x14]
add ebx, dword [esp + 0x38]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cmp dword [ebx + 0x10], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], edx
jle 0x1014c410
mov dword [esp + 0x20], edx
jmp 0x1014c110
mov edi, dword [ebx + 0x14]
add edi, dword [esp + 0x20]
mov dword [esp + 0x64], edx
cmp dword [edi + 0x18], edx
mov dword [esp + 0x74], edi
jle 0x1014c3f9
lea esi, [edi + 0x38]
mov dword [esp + 0x24], esi
fld dword [esi]
sub esp, 8
fmul qword [0x10228f40]
fstp qword [esp]
call fcn.10154cb0
add esp, 8
call fcn.10153880
mov ecx, eax
mov eax, 0x4000000
cdq
idiv ecx
mov edx, dword [edi + 0x10]
imul edx, dword [edi + 0x14]
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], eax
test edx, edx
jle 0x1014c3db
mov dword [esp + 0x2c], ecx
mov eax, dword [esi - 8]
add eax, dword [esp + 0x2c]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 0x14]
imul edx, dword [eax + 0x10]
mov dword [esp + 0x5c], eax
test edx, edx
jle 0x1014c3be
mov dword [esp + 0x28], ecx
jmp 0x1014c199
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x18]
add eax, dword [esp + 0x28]
mov ebx, dword [esi - 0xc]
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x10]
sub edi, dword [esi - 0x18]
mov ecx, edx
sub ecx, dword [esi - 0x1c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x40], ecx
test bl, 1
je 0x1014c1db
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 0x14]
mov esi, dword [esp + 0x20]
lea edx, [esi + edx - 0x7c]
mov esi, dword [edx + 8]
sub esi, dword [edx]
mov edx, dword [eax + 0xc]
add ecx, esi
mov dword [esp + 0x40], ecx
test bl, 2
je 0x1014c1f7
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ecx, dword [ecx + 0x14]
lea ecx, [esi + ecx - 0x7c]
mov esi, dword [ecx + 0xc]
sub esi, dword [ecx + 4]
add edi, esi
mov ebx, dword [eax + 0x18]
sub ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov esi, dword [ebp + 8]
sub eax, edx
push eax
call fcn.1014b980
add esp, 4
test eax, eax
je 0x1014c42f
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x14]
imul edi, edx
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x18]
add edi, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x18]
lea edi, [esi + edi*4]
mov esi, dword [esp + 0x54]
cmp dword [esi + 0x14], 1
mov dword [esp + 0x6c], ecx
jne 0x1014c297
test eax, eax
jle 0x1014c338
add edx, edx
add edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], eax
test ecx, ecx
jle 0x1014c276
mov eax, edi
mov edx, ebx
mov edi, ecx
mov esi, dword [eax]
shl esi, 6
mov dword [edx], esi
add eax, 4
add edx, 4
sub edi, 1
jne 0x1014c264
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x50]
lea eax, [ecx*4]
add ebx, eax
sub dword [esp + 0x44], 1
mov dword [esp + 0x40], edi
jne 0x1014c25a
jmp 0x1014c338
test eax, eax
jle 0x1014c338
mov esi, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], eax
lea ecx, [ecx]
test ecx, ecx
jle 0x1014c30b
mov eax, dword [esp + 0x68]
cdq
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov ebx, edi
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [ebx]
push ecx
mov ecx, dword [esp + 0x7c]
cdq
push ecx
push edx
push eax
call fcn.101545f0
mov ecx, eax
mov edi, edx
and eax, 0x1000
xor edx, edx
add eax, ecx
adc edx, edi
mov cl, 0xd
call fcn.101541a0
sar eax, 5
mov dword [esi], eax
add ebx, 4
add esi, 4
sub dword [esp + 0x44], 1
jne 0x1014c2c7
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
lea eax, [ecx*4]
add esi, eax
lea eax, [edx*4]
add edi, eax
sub dword [esp + 0x50], 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], edi
jne 0x1014c2b0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x10]
mov edx, dword [eax + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x34]
fld dword [eax]
mov eax, dword [eax - 0xc]
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [edx + 0x10]
sub ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
dec ecx
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call fcn.1014ba30
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x14]
imul edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x88]
add dword [esp + 0x58], 0x30
mov esi, dword [esp + 0x54]
inc eax
add esp, 0x30
cmp eax, edx
mov dword [esp + 0x58], eax
jl 0x1014c195
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
xor ecx, ecx
mov edx, dword [edi + 0x10]
imul edx, dword [edi + 0x14]
mov eax, dword [esp + 0x60]
add dword [esp + 0x2c], 0x24
inc eax
cmp eax, edx
mov dword [esp + 0x60], eax
jl 0x1014c171
mov eax, dword [esp + 0x64]
inc eax
add esi, 0x20
cmp eax, dword [edi + 0x18]
mov dword [esp + 0x64], eax
mov dword [esp + 0x24], esi
jl 0x1014c12f
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [esp + 0x30]
add dword [esp + 0x20], 0x7c
inc eax
cmp eax, dword [ebx + 0x10]
mov dword [esp + 0x30], eax
jl 0x1014c110
mov eax, dword [esp + 0x34]
add dword [esp + 0x38], 0x20
add dword [esp + 0x3c], 0x434
inc eax
cmp eax, dword [ecx + 0x10]
mov dword [esp + 0x34], eax
jl 0x1014c0d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret