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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
push ebx
mov bl, byte [ebp + 0x18]
push esi
push edi
mov edi, ecx
test bl, bl
jne 0x440ee7
cmp byte [edi + 0x124], bl
jne 0x440ee7
mov esi, edi
call fcn.004407c0
mov al, byte [ebp + 0x14]
or bl, byte [edi + 0x124]
or al, byte [edi + 8]
cmp dword [edi + 0x15c], 0
mov byte [ebp + 0x18], bl
mov byte [ebp + 0x14], al
jne 0x440f07
mov bl, 1
mov byte [ebp + 0x18], bl
test al, al
je 0x440f69
cmp byte [edi + 0x12a], 0
je 0x440f36
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
mov eax, dword [edi]
mov esi, dword [ebp + 8]
mov eax, dword [eax + 0x18]
push ecx
push edx
push esi
mov ecx, edi
call eax
test eax, eax
je 0x440f6c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
test bl, bl
jne 0x440f5b
mov eax, dword [ebp + 0x10]
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, edi
call edx
mov eax, dword [ebp + 8]
lea esi, [esp + 0x7c]
call fcn.00443df0
mov eax, dword [ebp + 8]
lea esi, [edi + 0x94]
call fcn.00443df0
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x94]
cmp eax, dword [edi + 0x9c]
jge 0x440f88
mov ecx, dword [edi + 0x98]
cmp ecx, dword [edi + 0xa0]
jl 0x440fac
test bl, bl
je 0x440fac
mov dl, byte [edi + 0x125]
cmp dl, byte [edi + 0x124]
jne 0x440fac
mov dword [edi + 8], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [esi + 4]
shr ebx, 1
test dword [edi + 0xb8], 0xfffffffe
mov dword [esp + 0x74], ebx
mov dword [esp + 0x34], 0
jbe 0x44156e
lea ecx, [ecx]
mov ebx, dword [esp + 0x34]
mov eax, dword [edi + 0xb4]
xorps xmm0, xmm0
add ebx, ebx
add ebx, ebx
mov ecx, dword [ebx + eax]
cmp byte [ecx + 0x12f], 0
je 0x441014
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
test al, al
je 0x441022
mov ecx, dword [edi + 0xb4]
mov esi, dword [ecx + ebx]
add ecx, ebx
lea eax, [esp + 0xa0]
call fcn.0043de50
xorps xmm0, xmm0
jmp 0x441028
cmp byte [ecx + 0x21], 0
jne 0x440ff8
cmp byte [ecx + 0x51], 0
je 0x441025
jmp 0x440ff8
xorps xmm0, xmm0
mov eax, dword [ebp + 0x10]
movq xmm1, qword [eax]
mov ecx, dword [edi + 0xb4]
movq qword [esp + 0xc], xmm1
movq xmm1, qword [eax + 8]
movq qword [esp + 0x14], xmm1
movq xmm1, qword [eax + 0x10]
movq qword [esp + 0x1c], xmm1
movq xmm1, qword [eax + 0x18]
movq qword [esp + 0x24], xmm1
movq xmm1, qword [eax + 0x20]
movq qword [esp + 0x2c], xmm1
mov esi, dword [ebx + ecx]
test byte [esi + 8], 1
je 0x441075
call fcn.004407c0
xorps xmm0, xmm0
movq xmm1, qword [esi + 0xf4]
movss xmm3, dword [esp + 0x10]
movq qword [esp + 0x38], xmm1
movq xmm1, qword [esi + 0xfc]
movq qword [esp + 0x40], xmm1
movq xmm1, qword [esi + 0x104]
movq qword [esp + 0x48], xmm1
movq xmm1, qword [esi + 0x10c]
movq qword [esp + 0x50], xmm1
movq xmm1, qword [esi + 0x114]
movq qword [esp + 0x58], xmm1
cmp byte [esp + 0x5c], 0
cvtps2pd xmm6, xmm3
je 0x4412a5
movss xmm4, dword [esp + 0xc]
movss xmm2, dword [esp + 0x14]
cvtps2pd xmm1, xmm2
mulsd xmm1, xmm0
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm0
addsd xmm5, xmm6
addsd xmm5, xmm1
cvtsd2ss xmm5, xmm5
cvtps2pd xmm3, xmm3
movss dword [esp + 0x78], xmm5
movss xmm5, dword [esp + 0x4c]
cvtps2pd xmm6, xmm5
mulsd xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0x40]
cvtps2pd xmm7, xmm4
mulsd xmm6, xmm7
addsd xmm3, xmm6
cvtss2sd xmm7, dword [esp + 0x1c]
cvtps2pd xmm2, xmm2
addsd xmm3, xmm2
cvtpd2ps xmm2, xmm3
movss xmm3, dword [esp + 0x18]
cvtps2pd xmm6, xmm3
mulsd xmm6, xmm0
addsd xmm6, xmm7
movss dword [esp + 0x90], xmm2
cvtss2sd xmm2, dword [esp + 0x20]
cvtps2pd xmm7, xmm5
mulsd xmm2, xmm0
addsd xmm6, xmm2
cvtsd2ss xmm6, xmm6
movss dword [esp + 0x98], xmm6
cvtss2sd xmm6, dword [esp + 0x1c]
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x40]
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm7
cvtss2sd xmm7, dword [esp + 0x28]
addsd xmm6, xmm3
cvtss2sd xmm3, dword [esp + 0x20]
addsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0x24]
mulsd xmm6, xmm0
addsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x40]
movss dword [esp + 0x68], xmm3
cvtss2sd xmm3, dword [esp + 0x2c]
mulsd xmm3, xmm0
addsd xmm6, xmm3
cvtsd2ss xmm6, xmm6
movss dword [esp + 0x8c], xmm6
cvtss2sd xmm6, dword [esp + 0x28]
cvtps2pd xmm5, xmm5
mulsd xmm6, xmm5
cvtss2sd xmm5, dword [esp + 0x24]
mulsd xmm5, xmm7
addsd xmm6, xmm5
cvtss2sd xmm5, dword [esp + 0x2c]
addsd xmm6, xmm5
cvtsd2ss xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x10]
mulsd xmm6, xmm0
cvtps2pd xmm4, xmm4
addsd xmm6, xmm4
cvtss2sd xmm4, dword [esp + 0x18]
addsd xmm6, xmm1
cvtsd2ss xmm1, xmm6
movss dword [esp + 0xc], xmm1
movss xmm1, dword [esp + 0x78]
movss dword [esp + 0x10], xmm1
movss xmm1, dword [esp + 0x90]
movss dword [esp + 0x14], xmm1
cvtss2sd xmm1, dword [esp + 0x1c]
mulsd xmm1, xmm0
addsd xmm1, xmm4
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x18], xmm1
movss xmm1, dword [esp + 0x98]
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [esp + 0x68]
movss dword [esp + 0x20], xmm1
cvtss2sd xmm1, dword [esp + 0x28]
mulsd xmm1, xmm0
cvtss2sd xmm0, dword [esp + 0x24]
addsd xmm1, xmm0
addsd xmm1, xmm3
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x2c], xmm5
jmp 0x441529
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0xc]
cvtss2sd xmm7, dword [esp + 0x14]
cvtps2pd xmm5, xmm0
cvtps2pd xmm2, xmm1
mulsd xmm5, xmm2
movss xmm2, dword [esp + 0x48]
cvtps2pd xmm4, xmm2
mulsd xmm4, xmm6
addsd xmm5, xmm4
movss xmm4, dword [esp + 0x54]
cvtps2pd xmm6, xmm4
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x4c]
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x70], xmm5
cvtps2pd xmm5, xmm3
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x40]
cvtps2pd xmm7, xmm1
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm7, dword [esp + 0x14]
cvtss2sd xmm6, dword [esp + 0x58]
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x1c]
cvtss2sd xmm7, dword [esp + 0x18]
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x9c], xmm5
cvtps2pd xmm5, xmm2
mulsd xmm5, xmm6
cvtps2pd xmm6, xmm0
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x20]
addsd xmm5, xmm6
cvtps2pd xmm6, xmm4
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x4c]
cvtss2sd xmm7, dword [esp + 0x40]
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x60], xmm5
cvtss2sd xmm5, dword [esp + 0x1c]
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x18]
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x20]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x58]
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x94], xmm5
cvtps2pd xmm5, xmm2
movss xmm2, dword [esp + 0x28]
cvtps2pd xmm6, xmm2
mulsd xmm5, xmm6
cvtps2pd xmm6, xmm0
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm7, xmm0
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtps2pd xmm6, xmm4
movss xmm4, dword [esp + 0x2c]
cvtps2pd xmm7, xmm4
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x40]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x4c]
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x64], xmm5
cvtps2pd xmm5, xmm2
mulsd xmm5, xmm6
cvtps2pd xmm6, xmm0
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x58]
cvtps2pd xmm7, xmm4
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtps2pd xmm3, xmm3
cvtps2pd xmm1, xmm1
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x6c], xmm5
movss xmm5, dword [esp + 0x38]
cvtps2pd xmm6, xmm5
mulsd xmm6, xmm1
movss xmm1, dword [esp + 0x44]
cvtps2pd xmm7, xmm1
mulsd xmm7, xmm3
cvtss2sd xmm3, dword [esp + 0x50]
addsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x14]
mulsd xmm3, xmm7
cvtss2sd xmm7, dword [esp + 0x1c]
addsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
movss dword [esp + 0xc], xmm3
movss xmm3, dword [esp + 0x70]
movss dword [esp + 0x10], xmm3
movss xmm3, dword [esp + 0x9c]
movss dword [esp + 0x14], xmm3
cvtss2sd xmm3, dword [esp + 0x18]
cvtps2pd xmm6, xmm5
mulsd xmm3, xmm6
cvtps2pd xmm6, xmm1
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x20]
addsd xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0x50]
mulsd xmm6, xmm7
addsd xmm3, xmm6
cvtpd2ps xmm3, xmm3
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0x60]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x1c], xmm3
movss xmm3, dword [esp + 0x94]
cvtps2pd xmm1, xmm1
movss dword [esp + 0x20], xmm3
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
cvtps2pd xmm3, xmm5
mulsd xmm0, xmm3
addsd xmm0, xmm1
cvtss2sd xmm1, dword [esp + 0x50]
cvtps2pd xmm2, xmm4
mulsd xmm1, xmm2
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x2c], xmm0
mov byte [esp + 0x30], 0
mov edx, dword [edi + 0xb4]
mov ecx, dword [ebx + edx]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
push edx
mov edx, dword [ebp + 0x14]
push edx
lea edx, [esp + 0x14]
push edx
mov edx, dword [ebp + 0xc]
push edx
mov edx, dword [ebp + 8]
push edx
call eax
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0xb8]
inc eax
shr ecx, 1
mov dword [esp + 0x34], eax
cmp eax, ecx
jb 0x440fd0
mov ebx, dword [esp + 0x74]
mov esi, dword [ebp + 8]
cmp byte [edi + 0x127], 0
je 0x4415f9
mov eax, dword [ebp + 0x10]
push eax
lea edx, [edi + 0xa4]
lea eax, [esp + 0x80]
call fcn.004825a0
mov ecx, dword [esi + 4]
shr ecx, 1
cmp ebx, ecx
jae 0x4415f9
mov edx, ebx
shl edx, 4
nop
mov eax, dword [esi]
mov edi, dword [esp + 0x7c]
mov ecx, dword [eax + edx]
add eax, edx
cmp ecx, edi
jge 0x4415b1
mov ecx, edi
mov edi, dword [esp + 0x80]
mov dword [eax], ecx
mov ecx, dword [eax + 4]
cmp ecx, edi
jge 0x4415c3
mov ecx, edi
mov edi, dword [esp + 0x84]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 8]
cmp ecx, edi
jle 0x4415d6
mov ecx, edi
mov edi, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov ecx, dword [eax + 0xc]
cmp ecx, edi
jle 0x4415e9
mov ecx, edi
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 4]
inc ebx
shr eax, 1
add edx, 0x10
cmp ebx, eax
jb 0x4415a0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14