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

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
mov byte [rax + 0x18], r8b
push rbp
push rbx
push rdi
push r13
push r14
lea rbp, [rax - 0x38]
sub rsp, 0x110
cmp byte [rcx + 0xf6], 0
mov r13, rdx
mov rbx, qword [0x141443c60]
mov rdi, rcx
mov r14d, dword [rcx + 0x14]
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovss xmm7, dword [rcx + 0x94]
vmovaps xmmword [rax - 0x78], xmm9
vmovss xmm9, dword [rbp + 0x70]
vmovaps xmmword [rax - 0xb8], xmm13
vmovss xmm13, dword [rcx + 0x90]
mov byte [rcx + 0xf8], 0
je 0x1401ee13a
vmovss xmm6, dword [rbx + 0x3a40]
vmovss dword [rbx + 0x3a40], xmm7
test r8b, r8b
je 0x1401ee0d1
cmp byte [rbx + 0x4d72], 0
mov eax, 0x1a0
je 0x1401ee0d6
mov eax, 0x1b0
vmovups xmm0, xmmword [rax + rbx + 0x39f8]
vmovups xmmword [rsp + 0x58], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rbx + 0x39f8]
lea rcx, [rsp + 0x58]
vmovss dword [rsp + 0x64], xmm0
call fcn.1401e1f60
mov rdx, qword [r13 + 8]
mov r8d, eax
mov rcx, qword [r13]
or r8d, 0xff000000
cmp byte [rdi + 0xf2], 0
mov r9b, 1
vmovss dword [rsp + 0x20], xmm13
cmove r8d, eax
call fcn.1401e4e20
vmovss dword [rbx + 0x3a40], xmm6
jmp 0x1401eeac4
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x108], r12
mov r12d, 1
mov qword [rsp + 0x100], r15
vmovaps xmmword [rsp + 0xd0], xmm8
vxorps xmm8, xmm8, xmm8
test r14b, r14b
js 0x1401ee3e6
xor r15b, r15b
cmp byte [rbx + 0x4f1c], r15b
je 0x1401ee1c4
mov eax, dword [rbx + 0x40a8]
sub eax, dword [rbx + 0x4fa4]
cmp eax, r12d
jg 0x1401ee1c4
cmp byte [rbx + 0x5b], r15b
je 0x1401ee1c4
cmp dword [rbx + 0x4f44], 0xffffffff
je 0x1401ee1c4
lea rdx, [rbx + 0x4f48]
lea rcx, [0x1413ceae8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x1401ee1c4
mov rax, qword [rbx + 0x4f30]
movzx r15d, r15b
cmp qword [rax], rdi
cmove r15d, r12d
test r14d, 0x6000000
je 0x1401ee1d4
mov ecx, 0x130
jmp 0x1401ee1ee
bt r14d, 0x18
jae 0x1401ee1e9
mov ecx, 0x120
test byte [rdi + 0x43d], r12b
je 0x1401ee1ee
mov ecx, 0x110
mov rax, qword [0x141443c60]
vmovups xmm0, xmmword [rcx + rax + 0x39f8]
vmovups xmmword [rsp + 0x58], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
lea rcx, [rsp + 0x58]
vmovss dword [rsp + 0x64], xmm0
call fcn.1401e1f60
cmp byte [rdi + 0xf2], 0
mov esi, eax
je 0x1401ee259
or esi, 0xff000000
test r15b, r15b
je 0x1401ee2bd
mov rcx, qword [rdi + 0x40]
vmovss xmm0, dword [rcx + 0x80]
vmulss xmm0, xmm0, dword [0x14140e804]
vmovss dword [rcx + 0x80], xmm0
jmp 0x1401ee2bd
mov eax, dword [rbx + 0x4b58]
vmovss xmm1, dword [0x14140e870]
vmovaps xmm0, xmm1
and eax, 0x40
je 0x1401ee278
vmovss xmm0, dword [rbx + 0x4bc0]
vmovss xmm2, dword [0x14140e804]
test r15b, r15b
je 0x1401ee28b
vmulss xmm0, xmm0, xmm2
jmp 0x1401ee28f
test eax, eax
je 0x1401ee2bd
vcomiss xmm8, xmm0
jbe 0x1401ee29b
vxorps xmm1, xmm1, xmm1
jmp 0x1401ee29f
vminss xmm1, xmm1, xmm0
vmulss xmm0, xmm1, dword [0x14140eb0c]
mov eax, esi
vaddss xmm1, xmm0, xmm2
vcvttss2si ecx, xmm1
shl ecx, 0x18
and eax, 0xffffff
mov esi, ecx
or esi, eax
test byte [rdi + 0x43d], r12b
je 0x1401ee2f3
mov rax, qword [rdi + 0x458]
mov dword [rax + 0x84], esi
test byte [rdi + 0x43d], r12b
je 0x1401ee2f3
mov rax, qword [rdi + 0x458]
mov rcx, qword [rax + 0x88]
mov r15, qword [rcx + 0x2e0]
jmp 0x1401ee301
mov r15, qword [rdi + 0x2e0]
bt r14d, 0x1d
jae 0x1401ee313
lea rcx, [r15 + 0x80]
xor r8d, r8d
mov rdx, r15
call fcn.1401d9c80
vmovss xmm3, dword [rdi + 0x58]
vaddss xmm0, xmm3, dword [rdi + 0x60]
vmovss xmm4, dword [rdi + 0x5c]
mov rcx, qword [rdi]
vmovss dword [rbp + 0x40], xmm0
vaddss xmm0, xmm4, dword [rdi + 0x64]
vmovss dword [rbp + 0x44], xmm0
test byte [rdi + 0x14], r12b
je 0x1401ee340
vxorps xmm1, xmm1, xmm1
jmp 0x1401ee37c
vmovss xmm0, dword [rcx + 0x3e84]
mov rax, qword [rdi + 0x3b0]
vmulss xmm1, xmm0, dword [rdi + 0x2d0]
vmulss xmm2, xmm1, dword [rdi + 0x2d4]
test rax, rax
je 0x1401ee36c
vmulss xmm2, xmm2, dword [rax + 0x2d0]
vmovss xmm0, dword [rcx + 0x3a38]
vaddss xmm1, xmm0, xmm0
vaddss xmm1, xmm1, xmm2
mov eax, 0xc0
lea r8, [rbp + 0x40]
mov ecx, 0
lea rdx, [rsp + 0x34]
vaddss xmm0, xmm3, xmm8
vaddss xmm1, xmm4, xmm1
test r12b, r14b
mov r9d, esi
vmovss dword [rsp + 0x34], xmm0
cmovne eax, ecx
mov rcx, r15
mov dword [rsp + 0x28], eax
vmovss dword [rsp + 0x20], xmm13
vmovss dword [rsp + 0x38], xmm1
call fcn.1401d8d50
test byte [rdi + 0x43d], r12b
jne 0x1401ee3cf
bt r14d, 0x1d
jae 0x1401ee3e1
lea rcx, [r15 + 0x80]
mov r8d, r12d
mov rdx, r15
call fcn.1401d9c80
movzx r8d, byte [rbp + 0x50]
lea r15, [rdi + 0x43d]
movzx eax, byte [r15]
test r12b, al
je 0x1401ee411
mov rax, qword [rdi + 0x458]
lea rsi, [rdi + 0x43d]
or byte [rax + 0xcc], 4
movzx eax, byte [r15]
jmp 0x1401ee414
mov rsi, r15
mov r12d, r14d
and r12d, 1
jne 0x1401ee498
mov r15, rsi
test al, 1
jne 0x1401ee498
mov rcx, qword [0x141443c60]
movzx eax, r8b
add rax, 0x19
add rax, rax
vmovups xmm0, xmmword [rcx + rax*8 + 0x39f8]
vmovups xmmword [rsp + 0x58], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x39f8]
lea rcx, [rsp + 0x58]
vmovss dword [rsp + 0x64], xmm0
call fcn.1401e1f60
mov rcx, qword [rdi + 0x2e0]
lea r8, [r13 + 8]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
or r9d, 0xff000000
mov rdx, r13
cmp byte [rdi + 0xf2], r12b
vmovss dword [rsp + 0x20], xmm13
cmove r9d, eax
call fcn.1401d8d50
vmovaps xmmword [rsp + 0xb0], xmm10
vmovaps xmmword [rsp + 0xa0], xmm11
vmovaps xmmword [rsp + 0x90], xmm12
bt r14d, 0xa
jae 0x1401ee625
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.1401e02c0
vmovss xmm2, dword [rdi + 0x58]
vmovss xmm0, dword [rsp + 0x48]
mov rax, qword [0x141443c60]
lea rcx, [rsp + 0x58]
vmovss xmm3, dword [rdi + 0x5c]
vmovss xmm1, dword [rsp + 0x4c]
vmaxss xmm11, xmm0, xmm2
vaddss xmm2, xmm2, dword [rdi + 0x60]
vmovss xmm0, dword [rsp + 0x50]
vminss xmm12, xmm0, xmm2
vmovups xmm0, xmmword [rax + 0x3bb8]
vmovups xmmword [rsp + 0x58], xmm0
vmaxss xmm4, xmm1, xmm3
vmovss xmm1, dword [rsp + 0x54]
vaddss xmm3, xmm3, dword [rdi + 0x64]
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vminss xmm10, xmm1, xmm3
vmovss dword [rsp + 0x64], xmm0
vsubss xmm0, xmm10, xmm8
vsubss xmm1, xmm12, xmm7
vmovss dword [rbp + 0x44], xmm0
vmovss dword [rbp + 0x40], xmm1
vaddss xmm0, xmm4, xmm8
vaddss xmm1, xmm11, xmm7
vmovss dword [rsp + 0x38], xmm0
vmovss dword [rsp + 0x34], xmm1
vmovd xmm0, r12d
xor r13d, r13d
vmovd xmm1, r13d
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm6, xmm13, xmm8, xmm2
call fcn.1401e1f60
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rsp + 0x34]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
lea r8, [rbp + 0x40]
vmovss dword [rsp + 0x20], xmm6
call fcn.1401d8d50
vmovss xmm6, dword [rbx + 0x3a40]
vcomiss xmm6, xmm8
jbe 0x1401ee628
vmovss xmm0, dword [rdi + 0x64]
vaddss xmm1, xmm0, dword [rdi + 0x5c]
vcomiss xmm1, xmm10
jbe 0x1401ee628
mov rax, qword [0x141443c60]
lea rcx, [rsp + 0x58]
vunpcklps xmm1, xmm12, xmm10
vmovss dword [rbp + 0x40], xmm11
vmovss dword [rbp + 0x44], xmm10
vmovups xmm0, xmmword [rax + 0x3b38]
vmovups xmmword [rsp + 0x58], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vmovss dword [rsp + 0x64], xmm0
vmovsd qword [rsp + 0x48], xmm1
call fcn.1401e1f60
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rbp + 0x40]
mov r9d, eax
lea r8, [rsp + 0x48]
vmovss dword [rsp + 0x20], xmm6
call fcn.1401d8af0
jmp 0x1401ee628
xor r13d, r13d
test byte [r15], 1
mov rsi, qword [rdi + 0x458]
vmovaps xmm12, xmmword [rsp + 0x90]
je 0x1401ee848
mov ecx, dword [rsi + 0x10]
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x1401ee848
shr ecx, 0xc
test cl, 1
jne 0x1401ee848
vmovss xmm1, dword [rbx + 0x3e80]
vmulss xmm0, xmm1, dword [0x14140e824]
vmovss xmm6, dword [rsi + 0x48]
vmovss xmm10, dword [rsi + 0x4c]
mov r8, qword [rdi + 0x138]
lea rcx, [0x1413cec40]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [0x14140e808]
vunpcklps xmm1, xmm6, xmm10
vxorps xmm11, xmm11, xmm11
vcvtsi2ss xmm11, xmm11, eax
vcvttss2si eax, xmm0
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
movsxd rax, dword [rdi + 0x130]
xor edx, edx
vaddss xmm3, xmm2, xmm6
vaddss xmm4, xmm2, xmm10
vmovss dword [rsp + 0x60], xmm3
vmovss dword [rsp + 0x64], xmm4
vmovsd qword [rsp + 0x58], xmm1
mov r8d, dword [r8 + rax*4 - 4]
vmovsd qword [rsp + 0x48], xmm1
call fcn.1401e1830
mov rcx, qword [rdi]
mov ebx, eax
cmp dword [rcx + 0x419c], eax
jne 0x1401ee700
lea r8, [0x1413cec40]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov rax, qword [0x141443c60]
cmp dword [rax + 0x41b4], ebx
jne 0x1401ee715
mov dword [rax + 0x41b8], ebx
cmp dword [rax + 0x41e4], ebx
jne 0x1401ee724
mov byte [rax + 0x41e8], 1
lea r9, [rsp + 0x30]
mov dword [rsp + 0x20], 0x800
lea r8, [rbp + 0x40]
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.140216c00
test al, al
je 0x1401ee74e
or byte [rsi + 0xcd], 4
jmp 0x1401ee78f
cmp byte [rsp + 0x30], 0
je 0x1401ee7a0
mov rax, qword [0x141443c60]
cmp byte [rax + 0x108], 0
je 0x1401ee78f
vmovss xmm0, dword [rax + 0x74]
vmovss xmm1, dword [rax + 0x2ba8]
vmulss xmm2, xmm0, xmm0
vcomiss xmm1, xmm2
setae al
test al, al
je 0x1401ee78f
mov r8b, 1
mov rdx, rsi
mov rcx, rdi
call fcn.1401e7ba0
cmp byte [rsp + 0x30], 0
movzx eax, byte [rbp + 0x40]
je 0x1401ee7a4
test al, al
jne 0x1401ee7b1
jmp 0x1401ee7a4
movzx eax, byte [rbp + 0x40]
test byte [rsi + 0xcc], 2
je 0x1401ee7b8
test al, al
jne 0x1401ee7b8
mov edx, reloc.WS2_32.dll_socket
jmp 0x1401ee7c4
test al, al
mov rdx, r13
setne dl
add rdx, 0x15
mov rcx, qword [0x141443c60]
lea rax, [rdx + 0xf]
vaddss xmm1, xmm6, xmm8
add rax, rax
vmovss dword [rsp + 0x34], xmm1
vaddss xmm1, xmm11, xmm6
vmovss dword [rsp + 0x3c], xmm1
vmovups xmm0, xmmword [rcx + rax*8 + 0x39f8]
vmovups xmmword [rsp + 0x68], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x39f8]
vmovss dword [rsp + 0x74], xmm0
vaddss xmm0, xmm11, xmm10
vmovss dword [rsp + 0x38], xmm0
vaddss xmm0, xmm10, xmm8
lea rcx, [rsp + 0x68]
vmovss dword [rsp + 0x40], xmm0
call fcn.1401e1f60
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rsp + 0x48]
lea r9, [rsp + 0x34]
mov dword [rsp + 0x20], eax
lea r8, [rsp + 0x3c]
call fcn.1401d93c0
cmp byte [rdi + 0xf0], 0
vmovaps xmm11, xmmword [rsp + 0xa0]
vmovaps xmm10, xmmword [rsp + 0xb0]
je 0x1401ee86a
xor ecx, ecx
call fcn.140218480
cmp byte [rdi + 0xf1], 0
je 0x1401ee87d
mov ecx, 1
call fcn.140218480
cmp byte [rbp + 0x58], 0
je 0x1401eeaa3
test r14b, 2
jne 0x1401eea91
cmp dword [rbp + 0x60], 0
mov r15d, r13d
jle 0x1401eea91
mov rax, qword [rbp + 0x68]
lea rsi, [0x140db6538]
nop dword [rax]
mov ecx, dword [rax]
mov dword [rbp + 0x40], ecx
test ecx, 0xff000000
je 0x1401eea78
vmovss xmm3, dword [rdi + 0x58]
vmovss xmm4, dword [rdi + 0x5c]
vaddss xmm0, xmm3, dword [rdi + 0x60]
mov rbx, qword [rdi + 0x2e0]
mov r13d, r15d
vsubss xmm1, xmm0, xmm3
vmulss xmm2, xmm1, dword [rsi - 8]
vaddss xmm0, xmm4, dword [rdi + 0x64]
vsubss xmm1, xmm0, xmm4
vaddss xmm6, xmm2, xmm3
vmulss xmm2, xmm1, dword [rsi - 4]
vaddss xmm8, xmm2, xmm4
and r13d, 1
je 0x1401ee90a
vmovaps xmm0, xmm7
vmovaps xmm2, xmm9
jmp 0x1401ee913
vmovaps xmm0, xmm9
vmovaps xmm2, xmm7
vmulss xmm0, xmm0, dword [rsi]
vmulss xmm2, xmm2, dword [rsi + 4]
mov ecx, dword [rbx + 0x50]
lea r14, [rdi + 0x2e0]
mov r8d, dword [rbx + 0x54]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm2, xmm8
vmovss dword [rsp + 0x40], xmm0
vmovss dword [rsp + 0x3c], xmm1
cmp ecx, r8d
jne 0x1401ee974
inc ecx
test r8d, r8d
je 0x1401ee958
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1401ee95d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rbx + 0x50]
call fcn.140028040
lea r14, [rdi + 0x2e0]
movsxd rdx, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x58]
mov rax, qword [rsp + 0x3c]
mov qword [rcx + rdx*8], rax
inc dword [rbx + 0x50]
mov rbx, qword [rdi + 0x2e0]
test r13d, r13d
je 0x1401ee99f
vmovaps xmm0, xmm9
vmovaps xmm2, xmm7
jmp 0x1401ee9a8
vmovaps xmm0, xmm7
vmovaps xmm2, xmm9
vmulss xmm0, xmm0, dword [rsi]
vmulss xmm2, xmm2, dword [rsi + 4]
mov ecx, dword [rbx + 0x50]
mov r8d, dword [rbx + 0x54]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm2, xmm8
vmovss dword [rsp + 0x38], xmm0
vmovss dword [rsp + 0x34], xmm1
cmp ecx, r8d
jne 0x1401eea02
inc ecx
test r8d, r8d
je 0x1401ee9e6
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1401ee9eb
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rbx + 0x50]
call fcn.140028040
lea r14, [rdi + 0x2e0]
movsxd rdx, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x58]
mov rax, qword [rsp + 0x34]
vaddss xmm2, xmm7, xmm13
mov qword [rcx + rdx*8], rax
lea rdx, [rsp + 0x48]
inc dword [rbx + 0x50]
vmulss xmm0, xmm2, dword [rsi]
mov eax, dword [rsi + 0xc]
mov r9d, dword [rsi + 8]
mov rcx, qword [r14]
vaddss xmm1, xmm0, xmm6
vmulss xmm0, xmm2, dword [rsi + 4]
vmovss dword [rsp + 0x48], xmm1
vaddss xmm1, xmm0, xmm8
vmovaps xmm2, xmm13
vmovss dword [rsp + 0x4c], xmm1
mov dword [rsp + 0x20], eax
call fcn.1401d8200
mov rbx, qword [r14]
mov r9d, dword [rbp + 0x40]
mov rcx, rbx
mov r8d, dword [rbx + 0x50]
mov rdx, qword [rbx + 0x58]
call fcn.1401d77f0
mov rax, qword [rbp + 0x68]
xor r13d, r13d
mov dword [rbx + 0x50], r13d
add rax, 4
inc r15d
add rsi, 0x18
mov qword [rbp + 0x68], rax
cmp r15d, dword [rbp + 0x60]
jl 0x1401ee8b0
cmp qword [rdi + 0x460], 0
jne 0x1401eeaa3
mov rcx, rdi
call fcn.1401edda0
mov r15, qword [rsp + 0x100]
mov r12, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x148]
vmovaps xmm8, xmmword [rsp + 0xd0]
lea r11, [rsp + 0x110]
vmovaps xmm6, xmmword [r11 - 0x20]
vmovaps xmm7, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x50]
vmovaps xmm13, xmmword [r11 - 0x90]
mov rsp, r11
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret