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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
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
mov rax, qword [0x1400e30a0]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rsi, rdx
mov r14, rcx
xor r12d, r12d
mov rbx, qword [0x140196030]
mov r15, rbx
mov rax, qword [rbx + 0x3ed0]
mov byte [rax + 0xb0], 1
mov r13, qword [rbx + 0x3ed0]
mov qword [rbp - 0x60], r13
cmp byte [r13 + 0xb3], r12b
je 0x14004090f
xor al, al
jmp 0x1400411f5
movsxd rcx, dword [r13 + 0xe8]
mov rax, qword [r13 + 0xf0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
mov rcx, r14
call fcn.14000f1e0
mov edi, eax
cmp dword [rbx + 0x3f18], eax
jne 0x14004094c
mov r8, r14
mov edx, listen
mov ecx, eax
call fcn.140025750
mov rbx, qword [0x140196030]
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x140040972
movzx edx, byte [rcx]
test dl, dl
je 0x140040972
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140040969
cmp byte [rax], dl
je 0x140040972
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140040955
movss xmm6, dword [rbx + 0x3c20]
movss xmm11, dword [0x1400d0e5c]
xorps xmm10, xmm10
cmp r14, rcx
jne 0x140040991
xorps xmm7, xmm7
jmp 0x1400409dd
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
movss dword [rsp + 0x20], xmm11
movss xmm3, dword [0x1400d0e4c]
movaps xmm2, xmm6
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x3c18]
call fcn.140038fe0
movss xmm0, dword [rsp + 0x58]
addss xmm0, dword [0x1400d0c18]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss xmm6, dword [rsp + 0x5c]
mov rdx, r14
lea rcx, [rbp + 0x20]
call fcn.140009e70
nop
movss xmm8, dword [r13 + 0xf8]
movss xmm9, dword [r13 + 0xfc]
movss xmm3, dword [r15 + 0x3820]
movss xmm2, dword [r15 + 0x381c]
addss xmm3, xmm3
addss xmm3, xmm6
addss xmm2, xmm2
addss xmm2, xmm7
mov rdx, qword [rsi]
lea rcx, [rsp + 0x58]
call fcn.14001e840
mov r9d, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [r9 + rcx]
cmp dword [0x140196628], eax
jle 0x140040aa7
lea rcx, [0x140196628]
call fcn.1400b5d58
cmp dword [0x140196628], 0xffffffff
jne 0x140040aa7
mov qword [0x140196688], r12
mov qword [0x140196690], r12
mov ecx, reloc.WS2_32.dll_WSASetLastError
call fcn.1400b5e68
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x140196688], rax
lea rcx, [0x1400b98b0]
call fcn.1400b60dc
nop
lea rcx, [0x140196628]
call fcn.1400b5cf8
mov rsi, qword [0x140196688]
mov rax, qword [rsi + 8]
mov rbx, rsi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x140040ad7
mov rcx, rax
cmp dword [rcx + 0x1c], edi
jae 0x140040acb
mov rcx, qword [rcx + 0x10]
jmp 0x140040ad1
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140040ac0
cmp byte [rbx + 0x19], 0
jne 0x140040ae2
cmp edi, dword [rbx + 0x1c]
jae 0x140040ae5
mov rbx, rsi
cmp rbx, rsi
jne 0x140040c19
mov dword [rbp - 0x50], edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x4c], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x3c], xmm1
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rbp - 0x1c], xmm1
movups xmmword [rbp - 0xc], xmm0
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], r12d
mov rcx, rsi
test dl, dl
jne 0x140040b46
nop word [rax + rax]
mov qword [rbp + 8], rax
cmp dword [rax + 0x1c], edi
jae 0x140040b33
mov dword [rbp + 0x10], r12d
mov rax, qword [rax + 0x10]
jmp 0x140040b40
mov dword [rbp + 0x10], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140040b20
cmp byte [rcx + 0x19], 0
jne 0x140040b55
cmp edi, dword [rcx + 0x1c]
jae 0x140040be7
movabs rax, 0x249249249249249
cmp qword [0x140196690], rax
je 0x140041252
lea rbx, [0x140196688]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], r12
mov ecx, reloc.WS2_32.dll_WSASetLastError
call fcn.1400b5e68
nop
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rax + 0x1c], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rax + 0x2c], xmm1
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rax + 0x3c], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rax + 0x4c], xmm1
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rax + 0x5c], xmm0
mov edx, dword [rbp]
mov dword [rax + 0x6c], edx
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp + 8]
movaps xmmword [rsp + 0x70], xmm0
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14000add0
mov rsi, qword [0x140196688]
mov rax, qword [rsi + 8]
mov rbx, rsi
cmp byte [rax + 0x19], 0
jne 0x140040c0b
cmp dword [rax + 0x1c], edi
jae 0x140040bff
mov rax, qword [rax + 0x10]
jmp 0x140040c05
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140040bf4
cmp byte [rbx + 0x19], 0
jne 0x140040c16
cmp edi, dword [rbx + 0x1c]
jae 0x140040c19
mov rbx, rsi
movss xmm1, dword [rsp + 0x5c]
addss xmm1, xmm9
movss xmm0, dword [rsp + 0x58]
addss xmm0, xmm8
movss dword [rbp + 8], xmm8
movss dword [rbp + 0xc], xmm9
unpcklps xmm0, xmm1
movsd qword [rbp + 0x10], xmm0
movss xmm1, dword [r15 + 0x3820]
lea rcx, [rsp + 0x58]
call fcn.14001e420
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp + 8]
call fcn.14001e590
mov eax, dword [r15 + 0x4770]
and eax, 2
shl eax, 9
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x50]
mov edx, edi
lea rcx, [rbp + 8]
call fcn.14003e910
mov byte [rsp + 0x51], al
mov rcx, qword [0x140196030]
mov edx, dword [rcx + 0x3f30]
test edx, edx
je 0x140040caa
cmp edx, dword [rcx + 0x476c]
je 0x140040cb8
cmp byte [rsp + 0x50], 0
lea rax, [0x140194a80]
je 0x140040cbf
lea rax, [0x140194a70]
movups xmm6, xmmword [rax]
lea rax, [rbx + 0x40]
mov qword [rbp - 0x58], rax
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rdx, qword [rbp + 0x30]
sub rax, rdx
cmp rax, 0xc
jb 0x140041240
lea r9, [rbp + 0x20]
mov r12, qword [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae r9, r12
mov qword [rsp + 0x58], r9
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
lea r13, [rdx + 0xc]
mov edi, reloc.WS2_32.dll_ntohs
mov esi, edi
lea r15, [rbp - 0x80]
movabs r8, 0x8000000000000000
lea r10d, [rax + 0x16]
cmp r13, rdi
jbe 0x140040dab
mov rsi, r13
or rsi, rdi
cmp rsi, rcx
jbe 0x140040d67
mov rsi, rcx
lea rax, [r8 + 0x27]
mov rcx, rax
call fcn.1400b5e68
test rax, rax
je 0x140040d8a
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
mov rdx, qword [rbp + 0x30]
mov r9, qword [rsp + 0x58]
jmp 0x140040da7
cmp rsi, r10
cmovb rsi, r10
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140040d91
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140041246
jmp 0x140040d43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140040da4
call fcn.1400b5e68
mov rdx, qword [rbp + 0x30]
mov r9, qword [rsp + 0x58]
mov r15, rax
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], rsi
movsd xmm0, qword [str.button_color]
movsd qword [r15], xmm0
mov eax, dword [0x1400d0ae0]
mov dword [r15 + 8], eax
lea rcx, [r15 + 0xc]
mov r8, rdx
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + r13], 0
movdqa xmmword [rsp + 0x70], xmm6
movss xmm6, dword [0x1400d0bb8]
movaps xmm3, xmm6
lea r8, [rsp + 0x70]
lea rdx, [rbx + 0x40]
lea rcx, [rbp - 0x80]
call fcn.14003dad0
mov rax, qword [0x140196030]
mov ecx, dword [rax + 0x3f30]
test ecx, ecx
je 0x140040e1a
cmp ecx, dword [rax + 0x476c]
je 0x140040e2f
cmp byte [rsp + 0x50], 0
jne 0x140040e2f
movups xmm0, xmmword [0x140194a30]
movups xmmword [rsp + 0x70], xmm0
jmp 0x140040e7b
movss xmm3, dword [0x140194a70]
movss xmm1, dword [0x1400d0bc8]
mulss xmm3, xmm1
movss xmm2, dword [0x140194a74]
mulss xmm2, xmm1
movss xmm0, dword [0x140194a78]
mulss xmm0, xmm1
movss dword [rsp + 0x70], xmm3
movss dword [rsp + 0x74], xmm2
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [0x1400d0df8]
movss dword [rsp + 0x7c], xmm0
lea rax, [rsp + 0x70]
lea rsi, [rbx + 0x60]
mov qword [rsp + 0x60], rax
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rdx, r12
mov qword [rsp + 0x58], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov r13, qword [rbp + 0x30]
lea r15, [r13 + 0xa]
lea rbx, [rbp - 0x80]
cmp r15, rdi
jbe 0x140040f4e
mov rdi, r15
or rdi, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
jbe 0x140040f08
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400b5e68
test rax, rax
je 0x140040f31
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
mov rdx, qword [rsp + 0x58]
jmp 0x140040f4a
cmp rdi, 0x16
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140040f38
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004124c
jmp 0x140040ee8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140040f47
call fcn.1400b5e68
mov rdx, qword [rsp + 0x58]
mov rbx, rax
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], rdi
movsd xmm0, qword [str.text_color]
movsd qword [rbx], xmm0
movzx eax, word [0x1400d0af0]
mov word [rbx + 8], ax
lea rcx, [rbx + 0xa]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r15], 0
mov rax, qword [rsp + 0x60]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm3, xmm6
lea r8, [rsp + 0x70]
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14003dad0
movss xmm7, dword [rbp + 8]
movss dword [rsp + 0x60], xmm7
movss xmm6, dword [rbp + 0xc]
movss dword [rsp + 0x64], xmm6
mov rdi, qword [rbp - 0x60]
mov rbx, qword [rdi + 0x290]
cmp qword [0x140196318], 0
je 0x140040ff6
test rbx, rbx
je 0x140040ff6
call fcn.14000b210
movss xmm0, dword [0x1400d0c20]
movss dword [rsp + 0x20], xmm0
mov r9, qword [rbp + 0x10]
mov r8, qword [rsp + 0x60]
mov rdx, rbx
mov rcx, rax
call fcn.14000b5e0
mov rax, qword [0x140196030]
mov rcx, qword [rbp - 0x58]
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rsp + 0x7c], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000f770
xor r15d, r15d
mov dword [rsp + 0x28], r15d
movss xmm0, dword [0x1400d0d04]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x10]
lea rdx, [rbp + 8]
mov rcx, qword [rdi + 0x290]
call fcn.140031610
mov rcx, qword [0x140196428]
call fcn.14001b960
mov rbx, qword [rdi + 0x290]
mov r8, qword [0x140196030]
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37e0]
movss dword [rsp + 0x7c], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000f770
mov edi, eax
movss xmm4, dword [r8 + 0x3c20]
test r14, r14
jne 0x1400410a7
movaps xmm2, xmm10
jmp 0x1400410f3
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r14
movss dword [rsp + 0x20], xmm11
movss xmm3, dword [0x1400d0e4c]
movaps xmm2, xmm4
lea rdx, [rsp + 0x60]
mov rcx, qword [r8 + 0x3c18]
call fcn.140038fe0
movss xmm4, dword [rsp + 0x64]
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x1400d0c18]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm1, dword [0x1400d0bdc]
mulss xmm4, xmm1
movss xmm0, dword [rbp + 0x14]
subss xmm0, xmm6
mulss xmm0, xmm1
addss xmm6, xmm0
subss xmm6, xmm4
movss xmm0, dword [rbp + 0x10]
subss xmm0, xmm7
mulss xmm0, xmm1
addss xmm0, xmm7
mulss xmm2, xmm1
subss xmm0, xmm2
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm6
test edi, 0xff000000
je 0x1400411ab
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [r14 + rcx], r15b
jne 0x140041150
add rcx, r14
cmp r14, rcx
je 0x1400411ab
mov rax, qword [rbx + 0x38]
movups xmm0, xmmword [rbx + 0x88]
movups xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x60]
movss xmm2, dword [rax + 0x10]
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.140039200
call fcn.14001ba00
nop
mov rax, qword [rbp + 0x38]
cmp rax, 0x10
jb 0x1400411f0
lea rdx, [rax + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1400411e8
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400411e8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.1400b60f4
movzx eax, byte [rsp + 0x51]
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1400b5bb0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001b20
nop
call fcn.140001a80
int3
call fcn.140001a80
int3
call fcn.140004080
int3