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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
inc dword [0x561a40]
sub esp, 0x134
push ebx
mov ebx, ecx
cmp byte [ebx + 0x124], 0
push esi
push edi
je 0x44253e
mov eax, 0xf4241
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [ebx + 0x126], 0
mov esi, dword [ebp + 8]
je 0x442550
cmp dword [esi + 4], 0xf
jne 0x442530
mov ecx, esi
lea eax, [esp + 0x38]
call fcn.00443080
mov eax, dword [esi + 4]
cmp eax, 0xf
je 0x44256c
cmp eax, 0x12
je 0x44256c
xor cl, cl
jmp 0x44256e
mov cl, 1
cmp eax, 4
je 0x44257d
mov byte [esp + 0x32], 0
cmp eax, 3
jne 0x442582
mov byte [esp + 0x32], 1
cmp eax, 0xf
sete byte [esp + 0x33]
mov dword [esp + 0x88], 0xf4241
test cl, cl
jne 0x442ddb
cmp byte [esp + 0x32], cl
je 0x442b94
xorps xmm0, xmm0
movss xmm1, dword [0x4bb568]
movss dword [esp + 0xac], xmm0
movss dword [esp + 0xb0], xmm0
movss dword [esp + 0xb4], xmm0
movss dword [esp + 0xbc], xmm0
movss dword [esp + 0xc0], xmm0
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xa8], xmm1
movq xmm0, qword [esp + 0xa8]
movq qword [esp + 0x4c], xmm0
movq xmm0, qword [esp + 0xb0]
movq qword [esp + 0x54], xmm0
movss dword [esp + 0xb8], xmm1
movq xmm0, qword [esp + 0xb8]
movq qword [esp + 0x5c], xmm0
movq xmm0, qword [esp + 0xc0]
movss dword [esp + 0xc8], xmm1
mov byte [esp + 0xcc], 1
movq qword [esp + 0x64], xmm0
movq xmm0, qword [esp + 0xc8]
movq qword [esp + 0x6c], xmm0
mov esi, ebx
jmp 0x442660
lea edi, [esp + 0xa8]
mov eax, esi
call fcn.0043df70
cmp byte [eax + 0x24], 0
je 0x442852
xorps xmm0, xmm0
movss xmm3, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x54]
cvtss2sd xmm7, dword [esp + 0x50]
movss xmm4, dword [eax + 8]
movss xmm5, dword [eax + 0x14]
cvtps2pd xmm6, xmm3
mulsd xmm6, xmm0
addsd xmm6, xmm7
cvtps2pd xmm3, xmm3
cvtps2pd xmm1, xmm2
mulsd xmm1, xmm0
addsd xmm6, xmm1
cvtsd2ss xmm6, xmm6
movss dword [esp + 0xe0], xmm6
cvtps2pd xmm6, xmm4
mulsd xmm6, xmm3
cvtss2sd xmm3, dword [esp + 0x50]
cvtps2pd xmm7, xmm5
mulsd xmm3, xmm7
cvtss2sd xmm7, dword [esp + 0x5c]
addsd xmm6, xmm3
movss xmm3, dword [esp + 0x58]
cvtps2pd xmm2, xmm2
addsd xmm6, xmm2
cvtsd2ss xmm2, xmm6
cvtps2pd xmm6, xmm3
mulsd xmm6, xmm0
addsd xmm6, xmm7
movss dword [esp + 0xd8], xmm2
cvtss2sd xmm2, dword [esp + 0x60]
mulsd xmm2, xmm0
addsd xmm6, xmm2
cvtsd2ss xmm6, xmm6
movss dword [esp + 0xd0], xmm6
cvtps2pd xmm6, xmm4
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0x5c]
cvtps2pd xmm7, xmm5
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x68]
addsd xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0x60]
addsd xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0x64]
mulsd xmm6, xmm0
addsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x64]
cvtps2pd xmm4, xmm4
mulsd xmm7, xmm4
cvtss2sd xmm4, dword [esp + 0x68]
cvtps2pd xmm5, xmm5
mulsd xmm4, xmm5
cvtss2sd xmm5, dword [esp + 0x50]
addsd xmm7, xmm4
cvtss2sd xmm4, dword [esp + 0x6c]
addsd xmm7, xmm4
mulsd xmm5, xmm0
cvtsd2ss xmm4, xmm7
cvtss2sd xmm7, dword [esp + 0x4c]
addsd xmm5, xmm7
addsd xmm5, xmm1
cvtpd2ps xmm1, xmm5
cvtss2sd xmm5, dword [esp + 0x58]
movss dword [esp + 0x4c], xmm1
movss xmm1, dword [esp + 0xe0]
movss dword [esp + 0x50], xmm1
movss xmm1, dword [esp + 0xd8]
movss dword [esp + 0x54], xmm1
cvtss2sd xmm1, dword [esp + 0x5c]
cvtpd2ps xmm3, xmm3
movss dword [esp + 0xe8], xmm3
cvtss2sd xmm3, dword [esp + 0x6c]
mulsd xmm1, xmm0
addsd xmm1, xmm5
mulsd xmm3, xmm0
addsd xmm6, xmm3
addsd xmm1, xmm2
cvtsd2ss xmm6, xmm6
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x58], xmm1
movss xmm1, dword [esp + 0xd0]
movss dword [esp + 0x5c], xmm1
movss xmm1, dword [esp + 0xe8]
movss dword [esp + 0x60], xmm1
cvtss2sd xmm1, dword [esp + 0x68]
mulsd xmm1, xmm0
cvtss2sd xmm0, dword [esp + 0x64]
addsd xmm1, xmm0
addsd xmm1, xmm3
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x68], xmm6
movss dword [esp + 0x6c], xmm4
jmp 0x442b37
movss xmm0, dword [eax + 4]
movss xmm5, dword [esp + 0x4c]
movss xmm6, dword [esp + 0x50]
movss xmm1, dword [eax + 0x10]
movss xmm2, dword [eax + 0x1c]
cvtps2pd xmm4, xmm5
cvtps2pd xmm5, xmm5
cvtps2pd xmm3, xmm0
mulsd xmm3, xmm4
cvtps2pd xmm4, xmm6
cvtps2pd xmm7, xmm1
mulsd xmm4, xmm7
addsd xmm3, xmm4
cvtss2sd xmm4, dword [esp + 0x54]
cvtps2pd xmm7, xmm2
mulsd xmm4, xmm7
movss xmm7, dword [eax + 0x20]
movss dword [esp + 0x8c], xmm7
addsd xmm3, xmm4
movss xmm4, dword [eax + 0x14]
cvtsd2ss xmm3, xmm3
movss dword [esp + 0xe4], xmm3
movss xmm3, dword [eax + 8]
cvtps2pd xmm7, xmm3
mulsd xmm7, xmm5
cvtps2pd xmm5, xmm6
cvtps2pd xmm6, xmm4
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x8c]
addsd xmm7, xmm5
cvtss2sd xmm5, dword [esp + 0x54]
mulsd xmm5, xmm6
movss xmm6, dword [eax]
addsd xmm7, xmm5
cvtpd2ps xmm5, xmm7
movss xmm7, dword [eax + 0x18]
movss dword [esp + 0xdc], xmm5
movss xmm5, dword [eax + 0xc]
movss dword [esp + 0x94], xmm6
movss dword [esp + 0x34], xmm5
cvtps2pd xmm6, xmm6
cvtps2pd xmm5, xmm5
movss dword [esp + 0x90], xmm7
cvtss2sd xmm7, dword [esp + 0x58]
mulsd xmm7, xmm6
cvtss2sd xmm6, dword [esp + 0x5c]
mulsd xmm6, xmm5
cvtss2sd xmm5, dword [esp + 0x60]
addsd xmm7, xmm6
cvtss2sd xmm6, dword [esp + 0x90]
mulsd xmm5, xmm6
addsd xmm7, xmm5
cvtpd2ps xmm5, xmm7
movss dword [esp + 0xec], xmm5
cvtss2sd xmm5, dword [esp + 0x5c]
cvtps2pd xmm6, xmm1
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x58]
cvtps2pd xmm7, xmm0
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x60]
cvtps2pd xmm7, xmm2
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esp + 0xd4], xmm5
cvtss2sd xmm5, dword [esp + 0x5c]
cvtps2pd xmm6, xmm4
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x58]
cvtps2pd xmm7, xmm3
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x8c]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x60]
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x98], xmm5
cvtss2sd xmm5, dword [esp + 0x64]
cvtss2sd xmm6, dword [esp + 0x94]
cvtss2sd xmm7, dword [esp + 0x34]
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x68]
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x90]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x6c]
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x68]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm7, xmm1
movss xmm1, dword [esp + 0x64]
addsd xmm5, xmm6
cvtps2pd xmm6, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm6, xmm0
cvtps2pd xmm3, xmm3
addsd xmm7, xmm6
movss xmm6, dword [esp + 0x6c]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm3
cvtss2sd xmm3, dword [esp + 0x8c]
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm2
cvtss2sd xmm2, dword [esp + 0x68]
cvtps2pd xmm4, xmm4
mulsd xmm2, xmm4
cvtss2sd xmm4, dword [esp + 0x34]
addsd xmm2, xmm1
cvtps2pd xmm1, xmm6
mulsd xmm1, xmm3
cvtss2sd xmm3, dword [esp + 0x4c]
addsd xmm2, xmm1
cvtpd2ps xmm1, xmm2
cvtss2sd xmm2, dword [esp + 0x94]
mulsd xmm2, xmm3
cvtss2sd xmm3, dword [esp + 0x50]
mulsd xmm3, xmm4
cvtss2sd xmm4, dword [esp + 0x90]
addsd xmm2, xmm3
cvtss2sd xmm3, dword [esp + 0x54]
mulsd xmm3, xmm4
addsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + 0x4c], xmm2
movss xmm2, dword [esp + 0xe4]
movss dword [esp + 0x50], xmm2
movss xmm2, dword [esp + 0xdc]
movss dword [esp + 0x54], xmm2
movss xmm2, dword [esp + 0xec]
movss dword [esp + 0x58], xmm2
movss xmm2, dword [esp + 0xd4]
movss dword [esp + 0x5c], xmm2
movss xmm2, dword [esp + 0x98]
addsd xmm7, xmm0
cvtpd2ps xmm5, xmm5
cvtpd2ps xmm0, xmm7
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x64], xmm5
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x6c], xmm1
mov al, byte [eax + 0x24]
and byte [esp + 0x70], al
cmp byte [esi + 0x12f], 0
je 0x442b6d
mov edx, dword [esi]
mov eax, dword [edx + 0x4c]
mov ecx, esi
call eax
test al, al
jne 0x442b79
cmp byte [esi + 0x12b], 0
jne 0x442bfc
mov esi, dword [esi + 0x158]
test esi, esi
jne 0x442660
jmp 0x442bfc
cmp byte [esi + 0x21], 0
jne 0x442b79
cmp byte [esi + 0x51], 0
jmp 0x442b4b
lea edi, [esp + 0xa8]
mov ecx, esi
call fcn.00442050
mov ecx, eax
lea eax, [esp + 0x4c]
call fcn.0043d320
jmp 0x442bfc
mov ecx, ebx
call fcn.0043de20
test al, al
je 0x442be3
lea edi, [esp + 0xa8]
mov ecx, ebx
call fcn.00442050
movq xmm0, qword [eax]
movq qword [esp + 0x4c], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x54], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x5c], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [esp + 0x64], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [esp + 0x6c], xmm0
lea edi, [esp + 0xa8]
mov eax, ebx
call fcn.0043df70
mov ecx, eax
lea eax, [esp + 0x4c]
call fcn.00422150
lea eax, [esp + 0xa8]
mov ecx, ebx
lea esi, [ebx + 0xa4]
call fcn.0043f2b0
push eax
mov edx, esi
lea eax, [esp + 0x9c]
call fcn.004825a0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 0xf
movss xmm0, dword [esp + 0x80]
movss xmm1, dword [esp + 0x7c]
je 0x442caa
cmp byte [ebx + 0x127], 0
je 0x442caa
cvtsi2ss xmm3, dword [esp + 0x98]
cvtps2pd xmm2, xmm1
cvtss2sd xmm3, xmm3
comisd xmm2, xmm3
jb 0x442c98
cvtsi2ss xmm3, dword [esp + 0xa0]
cvtps2pd xmm2, xmm1
cvtss2sd xmm3, xmm3
comisd xmm3, xmm2
jbe 0x442c98
cvtsi2ss xmm3, dword [esp + 0x9c]
cvtps2pd xmm2, xmm0
cvtss2sd xmm3, xmm3
comisd xmm2, xmm3
jb 0x442c98
cvtsi2ss xmm3, dword [esp + 0xa4]
cvtps2pd xmm2, xmm0
cvtss2sd xmm3, xmm3
comisd xmm3, xmm2
ja 0x442caa
cmp byte [esp + 0x84], 0
jne 0x442caa
mov byte [esp + 0x84], 1
cmp byte [esp + 0x32], 0
jne 0x442dea
cmp byte [esp + 0x33], 0
jne 0x442dea
cmp byte [ebx + 0x129], 0
je 0x442dea
mov esi, dword [ebx + 0xb8]
shr esi, 1
sub esi, 1
mov dword [esp + 0x34], esi
js 0x442dea
jmp 0x442cf0
mov edx, dword [ebx + 0xb4]
mov edi, dword [edx + esi*4]
cmp byte [edi + 0x124], 0
jne 0x442dce
lea ecx, [esp + 0x38]
lea eax, [esp + 0xf0]
call fcn.00443080
cmp byte [edi + 0x12f], 0
je 0x442f30
mov eax, dword [edi]
mov edx, dword [eax + 0x4c]
mov ecx, edi
call edx
test al, al
je 0x442d87
lea eax, [esp + 0xa8]
mov esi, edi
call fcn.0043de50
movq xmm0, qword [eax]
mov esi, dword [esp + 0x34]
movq qword [esp + 0x104], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x10c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x114], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [esp + 0x11c], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [esp + 0x124], xmm0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0xf4]
push ecx
mov ecx, edi
call fcn.00442510
cmp eax, 0xf4240
je 0x442da8
cmp eax, 0xf4242
jne 0x442dce
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x88], eax
cmp ecx, 2
je 0x442dce
cmp ecx, 0xa
je 0x442dce
cmp ecx, 0xc
je 0x442dce
cmp ecx, 0xf
jne 0x443052
sub esi, 1
mov dword [esp + 0x34], esi
jns 0x442cf0
movss xmm1, dword [esp + 0x7c]
movss xmm0, dword [esp + 0x80]
movss xmm3, dword [esp + 0x4c]
movss xmm4, dword [esp + 0x50]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm3
cvtps2pd xmm3, xmm0
cvtps2pd xmm4, xmm4
mulsd xmm3, xmm4
addsd xmm2, xmm3
movss xmm3, dword [esp + 0x54]
cvtps2pd xmm3, xmm3
addsd xmm2, xmm3
cvtsd2ss xmm2, xmm2
movss dword [esp + 0x98], xmm2
movss xmm2, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm2, xmm1
movss xmm1, dword [esp + 0x5c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
addsd xmm2, xmm0
movss xmm0, dword [esp + 0x60]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [esp + 0x9c], xmm0
mov eax, dword [esp + 0x9c]
xor esi, esi
test dword [ebx + 0xc0], 0xfffffffe
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
jbe 0x442eca
mov edi, dword [ebp + 0xc]
lea ecx, [ecx]
mov ecx, dword [ebx + 0xbc]
mov ecx, dword [ecx + esi*4]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
push edi
lea eax, [esp + 0x3c]
push eax
push ebx
call edx
cmp eax, 0xf4240
je 0x442f43
cmp eax, 0xf4242
je 0x442f43
mov eax, dword [ebx + 0xc0]
inc esi
shr eax, 1
cmp esi, eax
jb 0x442e90
mov edi, dword [esp + 0x88]
cmp edi, 0xf4240
je case.0x442f29.5
cmp edi, 0xf4242
je 0x442efa
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx]
mov edx, dword [edx + 0x5c]
push eax
lea ecx, [esp + 0x3c]
push ecx
push ebx
mov ecx, ebx
call edx
mov edi, eax
cmp edi, 0xf4240
je case.0x442f29.5
cmp edi, 0xf4242
je case.0x442f29.5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
dec eax
cmp eax, 0xe
ja case.0x442f29.5
movzx ecx, byte [eax + 0x443070]
jmp dword [ecx*4 + 0x44305c]
cmp byte [edi + 0x21], 0
jne 0x442d30
cmp byte [edi + 0x51], 0
jmp 0x442d2e
mov edi, eax
jmp 0x442ed1
cmp byte [ebx + 0x11d], 0
je case.0x442f29.5
mov edx, dword [ebx]
mov edx, dword [edx + 0x3c]
lea eax, [esp + 0x74]
push eax
mov ecx, ebx
call edx
cmp eax, 0xf4240
jne case.0x442f29.5
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [ebx + 0x11e], 0
je 0x443050
mov edx, dword [ebx]
mov edx, dword [edx + 0x44]
lea eax, [esp + 0x74]
push eax
mov ecx, ebx
call edx
cmp eax, 0xf4240
jne 0x443050
mov edi, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [ebx + 0x11d], 0
je case.0x442f29.5
mov eax, dword [ebx]
mov edx, dword [eax + 0x40]
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebx
call edx
cmp eax, 0xf4240
jne case.0x442f29.5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [ebx + 0x120], 0
je case.0x442f29.5
mov eax, dword [ebx]
fld qword [esp + 0x40]
mov edx, dword [eax + 0x48]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call edx
cmp eax, 0xf4240
jne case.0x442f29.5
mov edi, eax
cmp byte [esp + 0x33], 0
je 0x443050
cmp byte [ebx + 0x129], 0
je 0x443050
xor esi, esi
test dword [ebx + 0xb8], 0xfffffffe
jbe 0x443050
jmp 0x443020
mov eax, dword [ebx + 0xb4]
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
lea edx, [esp + 0x3c]
push edx
call fcn.00442510
cmp eax, 0xf4240
jne 0x443043
mov edi, eax
mov eax, dword [ebx + 0xb8]
inc esi
shr eax, 1
cmp esi, eax
jb 0x443020
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8