Function at 0x14004083b
Capabilities:
Connect socket
Enumerate pe sections

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffff80
mov r15, r8
mov rsi, rdx
mov r13, rcx
movzx eax, byte [rdx + 0x70]
test eax, eax
je 0x1400408c4
cmp eax, 3
jne 0x140040fce
lea rbx, [rsi + 0x68]
movzx eax, byte [rsi + 0x68]
lea r12, [rsi + 0x30]
test eax, eax
je 0x140040a3a
cmp eax, 3
jne 0x140040fce
mov rax, qword [rsi + 0x60]
mov rdx, qword [rax + 8]
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov r8, r15
call fcn.140086a3b
mov al, byte [rdi + 9]
cmp al, 3
jne 0x140040c21
push 1
pop rax
mov byte [rbx], 3
mov cl, 3
jmp 0x140040fb3
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x28], rcx
mov eax, dword [rsi + 2]
movzx r9d, word [rsi + 6]
shl r9, 0x20
or r9, rax
test byte [rsi], 1
je 0x140040968
mov edx, dword [rsi + 0x14]
mov r8d, dword [rsi + 0x18]
movzx eax, word [rsi + 0x1c]
shr r9, 0x10
mov dword [rsp + 0x158], r9d
mov r9, qword [rsi + 8]
mov qword [rsp + 0x15c], r9
mov r9d, dword [rsi + 0x10]
mov dword [rsp + 0x164], r9d
xorps xmm0, xmm0
movups xmmword [rsp + 0x16c], xmm0
movups xmmword [rsp + 0x17c], xmm0
movups xmmword [rsp + 0x18c], xmm0
movups xmmword [rsp + 0x19c], xmm0
and dword [rsp + 0x1cc], 0
movups xmmword [rsp + 0x1ac], xmm0
movups xmmword [rsp + 0x1bc], xmm0
rol ax, 8
mov dword [rsp + 0x168], r8d
push 0x1c
pop r8
mov r10w, 0x17
mov r9d, edx
jmp 0x1400409c0
mov rax, r9
shr rax, 0x20
rol ax, 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x1b8], xmm0
movups xmmword [rsp + 0x1a8], xmm0
movups xmmword [rsp + 0x198], xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x178], xmm0
and qword [rsp + 0x1c8], 0
movups xmmword [rsp + 0x168], xmm0
movups xmmword [rsp + 0x158], xmm0
push 0x10
pop r8
mov r10w, 2
lea rdx, [rsp + 0x150]
mov word [rdx], r10w
mov word [rdx + 2], ax
mov dword [rdx + 4], r9d
mov dword [rdx + 0x80], r8d
call qword [sym.imp.ws2_32.dll_connect]
test eax, eax
je 0x140040a12
call fcn.140034637
mov r14, rax
mov qword [rsp + 0x80], rax
mov rcx, rax
call fcn.140017601
cmp al, 0xd
jne 0x140040c11
lea rcx, [rsp + 0x80]
call fcn.140039ebc
mov qword [rsp + 0x70], r15
mov r12, qword [rsi + 0x28]
mov qword [rsi + 0x30], r12
and qword [rsi + 0x38], 0
lea rax, [rsi + 0x30]
mov qword [rsp + 0x48], rax
lea rbx, [rsi + 0x68]
mov byte [rsi + 0x68], 0
xor r14d, r14d
jmp 0x140040a4c
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x48], r12
mov r12, qword [rsi + 0x30]
mov r14, qword [rsi + 0x38]
call fcn.1400863d1
mov qword [rsp + 0x200], r12
mov qword [rsp + 0x208], r14
mov qword [rsp + 0x138], rax
cmp qword [rax + 0xe0], 0
je 0x140040fce
mov r15, rax
lea rdi, [rax + 0x100]
mov rcx, rdi
call fcn.1400268db
cmp byte [r15 + 0x130], 0
je 0x140040aba
lea rdx, str.A_Tokio_1.x_context_was_found__but_it_is_being_shutdown.task__was_cancelled
push 0x38
pop r8
mov cl, 0x28
call fcn.14007a8f6
mov r14, rax
mov rcx, rdi
call fcn.14001537b
mov r12, qword [rsp + 0x48]
jmp 0x140040f73
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x60], rbx
lea rdi, [rsp + 0x150]
and qword [rdi + 0x17], 0
xorps xmm0, xmm0
movups xmmword [rdi + 7], xmm0
movaps xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x89], xmm0
mov rax, qword [rdi + 0x1f]
mov qword [rsp + 0xb8], rax
movups xmm0, xmmword [rdi + 0x10]
movups xmmword [rsp + 0xa9], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x99], xmm0
mov rax, qword [rsp + 0xb0]
mov eax, dword [rsp + 0xb0]
mov qword [rdi + 0xa0], rax
mov rax, qword [rsp + 0xb8]
mov qword [rdi + 0xa8], rax
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rdi + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rdi + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x80]
add byte [rax], 0
add byte [rdi], cl
sub dword [rdi + 0x70], eax
mov ecx, 0x100
mov edx, 0x80
call fcn.14007dc30
mov rbx, rax
push 1
pop rax
mov qword [rbx], rax
mov qword [rbx + 8], rax
lea rcx, [rbx + 0x10]
mov r8d, 0xb0
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
and qword [rbx + 0xc0], 0
lock inc qword [rbx]
jle 0x140040fce
lea rcx, [rbx + 0x80]
mov rax, qword [r15 + 0x120]
cmp rcx, rax
je 0x140040fce
mov qword [rbx + 0x88], rax
and qword [rbx + 0x80], 0
test rax, rax
mov rdi, qword [rsp + 0x78]
je 0x140040bc6
mov qword [rax], rcx
mov qword [r15 + 0x120], rcx
cmp qword [r15 + 0x128], 0
jne 0x140040bde
mov qword [r15 + 0x128], rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x140], rbx
mov rcx, rdi
call fcn.14001537b
test r14, r14
je 0x140040c32
movabs r14, 0xc00000003
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
jmp 0x140040f42
mov rcx, qword [rsi + 0x28]
call fcn.14003943b
xor edi, edi
jmp 0x140040f9a
cmp al, 2
jne 0x140040c83
mov r14, qword [rsp + 0x150]
jmp 0x140040e79
mov rdi, qword [r15 + 0xe0]
lea rcx, [rdi + 0x20]
mov qword [rsp + 0x50], rcx
and al, 0x50
call fcn.1400268db
lea rdx, [rdi + 0x28]
mov rax, qword [rdi + 0x38]
test rax, rax
mov qword [rsp + 0x58], rdi
je 0x140040c6b
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx + rax*8 - 8]
mov rax, qword [rax]
cmp rax, 0x20
jbe 0x140040ce5
mov rcx, qword [rdi + 0x18]
call fcn.140034d22
test rax, rax
je 0x140040ce5
mov r14, rax
xor edi, edi
jmp 0x140040d08
test dword [rax], eax
add byte [rax], al
mov rcx, qword [rsi + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140040fce
lea r9, [rsp + 0x80]
and dword [r9], 0
and dword [rax], eax
mov dword [rsp + 0x150], 4
mov qword [rsp + 0x20], rdi
mov edx, 0xffff
mov r8d, 0x1007
call qword [sym.imp.ws2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x140040e71
movsxd r14, dword [rsp + 0x80]
test r14, r14
je 0x140040ef8
test byte [rax], ah
add al, byte [rax]
invalid
shl r14, 0x20
or r14, 2
jmp 0x140040e79
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x140040fce
mov rcx, qword [rdi + 0x30]
mov r14, qword [rcx + rax*8 - 8]
lock inc qword [r14]
mov dil, 1
jle 0x140040fce
mov rcx, qword [rsp + 0x50]
call fcn.14001537b
test dil, dil
je 0x140040f33
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x148], r14
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r12
mov r8d, 0x48000022
call fcn.140034eb4
cmp dword [rdi], 1
jne 0x140040d8c
xor edi, edi
cmp rdi, 0xc
je 0x140040f11
lea rax, [0x1400eac60]
mov r8d, dword [rdi + rax]
lea rcx, [rsp + 0x150]
mov rdx, r12
call fcn.140034eb4
mov r13, qword [rsp + 0x158]
cmp r13, r12
sete al
or al, byte [rsp + 0x150]
cmp al, 1
jne 0x140040d94
add rdi, 4
jmp 0x140040d48
mov r13, qword [rsp + 0x88]
push 0x78
pop rcx
call fcn.1400093c6
mov rdi, rax
push 1
pop rax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov byte [rdi + 0x10], 0
and dword [rdi + 0x18], 0
lea rax, [rdi + 0x10]
mov qword [rdi + 0x20], r14
xorps xmm0, xmm0
movups xmmword [rdi + 0x28], xmm0
movups xmmword [rdi + 0x38], xmm0
adc dword [rdi + 0x38], eax
movups xmmword [rdi + 0x48], xmm0
mov qword [rdi + 0x58], r13
movups xmmword [rdi + 0x60], xmm0
and word [rdi + 0x70], 0
mov r14, rax
mov rcx, rax
call fcn.1400268db
mov dword [rdi + 0x68], 0x19d
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x60], rax
mov rcx, r14
call fcn.14001537b
mov rax, qword [rsp + 0x58]
lock inc qword [rax]
jle 0x140040fce
lock inc qword [rdi]
mov r13, qword [rsp + 0x50]
jle 0x140040fce
mov rax, qword [rsp + 0x58]
lea r14, [rax + 0x10]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x160], rax
mov byte [rsp + 0x168], 3
mov qword [rsp + 0x158], rdi
mov rcx, r14
mov rdx, rdi
call fcn.140034ca0
mov rcx, r14
call fcn.140034cd7
test rax, rax
je 0x140040e87
mov r14, rax
lea rcx, [rsp + 0x150]
call fcn.140034f23
jmp 0x140040f33
call fcn.14008166e
mov r14, rax
lea rcx, [rsi + 0x40]
call fcn.1400391d8
jmp 0x140040f8d
lea rax, [rsp + 0x160]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x220], xmm0
push 0x20
pop rcx
call fcn.1400093c6
mov r14, rax
mov rax, qword [rsp + 0x58]
mov qword [r14], rax
mov qword [r14 + 8], rdi
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [r14 + 0x10], xmm0
xor ecx, ecx
call fcn.140034f58
xor ecx, ecx
call fcn.14008441f
lea rax, [rsi + 0x40]
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x48], rbx
mov qword [rsi + 0x50], r12
mov qword [rsi + 0x58], r14
mov qword [rsi + 0x60], rax
mov dword [rsi + 0x60], eax
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
jmp 0x140040895
lea rax, [rsi + 0x50]
mov rdi, qword [rsi + 0x40]
mov r14, qword [rsi + 0x48]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x210], xmm0
jmp 0x140040f8f
mov r14d, dword [rsp + 0x84]
shl r14, 0x20
or r14, 2
lea rcx, [rsp + 0x148]
call fcn.140033fd7
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x78]
add r15, 0x108
mov rcx, rdi
call fcn.1400268db
mov rcx, r15
mov rdx, qword [rsp + 0x68]
call fcn.140086828
mov rcx, rdi
call fcn.14001537b
lea rcx, [rsp + 0x140]
call fcn.140083e69
lea rcx, [rsp + 0x138]
call fcn.14002af94
lea rcx, [rsp + 0x200]
call fcn.140085cb5
xor edi, edi
mov byte [rbx], 1
mov rcx, r12
call fcn.140040820
mov qword [r13 + 8], rdi
mov qword [r13 + 0x10], r14
movaps xmm0, xmmword [rsp + 0x210]
movups xmmword [r13 + 0x18], xmm0
mov cl, 1
xor eax, eax
mov qword [r13], rax
mov byte [rsi + 0x70], cl
lea rsp, [rbp + 0x1b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2