Function at 0x14003d440
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x208]
sub rsp, 0x2e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1403a89c0]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r12, rcx
mov qword [rbp - 0x30], rcx
xor r14d, r14d
mov dword [0x1400d4568], 0x7f7fffff
mov qword [0x1403a9038], r14
mov qword [0x1403a9040], r14
mov rax, qword [0x1403a9338]
mov rcx, qword [rax]
add rcx, 0x110
call fcn.14003c1f0
mov rdi, rax
mov rcx, qword [0x1403a9338]
mov rcx, qword [rcx]
add rcx, 0x120
call fcn.14003c1f0
mov rbx, rax
mov rcx, rax
call fcn.14003c150
movaps xmm9, xmm0
lea rcx, [rbx + 0x20]
call fcn.14003c150
movaps xmm8, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.14003c150
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
mulsd xmm0, qword [0x1400b6c68]
movsd qword [0x1403a96b0], xmm0
movsd xmm7, qword [0x1400b6c88]
mulsd xmm9, xmm7
movaps xmm1, xmm8
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
mulsd xmm0, qword [0x1400b6c68]
mulsd xmm0, xmm7
mulsd xmm0, xmm7
movsd qword [0x1403a96b8], xmm0
xorps xmm10, xmm10
movsd qword [rbp - 0x10], xmm10
movsd qword [0x1403a96c0], xmm10
movups xmmword [rsp + 0x58], xmm10
movsd qword [rsp + 0x50], xmm10
mov dword [rbp + 0x81], r14d
mov word [rbp + 0x85], r14w
mov byte [rbp + 0x87], r14b
mov dword [rbp + 0x60], 0xcff2fff
mov qword [rbp + 0x68], rdi
lea rax, [rsp + 0x50]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], Ordinal_26
mov eax, dword [0x1403a9020]
mov dword [rbp + 0x64], eax
mov byte [rbp + 0x80], r14b
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0x28]
lea r8, [rbp + 0x60]
mov edx, 0x220448
mov rcx, qword [0x1403a9018]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [0x1403a9698], xmm0
movsd xmm0, qword [rsp + 0x60]
movsd qword [0x1403a96a8], xmm0
mov rax, qword [0x1403a9338]
mov rcx, qword [rax + 0x30]
add rcx, 0x394
call fcn.14003c0b0
mulss xmm0, dword [0x1400b1618]
movss dword [0x1403a9030], xmm0
mov rax, qword [0x1403a9338]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14003d7b7
add rcx, 0xa20
call fcn.14003c1f0
lea r8, [rbp + 0x208]
mov rdx, qword [r8]
lea rcx, [rax - 0x400001]
movabs rdi, 0x7fffffffffbffffe
mov qword [r8], rdx
cmp rcx, rdi
ja 0x14003d7b7
lea rcx, [rax + 0x4a8]
call fcn.14003c1f0
lea r8, [rbp + 0x208]
mov rdx, qword [r8]
lea rcx, [rax - 0x400001]
mov qword [r8], rdx
cmp rcx, rdi
ja 0x14003d7b7
lea rcx, [rax + 0x90]
call fcn.14003c1f0
mov rbx, rax
lea rdx, [rbp + 0x208]
mov rax, qword [rdx]
lea rcx, [rbx - 0x400001]
mov qword [rdx], rax
cmp rcx, rdi
ja 0x14003d7b7
lea rcx, [rbx + 0x28]
call fcn.14003c1f0
mov r14, rax
lea rcx, [rbx + 0x30]
call fcn.14003c010
movsxd rsi, eax
test eax, eax
jle 0x14003d7b4
cmp esi, 0x32
jge 0x14003d7b4
mov eax, 2
mul rsi
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.1400a9eb0
mov rdi, rax
lea r8d, [rsi + rsi]
mov rdx, rax
mov rcx, r14
call fcn.140049f80
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x14003d750
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x60]
call fcn.14003b8a0
mov rcx, rdi
call fcn.1400a9690
mov rdx, qword [rbp + 0x78]
cmp rdx, 7
jbe 0x14003d7b4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d7af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d7af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a9690
xor r14d, r14d
mov r15, qword [0x1403a96e0]
mov qword [rbp - 0x38], r15
mov r13, qword [0x1403a96e8]
mov qword [rbp - 0x28], r13
movss xmm11, dword [0x1400b1490]
movss xmm12, dword [0x1400b5ac8]
cmp r15, r13
je 0x14003e625
movzx ebx, byte [rsp + 0x40]
movss xmm14, dword [0x1400afc4c]
movsd xmm12, qword [0x1400b6c58]
movsd xmm10, qword [0x1400b5f40]
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x90]
call fcn.140040fb0
movups xmm6, xmmword [rbp + 0x90]
movaps xmmword [rbp + 0x60], xmm6
movsd xmm7, qword [rbp + 0xa0]
movsd qword [rbp + 0x70], xmm7
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.140043c20
movsd xmm0, qword [rax]
movsd qword [rbp - 0x40], xmm0
movsd xmm15, qword [rax + 8]
mov r8d, WSAGetLastError
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0xb0]
call fcn.140040fb0
mov r8d, WSAGetLastError
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x90]
call fcn.140040fb0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x70], xmm1
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x40]
call fcn.140043c20
movsd xmm9, qword [rax]
movsd xmm8, qword [rax + 8]
mov r8d, WSAGetLastError
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x110]
call fcn.140040fb0
movsd xmm2, qword [rbp + 0x120]
addsd xmm2, xmm12
movups xmm0, xmmword [rbp + 0x110]
movaps xmmword [rbp + 0x90], xmm0
movsd qword [rbp + 0xa0], xmm2
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.140043c20
movsd xmm13, qword [rax]
movsd xmm12, qword [rax + 8]
movsd xmm2, qword [rbp + 0xc0]
addsd xmm2, qword [0x1400b6c60]
movups xmm0, xmmword [rbp + 0xb0]
movaps xmmword [rbp + 0x110], xmm0
movsd qword [rbp + 0x120], xmm2
lea rdx, [rbp + 0x110]
lea rcx, [rbp]
call fcn.140043c20
movsd xmm0, qword [rax]
movsd qword [rbp - 0x20], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp - 0x18], xmm0
movaps xmm0, xmm8
subsd xmm0, xmm15
andps xmm0, xmm10
cvtpd2ps xmm10, xmm0
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
subsd xmm1, qword [0x1403a96a0]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm11, xmm0
subsd xmm6, qword [0x1403a9698]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movss xmm6, dword [0x1400b1490]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm11, xmm0
subsd xmm7, qword [0x1403a96a8]
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm11, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm11
ja 0x14003d9c6
xorps xmm0, xmm0
sqrtss xmm0, xmm11
jmp 0x14003d9cf
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x1400b5e98]
xorps xmm11, xmm11
cvtsd2ss xmm11, xmm0
mov rdi, qword [0x1403a93a0]
cmp byte [rdi + 0x7c], 0
je 0x14003da78
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm9, xmm0
mov eax, dword [rdi + 4]
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm8, xmm0
mulsd xmm8, xmm8
mulsd xmm9, xmm9
addsd xmm8, xmm9
cvtpd2ps xmm1, xmm8
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14003da41
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14003da49
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [rdi + 0xa0]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x14003da78
movss xmm1, dword [0x1400d4568]
comiss xmm1, xmm0
jbe 0x14003da78
movss dword [0x1400d4568], xmm0
mov rax, qword [r15]
mov qword [0x1403a9038], rax
inc dword [0x1403a9034]
xorps xmm6, xmm6
movups xmmword [rbp + 0x90], xmm6
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
xorps xmm7, xmm7
movups xmmword [rbp + 0x110], xmm7
movss xmm0, dword [0x1400b1604]
comiss xmm0, xmm11
jb 0x14003dab0
inc dword [0x1403a908c]
cmp byte [rdi + 0xbd], 0
je 0x14003dc15
mov rdi, qword [r15 + 8]
lea rcx, [rdi + 0x2e8]
call fcn.14003c0b0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2f0]
call fcn.14003c0b0
addss xmm0, dword [0x1400b5ac8]
comiss xmm0, xmm6
setae al
mov rdi, qword [0x1403a93a0]
mov dword [rbp + 0x9c], 0x3f800000
mov dword [rbp + 0x11c], 0x3f800000
movups xmm6, xmmword [rbp + 0x90]
movups xmm7, xmmword [rbp + 0x110]
test al, al
je 0x14003db76
inc dword [0x1403a9088]
movss xmm4, dword [rdi + 0x28]
movss xmm3, dword [rdi + 0x24]
movss xmm2, dword [rdi + 0x20]
movss xmm0, dword [0x1403a79f8]
movss dword [rbp + 0xd0], xmm0
movss xmm1, dword [0x1403a79fc]
movss dword [rbp + 0xd4], xmm1
movss xmm0, dword [0x1403a7a00]
movss dword [rbp + 0xd8], xmm0
movss xmm1, dword [0x1403a7a28]
movss xmm0, dword [0x1403a7a2c]
movss xmm5, dword [0x1403a7a30]
jmp 0x14003dbcd
movss xmm4, dword [rdi + 0x4c]
movss xmm3, dword [rdi + 0x48]
movss xmm2, dword [rdi + 0x44]
movss xmm0, dword [0x1403a92f0]
movss dword [rbp + 0xd0], xmm0
movss xmm1, dword [0x1403a92f4]
movss dword [rbp + 0xd4], xmm1
movss xmm0, dword [0x1403a92f8]
movss dword [rbp + 0xd8], xmm0
movss xmm1, dword [0x1403a7a38]
movss xmm0, dword [0x1403a7a3c]
movss xmm5, dword [0x1403a7a40]
movss xmm7, xmm1
movss xmm6, xmm2
shufps xmm7, xmm7, 0xe1
shufps xmm6, xmm6, 0xe1
movss xmm7, xmm0
movss xmm6, xmm3
shufps xmm7, xmm7, 0xc6
shufps xmm6, xmm6, 0xc6
movss xmm7, xmm5
movss xmm6, xmm4
shufps xmm7, xmm7, 0xc9
shufps xmm6, xmm6, 0xc9
movups xmmword [rbp + 0x110], xmm7
movups xmmword [rbp + 0x90], xmm6
mov dword [rbp + 0xdc], 0x3f800000
cmp byte [rdi + 0xbf], 0
je 0x14003dd29
mov ecx, dword [rdi + 0xb8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
lea rsi, [rbp + 0x208]
movabs rdx, 0xff00ff00ff00ff00
mov qword [rbp + 0x118], rdx
mov qword [rbp + 0x120], rsi
mov rdi, qword [rsi]
mov rax, rdi
xor rax, rdx
mov qword [rbp + 0x110], rax
mov qword [rsi], r14
mov rax, qword [0x1403a90a0]
call rax
nop
mov qword [rsi], rdi
test ax, ax
je 0x14003dd22
mov ecx, 8
call fcn.1400a9654
test rax, rax
je 0x14003dc95
lea rcx, [0x14004a310]
mov qword [rax], rcx
jmp 0x14003dc98
mov rax, r14
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14003be70]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x14003ea4a
cmp dword [rbp + 0xe8], 0
je 0x14003ea72
call sub.MSVCP140.dll__Thrd_id
cmp dword [rbp + 0xe8], eax
je 0x14003ea67
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x110], xmm0
xor edx, edx
lea rcx, [rbp + 0x110]
call sub.MSVCP140.dll__Thrd_join
test eax, eax
jne 0x14003ea5c
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
mov rdi, qword [0x1403a93a0]
cmp byte [rdi + 0x66], 0
je 0x14003dd43
mov edx, 0x318
mov rcx, r12
call fcn.140040050
mov rdi, qword [0x1403a93a0]
cmp byte [rdi + 0x65], 0
je 0x14003de6d
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0xb0]
call fcn.140040fb0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x70], xmm1
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0xf8]
call fcn.140043c20
movaps xmm0, xmm12
subsd xmm0, qword [rax + 8]
movsd xmm9, qword [0x1400b5f40]
andps xmm0, xmm9
cvtpd2ps xmm1, xmm0
movaps xmm8, xmm10
mulss xmm8, xmm14
mov rax, qword [0x1403a93a0]
cvttss2si edi, xmm1
cvttss2si esi, xmm8
cvttsd2si r14d, xmm12
mulss xmm8, xmm14
cmp byte [rax + 0x67], 0
je 0x14003de22
movss xmm0, dword [rax + 0xe8]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x1400b6c48]
cvttsd2si eax, xmm0
movaps xmm0, xmmword [0x1400b1630]
movaps xmmword [rbp + 0x110], xmm0
cvtps2pd xmm0, xmm8
movaps xmm1, xmm13
subsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8d, r14d
mov rcx, r12
call fcn.14003fd50
mov rax, qword [0x1403a93a0]
movdqa xmmword [rbp + 0x110], xmm6
cvttss2si eax, dword [rax + 0xe8]
cvtps2pd xmm0, xmm8
movaps xmm1, xmm13
subsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8d, r14d
mov rcx, r12
call fcn.14003fd50
mov rdi, qword [0x1403a93a0]
jmp 0x14003de76
movsd xmm9, qword [0x1400b5f40]
cmp byte [rdi + 0x64], 0
je 0x14003e066
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0xb0]
call fcn.140040fb0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x70], xmm1
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.140043c20
movaps xmm0, xmm12
subsd xmm0, qword [rax + 8]
andps xmm0, xmm9
cvtpd2ps xmm9, xmm0
mulss xmm10, xmm14
mov rax, qword [0x1403a93a0]
movaps xmm8, xmm10
mulss xmm8, xmm14
cmp byte [rax + 0x67], 0
je 0x14003dfac
movss xmm0, dword [rax + 0xe8]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x1400b6c48]
cvttsd2si r15d, xmm0
movaps xmm0, xmmword [0x1400b1630]
movaps xmmword [rbp + 0x20], xmm0
cvttsd2si esi, xmm12
cvtps2pd xmm0, xmm8
movaps xmm1, xmm13
subsd xmm1, xmm0
cvttsd2si edi, xmm1
call fcn.14000cc30
mov r14, rax
lea rcx, [rbp + 0x20]
call fcn.14000a5b0
cvttss2si r12d, xmm10
lea ecx, [rdi + r12]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
cvttss2si r13d, xmm9
lea ecx, [rsi + r13]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x74], xmm0
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x68], xmm1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x64], xmm0
movd xmm1, r15d
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x30], xmm1
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.14001fb90
mov rax, qword [0x1403a93a0]
jmp 0x14003dfb6
cvttss2si r12d, xmm10
cvttss2si r13d, xmm9
movdqa xmmword [rbp + 0x110], xmm6
cvttss2si r14d, dword [rax + 0xe8]
cvttsd2si esi, xmm12
cvtps2pd xmm0, xmm8
subsd xmm13, xmm0
cvttsd2si edi, xmm13
call fcn.14000cc30
mov r15, rax
lea rcx, [rbp + 0x110]
call fcn.14000a5b0
lea ecx, [rdi + r12]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x60], xmm0
lea ecx, [rsi + r13]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x5c], xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x58], xmm0
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x54], xmm1
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
xor r14d, r14d
mov dword [rsp + 0x28], r14d
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x58]
mov rcx, r15
call fcn.14001fb90
mov r15, qword [rbp - 0x38]
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
jmp 0x14003e069
xor r14d, r14d
call fcn.14000ce70
mov rdi, rax
mov rcx, qword [0x1403a93a0]
cmp byte [rcx + 0x83], 0
je 0x14003e0f5
movd xmm6, dword [rcx + 0xe4]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0xd0]
call fcn.14000a5b0
mov r9d, eax
movsd xmm0, qword [rbp - 0x20]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
movsd xmm1, qword [rbp - 0x18]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x4c], xmm1
mov rax, qword [0x1403a93a0]
mov eax, dword [rax]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x48], xmm0
mov dword [rbp - 0x44], 0
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x48]
mov rcx, rdi
call fcn.14001eb00
mov rcx, qword [0x1403a93a0]
cmp byte [rcx + 0x68], 0
je 0x14003e488
cvttss2si r8d, xmm11
lea r10, [rbp + 0x125]
test r8d, r8d
jns 0x14003e160
neg r8d
nop dword [rax]
nop word [rax + rax]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x14003e120
dec r10
mov byte [r10], reloc.WLDAP32.dll_Ordinal_45
jmp 0x14003e18a
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x14003e160
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x125]
mov rdx, r10
lea rcx, [rsp + 0x78]
call fcn.14003b2a0
nop
lea rdi, [rsp + 0x78]
cmp qword [rbp - 0x70], 0xf
cmova rdi, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
lea rcx, [0x1400b07bc]
cmp rcx, rdi
jbe 0x14003e1da
lea rax, [rdi + r8]
cmp rcx, rax
ja 0x14003e1da
cmp rdi, rcx
jbe 0x14003e1da
mov rsi, rdi
sub rsi, rcx
jmp 0x14003e1dd
mov rsi, r14
inc r8
mov rdx, rdi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
lea rdx, [0x1400b07bc]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8, rsi
neg r8
lea rdx, [0x1400b07bc]
add rdx, rsi
lea rcx, [rdi + rsi]
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [rbp + 0xc0], xmm1
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x78], 0
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14003e286
lea rax, [rcx + 1]
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0xb0]
cmp rdx, 0xf
cmova rax, qword [rbp + 0xb0]
mov word [rax + rcx], WSAGetLastError
lea rax, [rbp + 0xb0]
jmp 0x14003e2ab
mov qword [rsp + 0x20], 1
lea r9, [0x1400b6698]
movzx r8d, bl
mov edx, 1
lea rcx, [rbp + 0xb0]
call fcn.1400020e0
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x70], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0xf
jbe 0x14003e319
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e314
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e610
call fcn.1400a9690
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xb0], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x14003e36e
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e369
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e617
call fcn.1400a9690
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x78], 0
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0xf
cmova rdx, qword [rbp + 0x60]
movss xmm0, dword [0x1400afc80]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xf0]
call fcn.140009580
mov rcx, qword [0x1403a93a0]
lea rax, [rbp + 0x60]
movdqa xmmword [rbp + 0x110], xmm7
addsd xmm15, qword [0x1400b6c50]
movss xmm1, dword [rbp + 0xf0]
movsd xmm0, qword [rbp - 0x40]
lea r9, [rbp + 0x110]
cvttsd2si r8d, xmm15
mulss xmm1, xmm14
cvtps2pd xmm2, xmm1
subsd xmm0, xmm2
cvttsd2si edx, xmm0
movss xmm0, dword [rcx + 0x6c]
cmp byte [rcx + 0x6a], 0
movd ecx, xmm0
je 0x14003e417
cmp qword [rbp + 0x78], 0xf
cmova rax, qword [rbp + 0x60]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
jmp 0x14003e42b
cmp qword [rbp + 0x78], 0xf
cmova rax, qword [rbp + 0x60]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
call fcn.1400409a0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x14003e471
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e46c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e61e
call fcn.1400a9690
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
mov rcx, qword [0x1403a93a0]
cmp dword [0x1403a908c], 0
je 0x14003e498
mov dword [0x1403a908c], r14d
cmp dword [0x1403a9088], 0
je 0x14003e4a8
mov dword [0x1403a9088], r14d
add r15, 0x28
mov qword [rbp - 0x38], r15
movss xmm11, dword [0x1400b1490]
cmp r15, r13
jne 0x14003d7f6
movsd xmm10, qword [rbp - 0x10]
movss xmm12, dword [0x1400b5ac8]
unpcklpd xmm10, xmm10
mov rax, qword [0x1403a9038]
test rax, rax
je 0x14003e9d1
cmp byte [rcx + 0x7c], 0
je 0x14003e9d1
lea rcx, [rax + 0x198]
call fcn.14003c1f0
mov rax, qword [0x1403a9338]
mov rcx, qword [rax + 0x38]
add rcx, 0x168
movups xmmword [rbp + 0xb8], xmm10
movsd qword [rbp + 0xb0], xmm10
mov dword [rbp + 0x81], r14d
mov word [rbp + 0x85], r14w
mov byte [rbp + 0x87], 0
mov dword [rbp + 0x60], 0xcff2fff
mov qword [rbp + 0x68], rcx
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], Ordinal_26
mov eax, dword [0x1403a9020]
mov dword [rbp + 0x64], eax
mov byte [rbp + 0x80], 0
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, Ordinal_41
lea r8, [rbp + 0x60]
mov edx, 0x220448
mov rcx, qword [0x1403a9018]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [0x1403a9038]
add rcx, 0x318
call fcn.14003c1f0
mov rbx, rax
mov rcx, qword [0x1403a9038]
add rcx, 0x280
call fcn.14003c1f0
movsd qword [rbp + 0x70], xmm10
movaps xmm6, xmm10
movaps xmm7, xmm10
mov r8d, WSAGetLastError
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140040fb0
mov rax, qword [0x1403a93a0]
cmp byte [rax + 0x7d], 0
je 0x14003e631
mov r8d, WSAGetLastError
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.140040fb0
movups xmm1, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
movaps xmm6, xmm1
unpckhpd xmm6, xmm1
movaps xmm7, xmm1
jmp 0x14003e66c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [0x1403a93a0]
jmp 0x14003e4d1
cmp byte [rax + 0x81], 0
je 0x14003e660
mov r8d, 0x41
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.140040fb0
movups xmm1, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
movaps xmm6, xmm1
unpckhpd xmm6, xmm1
movaps xmm7, xmm1
jmp 0x14003e66c
movsd xmm2, qword [rbp + 0x70]
movaps xmm1, xmm7
unpcklpd xmm1, xmm6
movaps xmmword [rbp + 0x60], xmm1
movsd qword [rbp + 0x70], xmm2
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.140043c20
movsd xmm8, qword [rax]
movsd xmm9, qword [rax + 8]
mov r9d, WSAGetLastError
mov r8, rbx
lea rdx, [rbp + 0x60]
mov rcx, qword [0x1403a9360]
call fcn.1400412e0
movups xmm0, xmmword [rbp + 0x60]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rbp + 0x70]
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x60]
mov rcx, qword [0x1403a9360]
call fcn.140042e30
ucomisd xmm7, xmm10
jp 0x14003e777
jne 0x14003e777
ucomisd xmm6, xmm10
jp 0x14003e6ee
je 0x14003e9e2
mov rdi, qword [0x1403a93a0]
mov eax, dword [rdi + 4]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
movss xmm1, dword [0x1400b1490]
call fcn.1400a9ec0
movaps xmm6, xmm0
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003e752
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003e75a
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm0, dword [rdi + 0xa0]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x14003e9e2
lea rcx, [rbx + 0x2e8]
call fcn.14003c0b0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.14003c0b0
addss xmm0, xmm12
comiss xmm0, xmm6
jb 0x14003e9e2
mov rcx, qword [0x1403a93a0]
mov ecx, dword [rcx + 0xb4]
call fcn.140040f50
test ax, ax
je 0x14003e9e2
mov rax, qword [0x1403a93a0]
cmp byte [rax + 0xb0], 0
je 0x14003e9b9
mov rcx, qword [0x1403a9038]
add rcx, 0x318
call fcn.14003c1f0
mov r8d, WSAGetLastError
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140040fb0
movsd xmm7, qword [rsp + 0x58]
movaps xmm0, xmm7
subsd xmm0, qword [0x1403a96a0]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm8, qword [rsp + 0x50]
movaps xmm0, xmm8
subsd xmm0, qword [0x1403a9698]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movsd xmm9, qword [rsp + 0x60]
movaps xmm2, xmm9
subsd xmm2, qword [0x1403a96a8]
cvtpd2ps xmm0, xmm2
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003e86c
sqrtss xmm6, xmm6
jmp 0x14003e877
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov rcx, qword [0x1403a9038]
add rcx, 0x198
call fcn.14003c1f0
movups xmmword [rbp + 0x100], xmm10
movsd qword [rbp + 0xf8], xmm10
mov dword [rbp + 0x81], r14d
mov word [rbp + 0x85], r14w
mov byte [rbp + 0x87], 0
mov dword [rbp + 0x60], 0xcff2fff
add rax, 0x168
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0xf8]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], Ordinal_26
mov eax, dword [0x1403a9020]
mov dword [rbp + 0x64], eax
mov byte [rbp + 0x80], 0
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, Ordinal_41
lea r8, [rbp + 0x60]
mov edx, 0x220448
mov rcx, qword [0x1403a9018]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
divss xmm6, dword [0x1400b6c80]
xorps xmm2, xmm2
cvtss2sd xmm2, xmm6
movaps xmm0, xmm2
mulsd xmm0, qword [rbp + 0xf8]
addsd xmm0, xmm8
movsd qword [rbp], xmm0
movaps xmm1, xmm2
mulsd xmm1, qword [rbp + 0x100]
addsd xmm1, xmm7
movsd qword [rbp + 8], xmm1
movss xmm0, dword [0x1400b1498]
andps xmm0, xmmword [0x1400b1550]
mulss xmm6, xmm6
mulss xmm0, xmm6
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1400b5e90]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm2, qword [rbp + 0x108]
addsd xmm2, xmm9
addsd xmm1, xmm2
movsd qword [rbp + 0x10], xmm1
lea rdx, [rbp]
lea rcx, [rsp + 0x50]
call fcn.140043c20
movsd xmm2, qword [rax + 8]
cvtpd2ps xmm2, xmm2
movsd xmm1, qword [rax]
cvtpd2ps xmm1, xmm1
mov rcx, qword [0x1403a9360]
call fcn.140044cc0
jmp 0x14003e9e2
cvtpd2ps xmm2, xmm9
cvtpd2ps xmm1, xmm8
mov rcx, qword [0x1403a9360]
call fcn.140044cc0
jmp 0x14003e9e2
mov dword [0x1400d4568], 0x7f7fffff
mov qword [0x1403a9038], r14
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1400a9b10
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov dword [rbp + 0xe8], r14d
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov ecx, 2
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3