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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x10273620]
push ebx
push esi
mov esi, dword [0x10274ac0]
mov ebx, ecx
push edi
mov edi, dword [eax]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x1028116c]
cmp eax, dword [ecx + 4]
jg 0x10170461
mov ecx, dword [0x10281168]
cmp dword [ecx + 0x2c], 0
je 0x101701d3
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebx]
call fcn.1016fcc0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x101704a6
mov eax, dword [0x102811c8]
mov dword [esp + 0xc], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x1028115c]
cmp eax, dword [ecx + 4]
jg 0x101704e5
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x10281160]
cmp eax, dword [ecx + 4]
jg 0x1017052d
mov eax, dword fs:[0x2c]
mov ecx, dword ds:[eax + esi*4]
mov eax, dword [0x10281154]
cmp eax, dword [ecx + 4]
jg 0x10170570
mov eax, dword [edi]
mov esi, dword [esp + 0xc]
mov dword [eax + 0xd60], esi
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov eax, dword [0x10280dac]
test eax, eax
jne 0x1017028b
push str.89_35_____________DB_86_____________83_C4_04
push str.client.dll
call fcn.10187b20
mov dword [0x10280dac], eax
test eax, eax
je 0x10170291
mov eax, dword [eax + 2]
mov dword [0x10280dac], eax
test eax, eax
je 0x10170291
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, dword [0x10280da8]
test eax, eax
jne 0x101702b2
push str.8B_44_24_04_85_C0_75_0B
push str.client.dll
call fcn.10187b20
mov dword [0x10280da8], eax
test eax, eax
je 0x101702b8
push esi
call eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x101702cd
cmp byte [eax + 0x3c], 0
jne 0x101702cd
inc dword [ebx + 8]
mov ecx, dword [ebx + 8]
jmp 0x101702db
mov ecx, dword [esp + 0x14]
call fcn.10008940
mov ecx, dword [eax]
mov dword [ebx + 8], ecx
mov eax, dword [0x1027361c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
push 0xa4
mov eax, dword [eax]
push 0
mulss xmm0, dword [eax + 0x1c]
movss dword [eax + 0xc], xmm0
mov eax, dword [0x1027361c]
mov eax, dword [eax]
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x10], xmm0
lea eax, [esp + 0x20]
push eax
call fcn.1009de40
mov eax, dword [0x1027361c]
add esp, 0xc
mov ecx, dword [eax + 0x48]
push dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov eax, dword [0x1027361c]
lea esi, [esp + 0x18]
push esi
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
push dword [eax + 0x48]
push esi
mov edx, dword [ecx]
push dword [edi]
mov eax, dword [edx + 0x50]
call eax
mov eax, dword [0x1027361c]
lea edx, [esp + 0x18]
push edx
push dword [edi]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov eax, dword [0x1027361c]
lea edx, [esp + 0x18]
push edx
push esi
push dword [edi]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
mov eax, dword [0x10273620]
mov edi, dword [ebx]
mov eax, dword [eax]
mov esi, dword [eax]
mov ecx, esi
mov eax, dword [0x1027361c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x60], eax
call fcn.100087e0
mov ecx, esi
mov eax, dword [eax]
mov dword [edi + 0x64], eax
call fcn.10036000
mov ecx, esi
movzx eax, byte [eax]
mov byte [edi + 0x68], al
call fcn.10008ac0
mov ecx, esi
mov edx, dword [eax]
mov dword [edi + 0x6c], edx
mov edx, dword [eax + 4]
mov dword [edi + 0x70], edx
mov eax, dword [eax + 8]
mov dword [edi + 0x74], eax
call fcn.10005360
mov ecx, dword ds:[eax]
mov dword [edi + 0x78], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 0x7c], ecx
mov eax, dword [eax + 8]
mov dword [edi + 0x80], eax
movss xmm0, dword [edi + 0x40]
movss xmm2, dword [edi + 0x50]
movss xmm1, dword [edi + 0x3c]
addss xmm0, dword [edi + 0x58]
addss xmm2, dword [edi + 0x38]
addss xmm1, dword [edi + 0x54]
movss dword [edi + 8], xmm0
movss xmm0, dword [edi + 0xc]
movss dword [edi], xmm2
movss dword [edi + 4], xmm1
mov eax, dword [0x1027361c]
mov eax, dword [eax]
movss dword [eax + 0xc], xmm0
mov eax, dword [0x1027361c]
movss xmm0, dword [edi + 0x10]
mov eax, dword [eax]
movss dword [eax + 0x10], xmm0
mov eax, dword [0x1027361c]
mov ecx, dword [eax]
mov eax, dword [edi + 0x20]
mov dword [ecx + 0x18], eax
mov eax, dword [0x1027361c]
mov ecx, dword [eax + 0x18]
movzx eax, byte [edi + 0x24]
mov byte [ecx + 4], al
mov eax, dword [0x1027361c]
mov ecx, dword [eax + 0x18]
movzx eax, byte [edi + 0x25]
pop edi
pop esi
mov byte [ecx + 5], al
mov eax, dword [esp + 4]
mov dword [ebx + 4], eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1028116c
call fcn.10088d85
add esp, 4
cmp dword [0x1028116c], 0xffffffff
jne 0x101701be
mov eax, dword [0x1027361c]
push str.cl_pred_optimize
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x1028116c
mov dword [0x10281168], eax
call fcn.10088d34
add esp, 4
jmp 0x101701be
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x101701f4
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x101701f4
push 0x1028115c
call fcn.10088d85
add esp, 4
cmp dword [0x1028115c], 0xffffffff
jne 0x10170217
push str.83_3D________________7C_3E_8B_0D
push str.engine.dll
call fcn.10187b20
push 0x1028115c
mov eax, dword ds:[eax + 2]
mov dword [0x10281170], eax
call fcn.10088d34
add esp, 4
jmp 0x10170217
push 0x10281160
call fcn.10088d85
add esp, 4
cmp dword [0x10281160], 0xffffffff
jne 0x10170231
push str.A1_____________56_50_A1
push str.engine.dll
call fcn.10187b20
push 0x10281160
mov eax, dword [eax + 1]
mov dword [0x10281158], eax
call fcn.10088d34
add esp, 4
jmp 0x10170231
push 0x10281154
call fcn.10088d85
add esp, 4
cmp dword [0x10281154], 0xffffffff
jne 0x1017024c
push str.A1_____________8B_0D_____________8B_11_53_56
push str.engine.dll
call fcn.10187b20
push 0x10281154
mov eax, dword [eax + 1]
mov dword [0x10281164], eax
call fcn.10088d34
add esp, 4
jmp 0x1017024c