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

Disassembly:
push rbx
push rdi
sub rsp, 0xb8
mov rax, qword [0x14041f010]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx]
mov rbx, rcx
cmp dword [rax], 0
jne 0x1401a14c1
mov rax, qword [0x14045b410]
test rax, rax
je 0x1401a14f0
mov rcx, qword [rax + 0x1618]
cmp byte [rcx], 0x70
jne 0x1401a14f0
cmp byte [rcx + 1], 0x72
jne 0x1401a14f0
call fcn.140391860
test eax, eax
jne 0x1401a14f0
mov rax, qword [rbx]
xor edi, edi
cmp dword [0x14045b404], edi
mov qword [rax], rdi
mov qword [rax + 0xc], rdi
mov dword [0x14045b99c], edi
jne 0x1401a1ad5
xor ecx, ecx
call fcn.140122f90
lea ecx, [rdi + 0x40]
call fcn.14018aca0
jmp 0x1401a1ad5
mov eax, dword [rbx + 0x10]
xor edi, edi
mov qword [rsp + 0xe8], r14
cmp eax, 0x16
je 0x1401a1540
cmp eax, 0x11
je 0x1401a1540
mov r14d, edi
test eax, eax
jns 0x1401a1556
cmp dword [0x14045b404], edi
mov rax, qword [rbx]
mov dword [0x14045b99c], edi
mov qword [rax], rdi
mov qword [rax + 0xc], rdi
jne 0x1401a1acd
xor ecx, ecx
call fcn.140122f90
mov ecx, 0x40
call fcn.14018aca0
jmp 0x1401a1acd
xor ecx, ecx
lea r14d, [rcx + 0x16]
call fcn.140096d30
mov dword [rbx + 0x10], eax
cmp eax, 0x7f
jle 0x1401a150a
mov r14d, edi
cmp dword [0x14045b480], 0
mov qword [rsp + 0xb0], r15
je 0x1401a15b1
mov eax, dword [0x14045b41c]
test eax, eax
je 0x1401a1577
mov dword [0x14045b41c], edi
test r14d, r14d
je 0x1401a15a4
mov eax, dword [rbx + 0x10]
cmp eax, 0xd
jne 0x1401a1598
mov rcx, rbx
mov dword [rbx + 0x10], 0xffffffff
call fcn.14019d980
jmp 0x1401a1ac5
cmp eax, 0xa
jne 0x1401a15a4
mov dword [rbx + 0x10], 0xfffffffe
mov rcx, rbx
call fcn.14019d980
jmp 0x1401a1ac5
call fcn.14018f500
test eax, eax
je 0x1401a1613
mov rax, qword [0x14046a618]
mov ecx, dword [rax + 0x38]
lea edx, [rcx + 1]
dec ecx
call fcn.1402cd190
test eax, eax
je 0x1401a1ac5
call fcn.14018a2f0
test eax, eax
jne 0x1401a15fd
call fcn.14018f360
add eax, dword [rbx + 0x28]
mov ecx, eax
call fcn.14018f2f0
mov rcx, qword [0x14046a618]
mov eax, dword [rbx + 0x28]
sub dword [rcx + 0x3c], eax
jmp 0x1401a1613
call fcn.14018a2f0
cmp eax, 9
jne 0x1401a1613
call fcn.14018f360
mov ecx, eax
call fcn.14018f2f0
mov qword [rsp + 0xe0], rsi
call fcn.140176850
mov ecx, dword [rbx + 0x28]
mov r15, 0xffffffffffffffff
mov rsi, rax
mov rax, r15
inc rax
cmp byte [rsi + rax], 0
jne 0x1401a1630
mov qword [rsp + 0xd8], rbp
cmp rax, rcx
jb 0x1401a1aad
cmp dword [0x14045b514], 0
je 0x1401a1684
mov ebp, edi
mov eax, ecx
test rsi, rsi
je 0x1401a167a
cmp byte [rsi], 0
je 0x1401a167a
mov rcx, rsi
call qword [0x140420bf8]
movsxd rcx, eax
inc ebp
add rsi, rcx
cmp byte [rsi], 0
jne 0x1401a1661
mov eax, dword [rbx + 0x28]
mov ecx, eax
cmp ebp, eax
jl 0x1401a1aad
cmp r14d, 0x16
je 0x1401a16e6
cmp dword [rbx + 0x10], 9
jne 0x1401a16e6
mov rax, qword [0x14045b410]
cmp dword [rax + 0x16dc], 0
jne 0x1401a16a9
cmp dword [0x1404699c4], 0
je 0x1401a16e6
call fcn.140122b70
mov edx, 0x52
lea rcx, [0x140460020]
call fcn.140123380
mov edx, 9
lea rcx, [0x140460020]
call fcn.140123380
mov edx, 0x1b
lea rcx, [0x140460020]
call fcn.140123380
jmp 0x1401a1ab5
mov rax, qword [0x14046a618]
mov ecx, dword [rax + 0x38]
lea edx, [rcx + 1]
dec ecx
call fcn.1402cd190
test eax, eax
je 0x1401a1ab5
cmp r14d, 0x16
je 0x1401a177b
mov eax, dword [rbx + 0x10]
cmp eax, 0xd
je 0x1401a1715
cmp eax, 0xa
jne 0x1401a177b
mov ecx, dword [rbx + 0x28]
xor edx, edx
call fcn.1400542f0
mov edx, recv
lea rcx, [0x140460020]
call fcn.140123380
mov edx, 0x1b
lea rcx, [0x140460020]
call fcn.140123380
mov esi, dword [0x14045b518]
xor edx, edx
mov r8d, dword [rbx + 0x28]
mov dword [0x14045b518], edi
lea ecx, [rdx + 0x72]
call fcn.140097e00
test eax, eax
je 0x1401a1763
or dword [rbx + 0x30], 1
cmp dword [0x14045b518], 0
jne 0x1401a1ab5
mov dword [0x14045b518], esi
jmp 0x1401a1ab5
mov rcx, qword [rbx]
mov r9d, WSAStartup
mov eax, dword [rbx + 0x10]
xor r8d, r8d
mov edx, dword [rbx + 0x28]
mov dword [rsp + 0x38], eax
mov ecx, dword [rcx + 4]
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call fcn.1401a6fa0
cmp dword [0x14045b514], 0
mov rax, qword [0x14046a618]
mov rcx, qword [0x14045b410]
movsd xmm0, qword [rax + 0x38]
movsd qword [rcx + 0xfb0], xmm0
mov eax, dword [rax + 0x40]
mov dword [rcx + 0xfb8], eax
je 0x1401a1923
mov edx, dword [rbx + 0x14]
mov ebp, dword [0x140420a38]
test edx, edx
je 0x1401a17f9
cmp dword [0x140460040], 0
jne 0x1401a17f9
lea rcx, [0x1404601b8]
call fcn.140123380
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x1401a1815
cmp dword [0x140460040], 0
jne 0x1401a1815
lea rcx, [0x1404601b8]
call fcn.140123380
mov esi, dword [rbx + 0x28]
test esi, esi
jle 0x1401a19fe
mov eax, dword [rbx + 0x10]
mov dword [0x140420a38], 0x110
cmp eax, 5
je 0x1401a185e
cmp eax, 0x19
je 0x1401a185e
lea rdx, [rsp + 0x40]
mov ecx, eax
call qword [0x1404207f8]
cmp byte [rsp + 0x40], 0
jne 0x1401a1850
mov byte [rsp + 0x40], 0xa
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400545f0
jmp 0x1401a18ae
cmp eax, 0x19
mov ecx, 1
mov rax, qword [0x14046a618]
cmove ecx, r15d
add ecx, dword [rax + 0x38]
call fcn.14008fe70
test eax, eax
je 0x1401a18a4
lea rdx, [rsp + 0x58]
mov ecx, eax
call qword [0x1404207f8]
cmp byte [rsp + 0x58], 0
jne 0x1401a1896
mov byte [rsp + 0x58], 0xa
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.1400545f0
jmp 0x1401a18ae
mov rax, qword [0x14046a618]
inc dword [rax + 0x3c]
mov ecx, dword [rbx + 0x14]
mov dword [0x140420a38], ebp
test ecx, ecx
je 0x1401a18de
lea rdx, [rsp + 0x70]
call qword [0x1404207f8]
cmp byte [rsp + 0x70], 0
jne 0x1401a18d2
mov byte [rsp + 0x70], 0xa
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.1400545f0
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1401a1914
lea rdx, [rsp + 0x88]
call qword [0x1404207f8]
cmp byte [rsp + 0x88], 0
jne 0x1401a1905
mov byte [rsp + 0x88], 0xa
mov edx, eax
lea rcx, [rsp + 0x88]
call fcn.1400545f0
dec esi
test esi, esi
jg 0x1401a1820
jmp 0x1401a19fe
mov esi, dword [rbx + 0x28]
test esi, esi
jle 0x1401a19e7
nop
mov eax, dword [rbx + 0x10]
cmp eax, 5
je 0x1401a196d
cmp eax, 0x19
je 0x1401a196d
mov rdx, qword [0x14046a618]
mov r8d, 1
mov rcx, qword [0x14045b410]
mov edx, dword [rdx + 0x38]
call fcn.140179dc0
mov rcx, qword [0x14046a618]
movsxd rdx, dword [rcx + 0x3c]
movzx ecx, byte [rbx + 0x10]
mov byte [rdx + rax], cl
jmp 0x1401a19b9
cmp eax, 0x19
mov ecx, 1
mov rax, qword [0x14046a618]
cmove ecx, r15d
add ecx, dword [rax + 0x38]
call fcn.14008fe70
mov rdx, qword [0x14046a618]
mov r8d, 1
mov rcx, qword [0x14045b410]
mov ebp, eax
mov edx, dword [rdx + 0x38]
call fcn.140179dc0
test ebp, ebp
je 0x1401a19b9
mov rcx, qword [0x14046a618]
movsxd rdx, dword [rcx + 0x3c]
mov byte [rdx + rax], bpl
cmp dword [0x14046a098], 0
je 0x1401a19d3
cmp dword [0x14045b530], 0
jne 0x1401a19d3
mov ecx, dword [rbx + 0x10]
call fcn.140255650
mov rax, qword [0x14046a618]
dec esi
inc dword [rax + 0x3c]
test esi, esi
jg 0x1401a1930
mov r8, qword [0x14046a618]
mov edx, dword [r8 + 0x3c]
sub edx, dword [rbx + 0x28]
mov ecx, dword [r8 + 0x38]
call fcn.140054fa0
mov r8, qword [0x14046a618]
dec dword [r8 + 0x3c]
cmp dword [0x14045b514], 0
je 0x1401a1a22
mov rcx, qword [0x14045b410]
lea rdx, [r8 + 0x38]
call fcn.1401687b0
mov r8, qword [0x14046a618]
mov rcx, qword [0x14045b410]
movsd xmm0, qword [r8 + 0x38]
movsd qword [rcx + 0xfc8], xmm0
mov eax, dword [r8 + 0x40]
mov dword [rcx + 0xfd0], eax
mov rcx, qword [0x14045f340]
mov dword [r8 + 0x48], 1
mov ebx, dword [rbx + 0x10]
test rcx, rcx
je 0x1401a1a6d
cmp dword [0x14045b3f8], 0
jne 0x1401a1a6d
call fcn.140005660
mov edx, 1
lea ecx, [rdx + 0x43]
call fcn.140032b90
mov qword [0x14045f340], rax
test rax, rax
je 0x1401a1ab5
cmp ebx, 0x20
jl 0x1401a1a90
cmp ebx, 0x7f
jne 0x1401a1a96
mov byte [rax], socket
inc rax
mov rdx, rax
mov ecx, ebx
call fcn.1400956c0
mov dword [0x14045f354], edi
mov word [rax], 0x1b
jmp 0x1401a1ab5
mov rcx, qword [rbx]
call fcn.1401a8b70
mov rbp, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140001200
add rsp, 0xb8
pop rdi
pop rbx
ret