Function at 0x180047530
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x18006c3c0]
xor rax, rsp
mov qword [rbp - 8], rax
xor edi, edi
cmp byte [0x18006e230], dil
jne 0x180047589
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x1800169c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov byte [0x18006e230], 1
mov r8, qword [0x18006d058]
mov rax, qword [r8 + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [r8 + 0x3ed8]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
addss xmm0, dword [0x180061a24]
movss xmm2, dword [rax + 0x18]
subss xmm2, dword [rax + 0x64]
addss xmm2, dword [0x180061a60]
movss dword [rax + 0xe0], xmm2
movss dword [rax + 0xe4], xmm0
movss xmm1, dword [rax + 0xfc]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm0
movss dword [rax + 0xfc], xmm1
mov dword [rbp - 0x30], 0x43a00000
mov dword [rbp - 0x2c], 0x43700000
mov rax, qword [r8 + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [r8 + 0x3ed8]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov ebx, dword [rax + rcx*4 - 4]
cmp dword [r8 + 0x3f0c], ebx
jne 0x180047652
lea r8, [0x18005fb7e]
mov edx, reloc.WS2_32.dll_inet_addr
mov ecx, ebx
call fcn.18001e6d0
lea r8, [rbp - 0x30]
mov edx, ebx
lea rcx, [0x18005fb7e]
call fcn.18003ea00
mov qword [rbp - 0x30], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r14, [0x18006d070]
mov r8, r14
xor edx, edx
lea rcx, str.Username:
call fcn.180039cb0
mov qword [rbp - 0x30], rdi
lea rdx, [rbp - 0x30]
lea rcx, str.Update
call fcn.180033ae0
test al, al
je 0x180047805
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [r14 + rbx], dil
jne 0x1800476d0
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x180047830
cmp rbx, 0xf
ja 0x180047723
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], send
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x28]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx - 0x28], dil
mov rsi, qword [rbp - 0x10]
mov rbx, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x28]
jmp 0x1800477b2
mov rax, rbx
or rax, 0xf
cmp rax, rsi
jbe 0x18004775c
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180054190
test rax, rax
je 0x1800477f9
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180047794
mov rsi, rax
mov ecx, socket
cmp rax, rcx
cmovb rsi, rcx
lea rcx, [rsi + 1]
test rcx, rcx
je 0x180047794
cmp rcx, 0x1000
jb 0x18004778c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180047836
jmp 0x18004773d
call fcn.180054190
mov rdi, rax
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rsi
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rbx], 0
lea rdx, [rbp - 0x28]
cmp rsi, 0xf
cmova rdx, rdi
mov r8, rbx
call fcn.180049db0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x180047805
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180047800
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180047800
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800541cc
call fcn.1800115d0
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180054170
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.180002e40
int3
call fcn.180002da0
int3