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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rdi, qword [rsp + 0xd0]
xor esi, esi
mov r12, qword [rsp + 0xc8]
mov r10, r8
mov r14, qword [rcx + 0x10]
mov rbx, rcx
mov dword [rsp + 0x34], esi
movzx r8d, byte [rdi]
mov eax, dword [rdi + 4]
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], eax
test r12, r12
je 0x1400a4201
movzx eax, byte [r12 + 1]
jmp 0x1400a4203
mov eax, esi
mov r13, qword [rsp + 0xc0]
mov dword [rsp + 0x3c], eax
test r13, r13
je 0x1400a4225
cmp qword [r13], rsi
jne 0x1400a4251
mov r13, rsi
mov qword [rsp + 0xc0], rsi
test eax, eax
jne 0x1400a4251
mov r8d, dword [rsp + 0xd8]
mov rcx, r14
mov edx, dword [rdx + 0x10]
call fcn.1400a4030
mov r9d, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0x38]
mov r10, qword [rsp + 0xb0]
movsxd r15, dword [r10]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x44], r15d
test eax, eax
jne 0x1400a428b
test r13, r13
je 0x1400a427d
mov rax, qword [r13]
test byte [r13 + 0x1c], 1
mov ecx, dword [rax]
lea edx, [rcx + 1]
cmovne edx, ecx
add dword [rbx + 0x54], edx
mov dword [rsp + 0x34], edx
mov eax, dword [rbx + 0x54]
inc eax
mov dword [rdi + 8], eax
add dword [rbx + 0x54], r15d
jmp 0x1400a429c
mov ecx, dword [rbx + 0x54]
add eax, r15d
cmp eax, ecx
jle 0x1400a429c
lea eax, [rcx + r15]
mov dword [rbx + 0x54], eax
mov ebp, dword [rdi + 8]
mov dword [rdi + 0xc], r15d
test r9d, r9d
js 0x1400a430f
mov edi, esi
test r15d, r15d
jle 0x1400a432d
nop
mov rax, qword [r14 + 0x30]
movsxd r12, dword [r14 + 0x3c]
cmp dword [rax + 0x60], r12d
jg 0x1400a42d2
mov rcx, r14
call fcn.140065ba0
mov r9d, dword [rsp + 0xb8]
test eax, eax
jne 0x1400a42fe
mov rax, qword [r14 + 8]
lea rcx, [r12 + r12*2]
inc dword [r14 + 0x3c]
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], sil
lea rdx, [rax + rcx*8]
lea eax, [rdi + rbp]
mov dword [rdx + 4], r9d
mov dword [rdx + 0xc], eax
mov dword [rdx + 8], edi
mov qword [rdx + 0x10], rsi
inc edi
cmp edi, r15d
jl 0x1400a42b0
mov r12, qword [rsp + 0xc8]
jmp 0x1400a432d
cmp r8b, 3
je 0x1400a432d
lea eax, [r8 - 9]
mov rdx, r10
test al, 0xfb
mov r8d, ebp
mov rcx, rbx
sete r9b
call fcn.14007f410
cmp dword [rsp + 0x3c], esi
je 0x1400a45f9
movzx ecx, byte [r12 + 1]
sub ecx, 1
je 0x1400a4543
cmp ecx, 1
je 0x1400a436c
mov r8d, dword [rsp + 0xd8]
mov r9d, r15d
mov edx, dword [r12 + 4]
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.1400a40b0
jmp 0x1400a4589
mov eax, dword [rbx + 0x54]
lea r8d, [rax + 1]
add eax, r15d
mov dword [rbx + 0x54], eax
movsxd rax, dword [r12 + 8]
mov ecx, dword [r14 + 0x3c]
mov dword [rsp + 0xb8], r8d
mov dword [rsp + 0xc8], eax
cmp eax, ecx
jge 0x1400a43df
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.140065f70
mov r8d, dword [rsp + 0xb8]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov ecx, dword [r14 + 0x3c]
lea eax, [rcx - 1]
cmp dword [rsp + 0xc8], eax
jne 0x1400a43df
mov dword [r14 + 0x3c], eax
mov ecx, eax
mov rax, qword [r14]
mov edx, dword [r12 + 8]
cmp byte [rax + 0x50], sil
je 0x1400a43f6
lea rax, [0x1401f4e48]
jmp 0x1400a440c
lea eax, [rcx - 1]
test edx, edx
cmovns eax, edx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rax, [rax + rcx*8]
mov byte [rax], 0x1c
mov r12d, esi
mov dword [rax + 4], 1
mov dword [rax + 8], r8d
mov edi, dword [r14 + 0x3c]
lea eax, [rdi + r15]
mov dword [rsp + 0x3c], eax
test r15d, r15d
jle 0x1400a44f5
lea eax, [r15 - 1]
mov r13, rsi
mov dword [rsp + 0xc8], eax
mov eax, r8d
sub eax, ebp
mov dword [rsp + 0x40], eax
nop dword [rax]
mov rax, qword [rsp + 0xb0]
mov rcx, rbx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r13]
call fcn.140079bc0
cmp r12d, dword [rsp + 0xc8]
lea r8d, [r12 + rbp]
mov r9d, dword [rsp + 0xd8]
mov edx, esi
cmovl r9d, dword [rsp + 0x3c]
mov rdi, rax
mov ecx, dword [rsp + 0x40]
add ecx, r8d
cmp r12d, dword [rsp + 0xc8]
mov dword [rsp + 0x20], ecx
mov rcx, r14
setge dl
add edx, 0x4e
call fcn.140065c50
mov r9d, 0xfffffffc
mov r8, rdi
mov rcx, r14
lea edx, [r9 + 3]
call fcn.140066230
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x1400a44d3
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x80
inc r12d
add r13, 0x28
sub r15, 1
jne 0x1400a4450
mov edi, dword [r14 + 0x3c]
mov r15d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xc0]
mov rax, qword [r14 + 0x30]
cmp dword [rax + 0x60], edi
jg 0x1400a450a
mov rcx, r14
call fcn.140065ba0
test eax, eax
jne 0x1400a4589
inc dword [r14 + 0x3c]
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], ebp
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0xb8]
mov qword [rdx + 0x10], rsi
mov dword [rdx + 8], eax
lea eax, [r15 - 1]
mov dword [rdx + 0xc], eax
jmp 0x1400a4589
movsxd r12, dword [r12 + 8]
cmp r12d, dword [r14 + 0x3c]
jge 0x1400a4589
mov rax, qword [r14 + 8]
lea rcx, [r12 + r12*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.140065f70
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
dec eax
cmp r12d, eax
jne 0x1400a4589
mov dword [r14 + 0x3c], eax
mov r12, qword [rsp + 0xa8]
test r13, r13
jne 0x1400a4601
mov r8d, dword [r12 + 0x10]
test r8d, r8d
jle 0x1400a4601
xor r9d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov edx, 0x8a
mov rcx, r14
call fcn.140065c50
mov r9d, dword [rsp + 0xd8]
lea edx, [r13 + 0x10]
xor r8d, r8d
mov edi, eax
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.140065c50
mov edx, dword [r14 + 0x3c]
cmp edx, edi
jbe 0x1400a45ed
mov rax, qword [r14 + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
jmp 0x1400a4601
mov r12, qword [rsp + 0xa8]
mov r9d, dword [rsp + 0x38]
lea eax, [r9 - 1]
cmp eax, 0xd
ja case.0x1400a4626.4
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0xa4ce0]
add rcx, rdx
jmp rcx
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400a4638
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400a4644
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, r15d
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov edx, 0x31
mov rcx, r14
call fcn.140065c50
mov r8d, dword [rsp + 0x30]
mov r9d, edi
mov edx, WSAGetLastError
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.140065c50
test edi, edi
je case.0x1400a4626.4
movzx ecx, byte [rbx + 0x1f]
cmp cl, 8
jae case.0x1400a4626.4
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], edi
je 0x1400a46ac
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x1400a4690
mov dword [rbx + rcx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp case.0x1400a4626.4
mov byte [rax + 6], 1
jmp case.0x1400a4626.4
mov r8d, dword [rsp + 0x30]
mov r9d, ebp
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.140065c50
jmp case.0x1400a4626.4
mov edx, dword [rsp + 0x34]
mov ecx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
lea r13d, [rdx + 1]
cmp r13d, ecx
jg 0x1400a46f7
lea eax, [r12 + r13]
sub ecx, r13d
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x1400a4704
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, r13d
mov dword [rbx + 0x54], eax
lea edi, [r12 + rdx]
mov r9d, r15d
mov edx, 0x31
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov rcx, r14
call fcn.140065c50
cmp byte [rsp + 0x38], 6
mov ebp, dword [rsp + 0x30]
jne 0x1400a4773
mov r9d, dword [r14 + 0x3c]
lea r8d, [rbp + 1]
add r9d, 4
mov dword [rsp + 0x20], r12d
mov edx, 0x45
mov rcx, r14
call fcn.140065c50
mov r9d, 0xfffffff2
xor r8d, r8d
mov edx, eax
mov rcx, r14
call fcn.140066230
mov r9d, r12d
mov dword [rsp + 0x20], esi
lea r8d, [rbp + 1]
mov edx, WSAGetLastError
mov rcx, r14
call fcn.140065c50
mov r15, qword [rsp + 0xc0]
test r15, r15
je 0x1400a47ae
mov eax, dword [rsp + 0x34]
mov r9d, edi
mov rbp, qword [rsp + 0xa8]
mov rdx, r15
mov dword [rsp + 0x28], eax
mov r8, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.1400a3bc0
jmp 0x1400a4847
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400a47be
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400a47ca
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, edi
mov dword [rsp + 0x20], esi
mov r8d, ebp
mov edx, 0x4a
mov rcx, r14
call fcn.140065c50
mov r9d, r12d
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov edx, 0x4b
mov rcx, r14
call fcn.140065c50
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x1400a480e
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
test edi, edi
je 0x1400a483f
movzx ecx, byte [rbx + 0x1f]
cmp cl, 8
jae 0x1400a483f
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], edi
je 0x1400a483b
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x1400a4822
mov dword [rbx + rcx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x1400a483f
mov byte [rax + 6], 1
mov rbp, qword [rsp + 0xa8]
mov r8d, r13d
mov edx, r12d
mov rcx, rbx
call fcn.14007d720
cmp r13d, dword [rbx + 0x44]
jle 0x1400a4ccf
mov dword [rbx + 0x44], r13d
mov dword [rbx + 0x48], r12d
jmp 0x1400a4ccf
mov rax, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xd0]
mov rax, qword [rax + 8]
movzx edi, byte [r15 + 1]
mov rcx, qword [rax]
call fcn.140079b20
test al, al
je 0x1400a48a8
test dil, dil
je 0x1400a48b1
cmp al, 0x43
jge 0x1400a48a4
cmp dil, 0x43
jge 0x1400a48a4
mov al, 0x41
jmp 0x1400a48b4
mov al, 0x43
jmp 0x1400a48b4
test dil, dil
jne 0x1400a48b1
mov al, 0x41
jmp 0x1400a48b4
add al, dil
mov byte [r15 + 1], al
test r13, r13
jne 0x1400a49c7
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400a48d1
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400a48dd
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, 1
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov rcx, r14
lea edx, [r9 + 0x30]
call fcn.140065c50
mov r9d, 1
lea r8, [r15 + 1]
mov edx, eax
mov rcx, r14
call fcn.140066230
mov r8d, 1
mov edx, ebp
mov rcx, rbx
call fcn.14007d720
mov r8d, dword [rsp + 0x30]
mov r9d, edi
mov edx, WSAGetLastError
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.140065c50
test edi, edi
je 0x1400a495e
movzx ecx, byte [rbx + 0x1f]
cmp cl, 8
jae 0x1400a495e
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], edi
je 0x1400a499d
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x1400a4947
mov dword [rbx + rcx*4 + 0x24], edi
inc byte [rbx + 0x1f]
mov rbp, qword [rsp + 0xa8]
mov r8d, dword [rbp + 0xc]
test r8d, r8d
je 0x1400a498c
mov r9d, dword [rsp + 0xe0]
mov edx, 0x8b
mov rcx, r14
mov dword [rsp + 0x20], 0xffffffff
call fcn.140065c50
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov byte [rax + 6], 1
jmp 0x1400a495e
mov r9d, dword [rsp + 0x30]
mov edx, 0x19
mov rcx, r14
mov dword [rsp + 0x20], esi
lea r8d, [rdx - 0x18]
call fcn.140065c50
jmp case.0x1400a4626.4
test r13, r13
je 0x1400a495e
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
mov r9d, ebp
mov r8, r12
mov rdx, r13
mov rcx, rbx
call fcn.1400a3bc0
jmp 0x1400a498c
test r13, r13
je 0x1400a49fe
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
jmp 0x1400a49d7
mov dword [rsp + 0x20], esi
mov rcx, r14
cmp r9b, 0xd
jne 0x1400a4a28
mov rax, qword [rsp + 0xd0]
xor r9d, r9d
mov r8d, dword [rax + 4]
lea edx, [r9 + 0x16]
call fcn.140065c50
jmp 0x1400a495e
mov r9d, r15d
mov r8d, ebp
mov edx, 0x23
call fcn.140065c50
mov r8d, r15d
mov edx, ebp
mov rcx, rbx
call fcn.14007d720
jmp 0x1400a495e
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0xc8], esi
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x48], rax
mov r8d, dword [rax]
movzx eax, byte [rbx + 0x1f]
mov dword [rsp + 0xd0], r8d
test al, al
jne 0x1400a4a7e
inc dword [rbx + 0x54]
mov r12d, dword [rbx + 0x54]
jmp 0x1400a4a8b
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r12d, dword [rbx + rax*4 + 0x24]
mov edx, dword [rbx + 0x44]
lea edi, [r8 + 2]
mov ecx, dword [rbx + 0x48]
mov dword [rsp + 0x44], edi
mov dword [rsp + 0xb0], ecx
cmp edi, edx
jg 0x1400a4ab1
lea eax, [rcx + rdi]
sub edx, edi
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], edx
jmp 0x1400a4ac3
mov eax, dword [rbx + 0x54]
lea ecx, [rax + 1]
add eax, edi
mov dword [rbx + 0x54], eax
mov dword [rsp + 0xb0], ecx
lea eax, [rcx + r8]
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0xb8], eax
inc eax
cmp r9b, 8
jne 0x1400a4b76
xor r9d, r9d
mov dword [rsp + 0x20], ebp
lea r8d, [rcx + 1]
mov rcx, r14
lea edx, [r9 + 0x45]
call fcn.140065c50
movsxd r8, r15d
mov r9d, 0xfffffff2
mov edx, eax
mov dword [rsp + 0xc8], eax
mov rcx, r14
mov r13d, eax
call fcn.140066230
mov eax, dword [rsp + 0xb8]
mov r9d, r15d
inc eax
mov r8d, ebp
mov edx, 0x31
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140065c50
mov r9d, dword [rsp + 0xb8]
mov edx, WSAGetLastError
mov r8d, dword [rsp + 0x30]
inc r9d
inc r8d
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.140065c50
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x1400a4b8d
movsxd rax, dword [r14 + 0x3c]
mov dword [rsp + 0xc8], r13d
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
jmp 0x1400a4b8d
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov r8d, ebp
mov edx, 0x31
mov rcx, r14
call fcn.140065c50
movsxd r13, dword [rsp + 0xd0]
test r13, r13
jle 0x1400a4bed
mov r15d, dword [rsp + 0xb0]
mov rdi, rsi
mov rbx, qword [rsp + 0x48]
nop word [rax + rax]
mov rax, qword [rbx + 8]
lea r8d, [rbp - 1]
mov r9d, r15d
mov dword [rsp + 0x20], esi
mov edx, 0x22
movzx ecx, word [rdi + rax + 0x20]
add r8d, ecx
mov rcx, r14
call fcn.140065c50
inc r15d
lea rdi, [rdi + 0x28]
sub r13, 1
jne 0x1400a4bb0
mov rbx, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x44]
mov r9d, dword [rsp + 0xb8]
mov edx, 0x49
mov r8d, dword [rsp + 0x30]
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.140065c50
mov r15d, dword [rsp + 0xb0]
mov r9d, edi
mov r8d, r15d
mov dword [rsp + 0x20], r12d
mov edx, 0x31
mov rcx, r14
call fcn.140065c50
mov r8d, dword [rsp + 0x30]
mov r9d, r12d
mov edx, WSAGetLastError
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.140065c50
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x1400a4c71
mov edx, dword [r14 + 0x3c]
cmp edx, eax
jbe 0x1400a4c67
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
test r12d, r12d
je 0x1400a4ca5
movzx ecx, byte [rbx + 0x1f]
cmp cl, 8
jae 0x1400a4ca5
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], r12d
je 0x1400a4ca1
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x1400a4c86
mov dword [rbx + rcx*4 + 0x24], r12d
inc byte [rbx + 0x1f]
jmp 0x1400a4ca5
mov byte [rax + 6], 1
mov r8d, edi
mov edx, r15d
mov rcx, rbx
call fcn.14007d720
cmp edi, dword [rbx + 0x44]
jle case.0x1400a4626.4
mov dword [rbx + 0x44], edi
mov dword [rbx + 0x48], r15d
mov rbp, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xc0]
test r15, r15
jne 0x1400a498c
jmp 0x1400a4966