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

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x198
mov rax, qword [0x14006f010]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov rsi, qword [rcx]
mov rdi, rcx
test rsi, rsi
je 0x140054ba4
vmovss xmm0, dword [rcx + 0x44]
vmovaps xmmword [r11 - 0x48], xmm8
vxorps xmm8, xmm8, xmm8
vcomiss xmm0, xmm8
jbe 0x140054b9b
cmp byte [rcx + 0x34], 0
vmovaps xmmword [r11 - 0x28], xmm6
vmovss xmm6, dword [rcx + 0x3c]
vmovaps xmmword [r11 - 0x38], xmm7
vmovss xmm7, dword [rcx + 0x40]
vmovaps xmmword [r11 - 0x58], xmm9
vmovaps xmmword [r11 - 0x68], xmm10
vmovss xmm10, dword [0x140064730]
vmulss xmm0, xmm0, xmm10
vmovaps xmmword [r11 - 0x78], xmm11
vmovaps xmmword [r11 - 0x88], xmm12
vmovaps xmmword [r11 - 0x98], xmm13
vsubss xmm9, xmm6, xmm0
vaddss xmm11, xmm0, xmm6
vsubss xmm12, xmm7, xmm0
vaddss xmm13, xmm0, xmm7
je 0x140054b44
cmp byte [rcx + 8], 0
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], r12
mov qword [r11 + 0x20], r14
je 0x1400542a1
add rcx, 0xc
call fcn.14000d700
vmovss dword [rsp + 0x40], xmm11
vmovss xmm11, dword [0x140064780]
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, rsi
vmovss dword [rsp + 0x20], xmm11
vmovss dword [rsp + 0x44], xmm7
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm7
call fcn.14002fe70
lea rcx, [rdi + 0xc]
call fcn.14000d700
mov rcx, qword [rdi]
lea r8, [rsp + 0x40]
mov r9d, eax
lea rdx, [rsp + 0x48]
vmovss dword [rsp + 0x40], xmm6
vmovss dword [rsp + 0x44], xmm13
vmovss dword [rsp + 0x48], xmm6
vmovss dword [rsp + 0x4c], xmm12
vmovss dword [rsp + 0x20], xmm11
call fcn.14002fe70
jmp 0x1400542a9
vmovss xmm11, dword [0x140064780]
mov r12, qword [rdi + 0x50]
mov r14, qword [rdi + 0x48]
cmp r14, r12
je 0x140054b2c
vmovsd xmm12, qword [0x140064798]
mov qword [rsp + 0x1c0], r13
xor r13d, r13d
mov qword [rsp + 0x190], r15
vmovaps xmmword [rsp + 0x100], xmm14
vmovaps xmmword [rsp + 0xf0], xmm15
nop word [rax + rax]
mov eax, dword [r14 + 4]
vmovups xmm0, xmmword [r14 + 8]
vmovss xmm1, dword [r14]
vmovss xmm7, dword [r14 + 0x18]
vmovss xmm9, dword [r14 + 0x1c]
vmovups xmmword [rsp + 0x58], xmm0
test eax, eax
jne 0x14005441d
mov rsi, qword [rdi]
lea rcx, [rsp + 0x58]
call fcn.14000d700
mov r15d, eax
mov rbx, rsi
vmovss xmm0, dword [rdi + 0x20]
vmovaps xmm6, xmm0
vmovss dword [rsp + 0x68], xmm7
vmovss dword [rsp + 0x6c], xmm9
test eax, 0xff000000
je 0x1400543a3
vcomiss xmm0, xmm10
jb 0x1400543a3
vsubss xmm2, xmm0, xmm10
xor r9d, r9d
mov dword [rsp + 0x20], gethostbyname
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.14002efb0
mov r8d, dword [rsi + 0x78]
mov r9d, r15d
mov rdx, qword [rsi + 0x80]
dec r8d
vmovss dword [rsp + 0x28], xmm11
mov rcx, rsi
mov dword [rsi + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.14002dbf0
mov dword [rsi + 0x78], r13d
mov rbx, qword [rdi]
vmovss xmm6, dword [rdi + 0x20]
vmovups xmm0, xmmword [0x140064b00]
lea rcx, [rsp + 0x58]
vmovups xmmword [rsp + 0x58], xmm0
call fcn.14000d700
mov esi, eax
vmovss dword [rsp + 0x70], xmm7
vmovss dword [rsp + 0x74], xmm9
test eax, 0xff000000
je 0x140054af5
vcomiss xmm6, xmm10
jb 0x140054af5
xor r9d, r9d
mov dword [rsp + 0x20], gethostbyname
vmovaps xmm2, xmm6
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14002efb0
mov r8d, dword [rbx + 0x78]
mov r9d, esi
mov rdx, qword [rbx + 0x80]
dec r8d
mov rcx, rbx
mov dword [rbx + 0x78], r8d
call fcn.14002ea40
jmp 0x140054af1
vmovss xmm0, dword [rdi + 0x30]
vsubss xmm0, xmm0, xmm1
cmp eax, 1
jne 0x140054779
vaddss xmm11, xmm0, dword [0x1400648b0]
vucomiss xmm11, xmm8
vmovss xmm14, dword [rdi + 0x3c]
vmovss xmm15, dword [rdi + 0x40]
jne 0x140054453
vmovaps xmm8, xmm7
vmovaps xmm2, xmm9
jmp 0x1400544a0
vcvtss2sd xmm0, xmm11, xmm11
vmulsd xmm0, xmm0, xmm12
call fcn.1400569f0
vsubss xmm1, xmm7, xmm14
vcvtss2sd xmm3, xmm1, xmm1
vsubss xmm2, xmm9, xmm15
vcvtss2sd xmm4, xmm2, xmm2
vcvtss2sd xmm1, xmm14, xmm14
vcvtss2sd xmm2, xmm15, xmm15
vpermilpd xmm5, xmm0, 1
vfmadd231sd xmm1, xmm3, xmm5
vfnmadd231sd xmm2, xmm3, xmm0
vfmadd231sd xmm1, xmm4, xmm0
vfmadd231sd xmm2, xmm4, xmm5
vcvtsd2ss xmm8, xmm1, xmm1
vcvtsd2ss xmm2, xmm2, xmm2
vmovss xmm0, dword [rdi + 0x24]
vmulss xmm1, xmm0, dword [0x140064744]
vxorps xmm12, xmm11, xmmword [0x140064c60]
vaddss xmm3, xmm2, xmm0
vmovaps xmm6, xmm2
vfnmadd231ss xmm6, xmm0, xmm10
vxorps xmm0, xmm0, xmm0
vucomiss xmm12, xmm0
vaddss xmm2, xmm8, xmm1
vmovss dword [rsp + 0x50], xmm2
vmovss dword [rsp + 0x48], xmm3
vmovss dword [rsp + 0x78], xmm8
vmovss dword [rsp + 0x7c], xmm3
vmovss dword [rsp + 0x40], xmm12
vsubss xmm13, xmm8, xmm1
jne 0x140054538
vmovsd xmm0, qword [rsp + 0x78]
vunpcklps xmm1, xmm13, xmm6
vmovsd qword [rsp + 0x40], xmm0
vmovss xmm11, dword [rsp + 0x40]
vmovsd qword [rsp + 0x40], xmm1
vmovss xmm13, dword [rsp + 0x40]
vunpcklps xmm2, xmm2, xmm6
vmovsd qword [rsp + 0x40], xmm2
vmovss xmm14, dword [rsp + 0x40]
vshufps xmm8, xmm0, xmm0, 0x55
vshufps xmm12, xmm1, xmm1, 0x55
vshufps xmm6, xmm2, xmm2, 0x55
jmp 0x140054653
vcvtss2sd xmm0, xmm12, xmm12
vmulsd xmm0, xmm0, qword [0x140064798]
call fcn.1400569f0
vmovss xmm2, dword [rsp + 0x48]
vsubss xmm2, xmm2, xmm15
vcvtss2sd xmm4, xmm2, xmm2
vpermilpd xmm5, xmm0, 1
vsubss xmm1, xmm8, xmm14
vcvtss2sd xmm3, xmm1, xmm1
vcvtss2sd xmm2, xmm15, xmm15
vfnmadd231sd xmm2, xmm3, xmm0
vcvtss2sd xmm1, xmm14, xmm14
vfmadd231sd xmm1, xmm3, xmm5
vfmadd231sd xmm1, xmm4, xmm0
vfmadd231sd xmm2, xmm4, xmm5
vcvtss2sd xmm0, xmm12, xmm12
vcvtsd2ss xmm8, xmm2, xmm2
vmulsd xmm2, xmm0, qword [0x140064798]
vcvtsd2ss xmm11, xmm1, xmm1
vxorpd xmm1, xmm1, xmm1
vmovsd xmm0, xmm1, xmm2
vmovss dword [rsp + 0x48], xmm13
call fcn.1400569f0
vpermilpd xmm5, xmm0, 1
vsubss xmm1, xmm13, xmm14
vcvtss2sd xmm3, xmm1, xmm1
vsubss xmm2, xmm6, xmm15
vcvtss2sd xmm4, xmm2, xmm2
vcvtss2sd xmm1, xmm14, xmm14
vfmadd231sd xmm1, xmm3, xmm5
vfmadd231sd xmm1, xmm4, xmm0
vcvtss2sd xmm2, xmm15, xmm15
vfnmadd231sd xmm2, xmm3, xmm0
vmovss xmm0, dword [rsp + 0x50]
vmovss dword [rsp + 0x48], xmm0
vmovss xmm0, dword [rsp + 0x40]
vcvtss2sd xmm0, xmm0, xmm0
vmulsd xmm0, xmm0, qword [0x140064798]
vfmadd231sd xmm2, xmm4, xmm5
vcvtsd2ss xmm13, xmm1, xmm1
vcvtsd2ss xmm12, xmm2, xmm2
call fcn.1400569f0
vmovss xmm1, dword [rsp + 0x50]
vsubss xmm1, xmm1, xmm14
vcvtss2sd xmm3, xmm1, xmm1
vsubss xmm2, xmm6, xmm15
vcvtss2sd xmm4, xmm2, xmm2
vcvtss2sd xmm1, xmm14, xmm14
vpermilpd xmm5, xmm0, 1
vcvtss2sd xmm2, xmm15, xmm15
vfmadd231sd xmm1, xmm3, xmm5
vfnmadd231sd xmm2, xmm3, xmm0
vfmadd231sd xmm1, xmm4, xmm0
vfmadd231sd xmm2, xmm4, xmm5
vcvtsd2ss xmm14, xmm1, xmm1
vcvtsd2ss xmm6, xmm2, xmm2
lea rcx, [rsp + 0x58]
vmovss dword [rsp + 0x80], xmm14
vmovss dword [rsp + 0x84], xmm6
vmovss dword [rsp + 0x88], xmm7
vmovss dword [rsp + 0x8c], xmm9
vmovss dword [rsp + 0x90], xmm13
vmovss dword [rsp + 0x94], xmm12
vmovss dword [rsp + 0x98], xmm11
vmovss dword [rsp + 0x9c], xmm8
call fcn.14000d700
mov rcx, qword [rdi]
lea r9, [rsp + 0x88]
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x90]
lea rax, [rsp + 0x80]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.140030600
vmovups xmm0, xmmword [0x140064a90]
lea rcx, [rsp + 0x58]
vmovups xmmword [rsp + 0x58], xmm0
vmovss dword [rsp + 0xa0], xmm14
vmovss dword [rsp + 0xa4], xmm6
vmovss dword [rsp + 0xa8], xmm7
vmovss dword [rsp + 0xac], xmm9
vmovss dword [rsp + 0xb0], xmm13
vmovss dword [rsp + 0xb4], xmm12
vmovss dword [rsp + 0xb8], xmm11
vmovss dword [rsp + 0xbc], xmm8
call fcn.14000d700
mov rcx, qword [rdi]
lea r9, [rsp + 0xa8]
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0xb0]
lea rax, [rsp + 0xa0]
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.140030450
vmovsd xmm12, qword [0x140064798]
vxorps xmm8, xmm8, xmm8
jmp 0x140054af5
vsubss xmm11, xmm0, dword [0x140064898]
mov rsi, qword [rdi]
lea rcx, [rsp + 0x58]
call fcn.14000d700
mov r15d, eax
mov rbx, rsi
vmovss xmm6, dword [rdi + 0x28]
vmulss xmm2, xmm6, dword [0x140064760]
vmovss dword [rsp + 0xc0], xmm7
vmovss dword [rsp + 0xc4], xmm9
test eax, 0xff000000
je 0x14005480e
vcomiss xmm2, xmm10
jb 0x14005480e
vmovss xmm0, dword [0x140064840]
mov dword [rsp + 0x28], 0x1d
lea rdx, [rsp + 0xc0]
vmovaps xmm3, xmm8
mov rcx, rsi
vmovss dword [rsp + 0x20], xmm0
call fcn.14002f4c0
mov r8d, dword [rsi + 0x78]
mov r9d, r15d
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.14002ea40
mov dword [rsi + 0x78], r13d
mov rbx, qword [rdi]
vmovss xmm6, dword [rdi + 0x28]
vmovups xmm0, xmmword [0x140064a90]
lea rcx, [rsp + 0x58]
vmovups xmmword [rsp + 0x58], xmm0
call fcn.14000d700
mov r15d, eax
mov rsi, rbx
vmulss xmm0, xmm6, dword [0x140064770]
vmovss dword [rsp + 0xc8], xmm7
vmovss dword [rsp + 0xcc], xmm9
test eax, 0xff000000
je 0x1400548b3
vcomiss xmm0, xmm10
jb 0x1400548b3
vsubss xmm2, xmm0, xmm10
xor r9d, r9d
mov dword [rsp + 0x20], gethostbyname
lea rdx, [rsp + 0xc8]
mov rcx, rbx
call fcn.14002efb0
mov r8d, dword [rbx + 0x78]
mov r9d, r15d
vmovss xmm0, dword [0x1400646e4]
mov rdx, qword [rbx + 0x80]
dec r8d
vmovss dword [rsp + 0x28], xmm0
mov rcx, rbx
mov dword [rbx + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.14002dbf0
mov dword [rbx + 0x78], r13d
vmovss xmm6, dword [rdi + 0x28]
mov rsi, qword [rdi]
vxorps xmm0, xmm11, xmmword [0x140064c60]
vcvtss2sd xmm1, xmm0, xmm0
vmulsd xmm3, xmm1, xmm12
vmovss xmm1, dword [0x140064888]
vxorpd xmm2, xmm2, xmm2
vsubss xmm1, xmm1, xmm11
vmovsd xmm0, xmm2, xmm3
vcvtss2sd xmm2, xmm1, xmm1
vmulsd xmm1, xmm2, xmm12
call fcn.1400569b2
vmulss xmm1, xmm6, dword [0x1400647a8]
vmovupd ymm4, ymm0
vcvtss2sd xmm3, xmm1, xmm1
vcvtss2sd xmm8, xmm7, xmm7
vcvtss2sd xmm7, xmm9, xmm9
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
vfnmadd231sd xmm0, xmm3, xmm4
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [rsp + 0xd4], xmm0
vcvtss2sd xmm6, xmm6, xmm6
vpermilpd xmm2, xmm4, 1
vfmadd231sd xmm1, xmm3, xmm2
vcvtsd2ss xmm1, xmm1, xmm1
vmovss dword [rsp + 0xd0], xmm1
vmovaps xmm1, xmm8
vperm2f128 ymm2, ymm4, ymm4, 1
vpermilpd xmm0, xmm2, 1
vfmadd231sd xmm1, xmm6, xmm0
vcvtsd2ss xmm0, xmm1, xmm1
vmovaps xmm1, xmm7
vmovss dword [rsp + 0xd8], xmm0
vfnmadd231sd xmm1, xmm6, xmm2
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [rsp + 0xdc], xmm0
vmovss xmm0, dword [0x140064960]
vsubss xmm1, xmm0, xmm11
vcvtss2sd xmm0, xmm1, xmm1
vmulsd xmm0, xmm0, xmm12
vzeroupper
call fcn.1400569f0
mov eax, dword [rsi + 0x78]
mov r8d, dword [rsi + 0x7c]
vpermilpd xmm1, xmm0, 1
vmovaps xmm2, xmm8
vfmadd231sd xmm2, xmm6, xmm1
vcvtsd2ss xmm1, xmm2, xmm2
vmovaps xmm2, xmm7
vfnmadd231sd xmm2, xmm6, xmm0
vcvtsd2ss xmm0, xmm2, xmm2
vmovss dword [rsp + 0xe4], xmm0
vmovss dword [rsp + 0xe0], xmm1
cmp eax, r8d
jne 0x1400549fa
lea ecx, [rax + 1]
test r8d, r8d
je 0x1400549e2
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1400549e7
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rsi + 0x78]
call fcn.1400255c0
mov eax, dword [rsi + 0x78]
mov rcx, qword [rsi + 0x80]
movsxd rdx, eax
mov rax, qword [rsp + 0xd0]
mov qword [rcx + rdx*8], rax
inc dword [rsi + 0x78]
mov rbx, qword [rdi]
mov eax, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x7c]
cmp eax, ecx
jne 0x140054a4e
lea r8d, [rax + 1]
test ecx, ecx
je 0x140054a33
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140054a38
mov eax, 8
cmp eax, r8d
lea rcx, [rbx + 0x78]
cmovg r8d, eax
mov edx, r8d
call fcn.1400255c0
mov eax, dword [rbx + 0x78]
mov rcx, qword [rbx + 0x80]
movsxd rdx, eax
mov rax, qword [rsp + 0xd8]
mov qword [rcx + rdx*8], rax
inc dword [rbx + 0x78]
mov rbx, qword [rdi]
mov eax, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x7c]
cmp eax, ecx
jne 0x140054aa2
lea r8d, [rax + 1]
test ecx, ecx
je 0x140054a87
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140054a8c
mov eax, 8
cmp eax, r8d
lea rcx, [rbx + 0x78]
cmovg r8d, eax
mov edx, r8d
call fcn.1400255c0
mov eax, dword [rbx + 0x78]
mov rcx, qword [rbx + 0x80]
vmovups xmm0, xmmword [0x140064ae0]
movsxd rdx, eax
mov rax, qword [rsp + 0xe0]
vmovups xmmword [rsp + 0x58], xmm0
mov qword [rcx + rdx*8], rax
lea rcx, [rsp + 0x58]
inc dword [rbx + 0x78]
mov rbx, qword [rdi]
call fcn.14000d700
mov rdx, qword [rbx + 0x80]
mov r9d, eax
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
call fcn.14002ea40
vxorps xmm8, xmm8, xmm8
mov dword [rbx + 0x78], r13d
vmovss xmm11, dword [0x140064780]
add r14, 0x20
cmp r14, r12
jne 0x1400542f0
vmovaps xmm15, xmmword [rsp + 0xf0]
vmovaps xmm14, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x190]
mov r13, qword [rsp + 0x1c0]
mov r14, qword [rsp + 0x1c8]
mov r12, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1b0]
mov rcx, qword [rdi + 0x48]
mov rax, qword [rdi + 0x50]
vmovaps xmm13, xmmword [rsp + 0x110]
sub rax, rcx
vmovaps xmm12, xmmword [rsp + 0x120]
vmovaps xmm11, xmmword [rsp + 0x130]
vmovaps xmm10, xmmword [rsp + 0x140]
vmovaps xmm9, xmmword [rsp + 0x150]
vmovaps xmm7, xmmword [rsp + 0x170]
vmovaps xmm6, xmmword [rsp + 0x180]
sar rax, 5
test rax, rax
je 0x140054b9b
mov qword [rdi + 0x50], rcx
vmovaps xmm8, xmmword [rsp + 0x160]
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.140055610
add rsp, 0x198
pop rdi
pop rsi
ret