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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rbp, qword [rdx + 0x60]
mov r13, rcx
mov eax, dword [rcx + 0x3c]
mov r15, rdx
mov rsi, qword [rcx + 0x10]
mov ebx, r8d
mov qword [rsp + 0x38], rbp
movzx ecx, word [rbp + 0x18]
mov rdx, qword [rbp + 0x20]
lea r12d, [rax + 1]
movzx r14d, word [rbp + 0x3e]
mov dword [rsp + 0xb8], ecx
add ecx, r9d
add eax, ecx
mov dword [rsp + 0xa0], ecx
mov dword [r13 + 0x3c], eax
mov rdi, qword [rdx + 0x20]
test rdi, rdi
jne 0x1400a5c8f
mov rcx, qword [r13]
call fcn.1400a92c0
mov rdi, rax
test rax, rax
jne 0x1400a5c8f
xor r8d, r8d
mov qword [rsp + 0x30], r8
jmp 0x1400a5cdf
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400a5c96
mov rcx, qword [r13]
inc rbx
test rcx, rcx
je 0x1400a5cb5
mov rdx, rbx
call fcn.1400ea610
jmp 0x1400a5cbd
mov rcx, rbx
call fcn.140100940
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400a5cd5
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov ebx, dword [rsp + 0xb0]
xor r8d, r8d
test r14w, r14w
je 0x1400a5ed2
movsxd rcx, dword [rsi + 0x90]
lea edx, [r12 - 1]
mov edi, dword [r15 + 8]
add edx, r14d
cmp dword [rsi + 0x94], ecx
jg 0x1400a5d1d
mov dword [rsp + 0x20], edx
mov r9d, r12d
mov edx, 0x4b
xor r8d, r8d
mov rcx, rsi
call fcn.1400bb2e0
jmp 0x1400a5d47
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov edx, 0x24
mov eax, 0x20
test ebx, ebx
mov r8d, edi
mov rcx, rsi
cmovne edx, eax
call fcn.14011a510
movsxd rbx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ebx
jg 0x1400a5d90
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rsi
call fcn.1400bb2e0
mov ebx, eax
xor r9d, r9d
jmp 0x1400a5db9
lea rcx, [rbx + rbx*2]
xor r9d, r9d
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], r9
mov qword [rax + rcx*8 + 0x10], r9
cmp dword [rsp + 0xb0], 0
mov edx, 0x18
movsxd r8, dword [rsi + 0x90]
mov eax, reloc.WS2_32.dll_setsockopt
cmovne edx, eax
cmp dword [rsi + 0x94], r8d
jg 0x1400a5dfe
mov dword [rsp + 0x28], r14d
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.14009bbb0
mov r8d, eax
xor r9d, r9d
jmp 0x1400a5e34
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r9w
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 0x10], r14d
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [r15 + 0x14], r8d
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400a5e50
lea rax, [0x14019e058]
jmp 0x1400a5e62
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov ebx, r9d
test r14d, r14d
je 0x1400a5ed2
nop dword [rax]
movsxd rcx, dword [rsi + 0x90]
lea edx, [r12 + rbx]
cmp dword [rsi + 0x94], ecx
jg 0x1400a5e9f
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x5e
mov r8d, edi
mov rcx, rsi
call fcn.1400bb2e0
xor r9d, r9d
jmp 0x1400a5ecb
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
inc ebx
cmp ebx, r14d
jl 0x1400a5e70
mov r15, r14
cmp r14d, dword [rsp + 0xb8]
jae 0x1400a616e
mov r14, qword [rsp + 0x30]
lea rcx, [r15*8]
add r14, r15
mov qword [rsp + 0x40], rcx
nop dword [rax + rax]
mov rax, qword [rbp + 0x48]
lea ebx, [r15 + r12]
mov rdi, qword [rcx + rax]
mov rdx, qword [rdi]
movzx eax, byte [rdx]
cmp al, 0x36
je 0x1400a5f5d
cmp al, 0x2d
je 0x1400a5f5d
mov ebp, ebx
cmp al, 0x33
jne 0x1400a5f36
mov rcx, qword [r13 + 0x10]
mov r9d, ebx
xor r8d, r8d
mov edx, 0x4b
call fcn.14011a580
jmp 0x1400a5f6e
mov eax, dword [rsp + 0xb0]
mov r9d, r15d
mov r8, qword [rsp + 0xa8]
mov rdx, rdi
mov dword [rsp + 0x28], ebx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1400a6d50
jmp 0x1400a5f6e
mov rdx, qword [rdx + 0x18]
mov r8d, ebx
mov rcx, r13
call fcn.1400efeb0
mov ebp, eax
mov r10, qword [rsp + 0xa8]
mov rax, qword [r10 + 0x60]
test dword [rax + 0x38], 0x200000
je 0x1400a5f8e
mov eax, 0x800
test word [rdi + 0x14], ax
jne 0x1400a5f99
mov rdx, rdi
mov rcx, r10
call fcn.1400ad0b0
cmp ebp, ebx
je 0x1400a5fc4
cmp dword [rsp + 0xa0], 1
jne 0x1400a5ffa
test r12d, r12d
je 0x1400a5fc1
movzx eax, byte [r13 + 0x1f]
cmp al, 8
jae 0x1400a5fc1
mov dword [r13 + rax*4 + 0xe8], r12d
inc byte [r13 + 0x1f]
mov r12d, ebp
xor r9d, r9d
movzx eax, word [rdi + 0x14]
test al, 1
je 0x1400a6061
mov rax, qword [rdi]
test dword [rax + 4], 0x1000
mov rax, qword [rsp + 0x30]
je 0x1400a613a
test rax, rax
je 0x1400a613a
mov byte [r14], 0x41
jmp 0x1400a613a
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1400a602c
xor eax, eax
mov r9d, ebx
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, 0x50
mov rcx, rsi
call fcn.1400bb2e0
mov r10, qword [rsp + 0xa8]
jmp 0x1400a5fc4
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x1400a5fc7
bt ax, 8
jb 0x1400a6135
mov rax, qword [rdi]
mov rbp, qword [rax + 0x18]
mov eax, 0x800
test word [rdi + 0x12], ax
jne 0x1400a60e6
mov rcx, rbp
call fcn.1400ee0d0
test eax, eax
je 0x1400a60e6
movsxd rcx, dword [rsi + 0x90]
lea r8d, [r15 + r12]
mov edx, dword [r10 + 0xc]
cmp dword [rsi + 0x94], ecx
jg 0x1400a60b8
mov dword [rsp + 0x20], r9d
mov rcx, rsi
mov r9d, edx
mov edx, 0x33
call fcn.1400bb2e0
jmp 0x1400a60e6
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], gethostname
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
cmp dword [r13 + 0x34], 0
jne 0x1400a6135
movzx ebx, byte [r14]
mov rcx, rbp
call fcn.1400ed8b0
cmp al, 0x40
jle 0x1400a610d
cmp bl, 0x40
jle 0x1400a6110
cmp al, 0x43
jge 0x1400a611a
cmp bl, 0x43
jge 0x1400a611a
jmp 0x1400a6116
movzx eax, bl
or al, 0x40
cmp al, 0x41
jne 0x1400a611a
mov byte [r14], 0x41
movzx edx, byte [r14]
mov rcx, rbp
call fcn.1400f3650
test eax, eax
mov rax, qword [rsp + 0x30]
je 0x1400a613a
mov byte [r14], 0x41
jmp 0x1400a613a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
inc r15d
mov rbp, qword [rsp + 0x38]
add rcx, 8
inc r14
mov qword [rsp + 0x40], rcx
cmp r15d, dword [rsp + 0xb8]
jl 0x1400a5f00
mov rcx, qword [rsp + 0xc0]
mov qword [rcx], rax
jmp 0x1400a617e
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov eax, r12d
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret