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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov ebp, dword [esp + 0x38]
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
push esi
push edi
jb 0x170888
call fcn.0016e040
mov ecx, dword [esp + 0x44]
test ch, 0x10
mov esi, eax
je 0x170962
mov ecx, dword [0x178d8c]
test ecx, ecx
mov ebx, 1
jne 0x1708b0
test byte [ebp + 8], 0x40
jne 0x1708b0
xor ecx, ecx
jmp 0x1708b2
mov ecx, ebx
mov edx, dword [ebp + 0x794]
test byte [edx + 4], 0x12
jne 0x17093a
mov edx, dword [0x178d88]
test edx, edx
je 0x17093a
mov edx, dword [ebp + 0x1928]
and edx, 0xffffffef
cmp edx, ebx
je 0x17093a
test ecx, ecx
mov edi, ebx
je 0x1708fb
mov ecx, dword [0x178d90]
test ecx, ecx
je 0x1708f4
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
je 0x1708f4
mov edi, 0x10001
call fcn.00170730
mov esi, eax
mov dword [esi], 0x40294
mov dword [esi + 4], edi
mov dword [esi + 8], 0x40314
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], 0x403b8
mov dword [esi + 0x14], ebx
call fcn.0016f760
mov dword [ebp + 0x7d0], eax
mov dword [esi + 0x18], 0x40298
mov dword [esi + 0x1c], eax
push eax
lea eax, [esi + 0x20]
call fcn.00170570
mov esi, eax
jmp 0x170962
mov dword [eax], 0x40314
mov dword [eax + 4], 0
mov dword [eax + 8], 0x403b8
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0x40294
mov dword [eax + 0x14], 0x20001
lea esi, [eax + 0x18]
mov edx, dword [esp + 0x44]
test edx, 0xff8000
je 0x170bb1
mov eax, dword [ebp + 0x7d0]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x7cc]
mov dword [esi], 0x403bc
mov dword [esi + 4], eax
add esi, 8
xor ecx, ecx
lea eax, [ebp + 0x7ac]
mov dword [esp + 0x40], ecx
mov ebx, 0x41024
mov dword [esp + 0x10], eax
jmp 0x1709b0
mov edx, dword [esp + 0x44]
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
test edi, edi
je 0x170b8b
mov eax, 0x10000
shl eax, cl
test edx, eax
jne 0x1709f7
test dh, dh
jns 0x170b8b
cmp esi, dword [ebp + 4]
mov dword [ebp], esi
mov eax, esi
jb 0x1709e0
call fcn.0016e040
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, edi
call fcn.00170480
mov esi, eax
jmp 0x170b8b
cmp esi, dword [ebp + 4]
mov dword [ebp], esi
mov eax, esi
jb 0x170a06
call fcn.0016e040
mov edx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x18]
mov ecx, edi
call fcn.00170480
mov esi, eax
cmp dword [edi], 3
lea eax, [ebp + 0xc60]
push eax
jne 0x170aae
push 0
add edi, 0x6c
push edi
lea ecx, [esp + 0x24]
push ecx
call fcn.0016e180
lea edx, [esp + 0x18]
push edx
call fcn.0016e440
fld dword [esp + 0x20]
fsub dword [0x218ee8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x24]
push edx
fstp dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
call fcn.0016e440
mov dword [esi], ebx
mov dword [esi + 4], 0x7149f2ca
lea eax, [ebx + 0x140004]
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x24]
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x28]
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x18], ecx
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x20]
mov dword [esi + 0x20], eax
add esi, 0x24
jmp 0x170b8b
fld dword [edi + 0x4c]
push 0x3f800000
lea ecx, [edi + 0x34]
fstp dword [esi + 4]
push ecx
lea edx, [esp + 0x3c]
mov dword [esi], ebx
push edx
call fcn.0016e180
lea eax, [ebx + 0x140038]
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x30]
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x34]
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x38]
mov dword [esi + 0x14], eax
mov ecx, dword [edi + 0x54]
mov dword [esi + 0x18], ecx
mov edx, dword [edi + 0x58]
mov dword [esi + 0x1c], edx
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x20], eax
mov eax, dword [edi]
add esi, 0x24
cmp eax, 2
jne 0x170b8b
lea eax, [ebp + 0xc60]
push eax
push 0
lea ecx, [edi + 0x6c]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.0016e180
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
push ecx
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fstp dword [esp]
call fcn.0016e3b0
fmul dword [edi + 0x84]
lea eax, [ebx + 0x18001c]
mov dword [esi], eax
mov ecx, dword [edi + 0x78]
mov dword [esi + 4], ecx
mov edx, dword [edi + 0x7c]
mov dword [esi + 8], edx
mov eax, dword [edi + 0x80]
mov dword [esi + 0xc], eax
fld dword [esp + 0x18]
fmul st(1)
add esi, 0x20
fstp dword [esi - 0x10]
fld dword [esp + 0x1c]
fmul st(1)
fstp dword [esi - 0xc]
fmul dword [esp + 0x20]
fstp dword [esi - 8]
mov ecx, dword [edi + 0x88]
mov dword [esi - 4], ecx
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
inc ecx
add edi, 4
add ebx, 0x80
cmp ebx, 0x41424
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], edi
jb 0x1709a5
pop edi
mov dword [ebp], esi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 8