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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov edx, dword [ebp + 0xc]
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x30]
mov ebx, dword [eax + edx*4]
push edi
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 4]
mov dword [ebp + 0x10], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], edi
test al, 1
je 0x117cd02
test eax, 0x1000
jne 0x117cd02
mov eax, dword [edi]
mov ecx, eax
and ecx, 0x1f
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebx]
mov edx, ecx
and edx, 0x40
mov dword [ebp - 4], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
and edx, 0xfff00000
mov dword [ebp - 8], edx
cmp edx, 0x10000000
jne 0x117cb8b
or ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [ebx], ecx
jmp 0x117ccff
and eax, 0x40
or eax, ecx
mov dword [ebx], eax
test eax, 0xe000000
jne 0x117cbcd
cmp edx, 0x10100000
je 0x117cbc1
cmp edx, 0x10300000
je 0x117cbc1
cmp edx, 0x10400000
je 0x117cbc1
cmp edx, 0x10d00000
je 0x117cbc1
cmp edx, 0x10e00000
jne 0x117cbcd
mov ecx, dword [edi]
and ecx, 0xe000000
or ecx, eax
mov dword [ebx], ecx
push 4
pop eax
cmp edx, 0x10100000
je 0x117cc10
cmp edx, 0x10300000
je 0x117cbfa
cmp edx, 0x10400000
je 0x117cc0c
cmp edx, 0x10500000
je 0x117cc0c
cmp edx, 0x10700000
jne 0x117cc2b
jmp 0x117cc0c
test byte [ebp + 0xc], 4
je 0x117cc06
test byte [ebp + 0xc], 8
jne 0x117cc0c
mov eax, dword [ebp + 0xc]
and eax, 0xc
or dword [ebx], eax
jmp 0x117cc2b
mov ecx, dword [ebp + 0xc]
shr ecx, 1
and ecx, eax
mov eax, dword [ebp + 0xc]
and eax, 4
add eax, eax
or ecx, eax
mov eax, dword [ebp + 0xc]
and eax, 0xfffffff3
or ecx, eax
or dword [ebx], ecx
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 4]
test ecx, 0x100
je 0x117ceb1
cmp dword [edi + 8], 0xffffffff
jne 0x117ceb1
mov eax, 0x10800000
xor ecx, ecx
cmp edx, eax
ja 0x117cddc
je 0x117cdcf
cmp edx, 0x10100000
je 0x117cdc5
cmp edx, 0x10300000
je 0x117cda0
cmp edx, 0x10400000
je 0x117cd72
cmp edx, 0x10500000
je 0x117cd5f
cmp edx, 0x10600000
je 0x117cd19
cmp edx, 0x10700000
jne 0x117cd02
cmp dword [ebp - 4], ecx
jne 0x117cd0b
fld qword [edi + 0x20]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x117ccc5
push 0x10637a4
fstp st(0)
push 0xfa3
jmp 0x117ccdb
fld qword [edi + 0x20]
fucompp
fnstsw ax
test ah, 0x44
jp 0x117cd0b
push 0x1063790
push 0xfa1
mov eax, dword [ebp + 8]
push dword [eax + 0x3c]
push esi
call fcn.01179426
add esp, 0x10
fldz
push ecx
push ecx
fstp qword [esp]
push 0
push 0
push dword [esi + 0x78]
mov ecx, esi
call fcn.0116deab
mov dword [ebx + 0x30], eax
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0xc
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIsqrt
fld1
fdivrp st(1)
jmp 0x117ccec
fldz
cmp dword [ebp - 4], ecx
jne 0x117cd2e
fcom qword [edi + 0x20]
fnstsw ax
test ah, 0x44
jp 0x117cd2e
fstp st(0)
jmp 0x117cd02
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 0x41
jne 0x117cd44
push 0x106ee00
push 0xfa2
jmp 0x117ccdb
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIlog
fstp qword [ebp - 0x24]
fld qword [0x100ab48]
call sub.msvcrt.dll__CIlog
fdivr qword [ebp - 0x24]
jmp 0x117ccec
fld qword [0x100ab48]
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIpow
jmp 0x117ccec
fld qword [edi + 0x20]
push ecx
push ecx
fstp qword [esp]
call sub.msvcrt.dll__finite
pop ecx
pop ecx
test eax, eax
je 0x117ccea
fld qword [edi + 0x20]
push ecx
push ecx
fstp qword [esp]
call sub.msvcrt.dll_floor
fsubr qword [edi + 0x20]
pop ecx
pop ecx
jmp 0x117ccec
cmp dword [ebp - 4], ecx
jne 0x117cdbb
fld qword [edi + 0x20]
fldz
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x117ccec
fstp st(0)
fld1
fdiv qword [edi + 0x20]
jmp 0x117ccec
fld qword [edi + 0x20]
fchs
jmp 0x117ccec
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIsin
jmp 0x117ccec
cmp edx, 0x10900000
je 0x117cea4
cmp edx, 0x10a00000
je 0x117ce67
cmp edx, 0x10b00000
je 0x117ce2a
cmp edx, 0x10c00000
je 0x117ce1d
cmp edx, 0x10d00000
je 0x117ccea
cmp edx, 0x10e00000
jne 0x117cd02
jmp 0x117ccea
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIatan
jmp 0x117ccec
cmp dword [ebp - 4], ecx
jne 0x117ce5a
fld qword [0x1009a38]
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 0x41
je 0x117ce4b
fld1
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 5
jp 0x117ce5a
push 0x106ede8
push 0xfa6
jmp 0x117ccdb
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIacos
jmp 0x117ccec
cmp dword [ebp - 4], ecx
jne 0x117ce97
fld qword [0x1009a38]
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 0x41
je 0x117ce88
fld1
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 5
jp 0x117ce97
push 0x106edd4
push 0xfa5
jmp 0x117ccdb
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIasin
jmp 0x117ccec
fld qword [edi + 0x20]
call sub.msvcrt.dll__CIcos
jmp 0x117ccec
mov al, byte [ebp + 0xc]
test al, 1
je 0x117cec4
cmp edx, 0x10400000
je 0x117ccea
test al, 2
je 0x117ced4
cmp edx, 0x10400000
je 0x117ccea
test al, 8
je 0x117cf47
cmp edx, 0x10600000
je 0x117cf17
cmp edx, 0x10700000
jne 0x117cf47
xor edi, edi
cmp dword [ebp - 4], edi
jne 0x117cd02
mov eax, dword [ebp + 8]
push 0x10637a4
push 0xfa3
push dword [eax + 0x3c]
push esi
call fcn.01179426
fldz
pop ecx
pop ecx
fstp qword [esp]
push edi
push edi
jmp 0x117ccf5
cmp dword [ebp - 4], 0
jne 0x117cd02
test al, 4
jne 0x117cd02
mov eax, dword [ebp + 8]
push 0x106ee00
push 0xfa2
push dword [eax + 0x3c]
push esi
call fcn.01179426
add esp, 0x10
jmp 0x117cd02
test ecx, 0x200
je 0x117cf67
cmp edx, 0x10d00000
je 0x117ccea
cmp edx, 0x10e00000
je 0x117ccea
cmp dword [ebp - 4], 0
jne 0x117cd02
test cl, 2
je 0x117cd02
cmp edx, 0x10100000
mov edx, 0xfff00000
jne 0x117cf9c
mov ecx, dword [esi + 0x18]
mov eax, dword [edi + 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x10100000
je 0x117cff6
cmp dword [ebp - 8], 0x10300000
jne 0x117cfba
mov ecx, dword [esi + 0x18]
mov eax, dword [edi + 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x10300000
je 0x117cff6
cmp dword [ebp - 8], 0x10500000
jne 0x117cfd8
mov ecx, dword [esi + 0x18]
mov eax, dword [edi + 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x10600000
je 0x117cff6
cmp dword [ebp - 8], 0x10600000
jne 0x117d041
mov ecx, dword [esi + 0x18]
mov eax, dword [edi + 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x10500000
jne 0x117d041
and dword [ebp + 8], 0
cmp dword [eax + 0xc], 0
jbe 0x117d020
mov ecx, dword [eax + 0x10]
jmp 0x117d008
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp dword [ecx], edx
je 0x117d020
inc dword [ebp + 8]
add ecx, 4
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0xc]
jb 0x117d005
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0xc]
jae 0x117d03c
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0x30]
jmp 0x117ccff
mov edx, 0xfff00000
cmp dword [ebp - 8], 0x10300000
jne 0x117d128
mov eax, dword [esi + 0x18]
mov ecx, dword [edi + 0x48]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
and eax, edx
cmp eax, 0x20500000
jne 0x117d128
mov edi, dword [ecx + 0xc]
xor edx, edx
test edi, edi
jbe 0x117d081
mov eax, dword [ecx + 0x10]
mov ebx, dword [eax]
cmp ebx, dword [ebp + 0x10]
je 0x117d081
inc edx
add eax, 4
cmp edx, edi
jb 0x117d072
and dword [ebp - 4], 0
mov ecx, dword [ecx + 8]
mov eax, edi
shl edi, 2
mov dword [ebp - 0x1c], edi
mov edi, eax
imul edi, edi, 0xfffffffc
add eax, edx
lea ebx, [ecx + edx*4]
lea eax, [ecx + eax*4]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0xc], eax
mov edx, 0xfff00000
mov ebx, dword [ebx]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ebx*4]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x14], ebx
mov ebx, dword [eax + 4]
mov ecx, dword [ecx + ebx*4]
test byte [ecx + 4], 2
je 0x117d10d
mov ecx, dword [eax + 0x48]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x10700000
jne 0x117d10d
and dword [ebp + 8], 0
cmp dword [eax + 0xc], 0
jbe 0x117d0f9
mov ecx, dword [eax + 0x10]
mov ebx, dword [ecx]
cmp ebx, dword [ebp - 0x14]
je 0x117d0f9
inc dword [ebp + 8]
mov ebx, dword [eax + 0xc]
add ecx, 4
cmp dword [ebp + 8], ebx
jb 0x117d0e4
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ebx, dword [ebp + 8]
cmp dword [ecx + ebx*4], eax
je 0x117d1cc
mov ebx, dword [ebp - 0xc]
add ebx, dword [ebp - 0x1c]
inc dword [ebp - 4]
add dword [ebp + 0xc], edi
cmp dword [ebp - 4], 2
mov dword [ebp - 0xc], ebx
jb 0x117d0a8
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 8], 0x10500000
jne 0x117cd02
mov ecx, dword [edi + 0x48]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x20500000
jne 0x117cd02
mov ecx, dword [eax + 0xc]
and dword [ebp + 8], 0
test ecx, ecx
jbe 0x117d175
mov edi, dword [eax + 0x10]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp + 0xc]
mov edi, dword [edi]
cmp edi, dword [ebp + 0x10]
je 0x117d175
inc dword [ebp + 8]
add dword [ebp + 0xc], 4
cmp dword [ebp + 8], ecx
jb 0x117d15f
and dword [ebp + 0xc], 0
mov eax, dword [eax + 8]
mov edi, dword [esi + 0x14]
shl ecx, 2
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 8]
lea eax, [eax + ecx*4]
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
mov eax, dword [edi + eax*4]
mov ecx, dword [eax + 4]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*4]
test byte [eax + 4], 2
je 0x117d21d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
and ecx, edx
cmp ecx, 0x10600000
jne 0x117d21d
and dword [ebp + 8], 0
cmp dword [eax + 0xc], 0
jbe 0x117d200
mov ecx, dword [eax + 0x10]
jmp 0x117d1e6
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x30], eax
jmp 0x117cd02
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp + 0x10]
mov edi, dword [edi]
cmp dword [ecx], edi
je 0x117d200
inc dword [ebp + 8]
add ecx, 4
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0xc]
jb 0x117d1e3
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x14]
mov eax, dword [edi + eax*4]
mov eax, dword [eax]
test al, 4
je 0x117d21d
test al, 8
jne 0x117ccea
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 0x1c]
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 2
mov dword [ebp + 0x10], eax
jb 0x117d18e
jmp 0x117cd02