Function at 0x14006a230
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
sub rsp, 0xc8
xor eax, eax
test eax, eax
jne 0x14006a24b
xor eax, eax
test eax, eax
jne 0x14006a251
xor eax, eax
test eax, eax
jne 0x14006a257
xor eax, eax
test eax, eax
jne 0x14006a25d
xor eax, eax
test eax, eax
jne 0x14006a263
xor eax, eax
test eax, eax
jne 0x14006a269
xor eax, eax
test eax, eax
jne 0x14006a26f
xor eax, eax
test eax, eax
jne 0x14006a275
mov rax, qword [rsp + 0xf0]
add rax, 0x1c
mov rcx, qword [rsp + 0xf0]
add rcx, 0x18
mov qword [rsp + 0x20], rax
mov r9, rcx
mov r8, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x40]
call fcn.1400696b0
test eax, eax
je 0x14006a406
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x38], eax
xor eax, eax
test eax, eax
jne 0x14006a2d3
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x20], 0xffffffff
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 0x28]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x38]
movzx eax, byte [rax + rcx]
mov rcx, qword [rsp + 0xf0]
mov dword [rcx], eax
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax]
and eax, 8
test eax, eax
je 0x14006a3bb
xor eax, eax
test eax, eax
jne 0x14006a34d
movsxd rax, dword [rsp + 0x38]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rcx + rax]
mov qword [rdx + 8], rax
movsxd rax, dword [rsp + 0x38]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rcx + rax + 8]
mov qword [rdx + 0x10], rax
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006a3b9
mov rcx, qword [rsp + 0xd0]
call fcn.140039d20
jmp 0x14006a401
xor eax, eax
test eax, eax
jne 0x14006a3bb
movsxd rax, dword [rsp + 0x38]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006a401
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xd0]
call fcn.140039c20
jmp 0x14006abae
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
and eax, 0x8000
test eax, eax
je 0x14006a528
cmp dword [rsp + 0xe8], 0xffffffff
je 0x14006a528
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 0x30]
cmp dword [rsp + 0xe8], eax
jae 0x14006a528
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 0x28]
imul rax, rax, 0x19
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xd8]
mov edx, 8
sub edx, dword [rcx + 0x28]
mov ecx, edx
and ecx, 7
mov ecx, ecx
add rax, rcx
mov ecx, dword [rsp + 0xe8]
imul rcx, rcx, 0x10
add rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
cmp dword [rax], 7
je 0x14006a528
xor eax, eax
test eax, eax
jne 0x14006a49f
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006a4c5
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xd0]
call fcn.140039c20
mov rax, qword [rsp + 0xf0]
mov dword [rax], 7
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x18], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x1c], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xe8]
mov dword [rax + 0x20], ecx
jmp 0x14006abae
xor eax, eax
test eax, eax
jne 0x14006a528
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
and eax, 0xc02000
test eax, eax
jne 0x14006a546
jmp 0x14006ab9e
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
and eax, 0x400000
test eax, eax
je 0x14006a656
xor eax, eax
test eax, eax
jne 0x14006a55d
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x58], rax
xor eax, eax
test eax, eax
jne 0x14006a570
mov eax, 8
imul rax, rax, 0x57
mov rcx, qword [rsp + 0xd0]
mov rcx, qword [rcx + 0x240]
mov rax, qword [rax + rcx]
cmp qword [rsp + 0xe0], rax
jne 0x14006a651
xor eax, eax
test eax, eax
jne 0x14006a5a0
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006a5c9
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x38]
mov rcx, qword [rsp + 0xd0]
call fcn.14003a230
mov rax, qword [rsp + 0xf0]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x3c], 0
jne 0x14006a5f9
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rsp + 0xf0]
mov dword [rcx], eax
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x18], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x1c], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x20], 0xffffffff
xor eax, eax
test eax, eax
jne 0x14006a646
jmp 0x14006ac21
jmp 0x14006ab9e
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
and eax, 0x800000
test eax, eax
je 0x14006a878
xor eax, eax
test eax, eax
jne 0x14006a66d
cmp dword [rsp + 0xe8], 0xffffffff
je 0x14006a792
xor eax, eax
test eax, eax
jne 0x14006a681
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x40]
call fcn.140069d70
mov qword [rsp + 0x60], rax
xor eax, eax
test eax, eax
jne 0x14006a6a5
mov eax, dword [rsp + 0xe8]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x60]
call fcn.140072360
mov rcx, qword [rsp + 0x70]
cmp rcx, rax
jae 0x14006a787
xor eax, eax
test eax, eax
jne 0x14006a6cf
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006a71f
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xd0]
call fcn.14003cec0
mov eax, dword [rsp + 0xe8]
inc eax
mov eax, eax
mov ecx, dword [rsp + 0xe8]
mov r9d, eax
mov r8d, ecx
mov edx, 0xffffffff
mov rcx, qword [rsp + 0xd0]
call fcn.14003f4c0
mov rax, qword [rsp + 0xf0]
mov dword [rax], reloc.WS2_32.dll_select
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x18], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x1c], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x20], 0xffffffff
xor eax, eax
test eax, eax
jne 0x14006a77a
jmp 0x14006ac21
xor eax, eax
test eax, eax
jne 0x14006a787
jmp 0x14006a873
mov eax, 8
imul rax, rax, 0x57
mov rcx, qword [rsp + 0xd0]
mov rcx, qword [rcx + 0x240]
mov rax, qword [rax + rcx]
cmp qword [rsp + 0xe0], rax
jne 0x14006a873
xor eax, eax
test eax, eax
jne 0x14006a7bc
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x40]
call fcn.140069d70
mov qword [rsp + 0x78], rax
xor eax, eax
test eax, eax
jne 0x14006a7e0
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006a80d
mov rcx, qword [rsp + 0x78]
call fcn.140072360
mov edx, eax
mov rcx, qword [rsp + 0xd0]
call fcn.14003a230
mov rax, qword [rsp + 0xf0]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x18], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x1c], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x20], 0xffffffff
xor eax, eax
test eax, eax
jne 0x14006a868
jmp 0x14006ac21
jmp 0x14006ab9e
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
and eax, 0x2000
test eax, eax
je 0x14006ab9e
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x30], rax
xor eax, eax
test eax, eax
jne 0x14006a89c
xor eax, eax
test eax, eax
jne 0x14006a8a2
cmp dword [rsp + 0xe8], 0xffffffff
je 0x14006aab4
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x52]
test eax, eax
je 0x14006aab4
xor eax, eax
test eax, eax
jne 0x14006a8c7
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x50]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x80], rcx
movzx ecx, al
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x4c]
shr eax, cl
cmp dword [rsp + 0xe8], eax
jae 0x14006aaa9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x50]
movzx ecx, al
mov eax, dword [rsp + 0xe8]
shl eax, cl
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x50]
mov ecx, 1
mov dword [rsp + 0x50], ecx
movzx ecx, al
mov eax, dword [rsp + 0x50]
shl eax, cl
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006aa15
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x38], 0
je 0x14006aa00
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x48]
add ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x38]
cmp rax, qword [rcx + 0x18]
ja 0x14006aa00
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x38]
mov eax, dword [rax]
and eax, 0x80
test eax, eax
je 0x14006a9ab
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x38]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
jmp 0x14006a9bd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x38]
add rax, 0x20
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x48]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x3c]
add rax, rcx
mov qword [rsp + 0x88], rax
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xd0]
call fcn.1400424a0
jmp 0x14006aa15
xor eax, eax
test eax, eax
jne 0x14006aa00
xor edx, edx
mov rcx, qword [rsp + 0xd0]
call fcn.14003a230
mov rax, qword [rsp + 0xf0]
mov dword [rax], reloc.WS2_32.dll_recvfrom
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
shr eax, 0x1b
and eax, 0x1f
cmp eax, 0x13
je 0x14006aa4f
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax]
or eax, 2
mov rcx, qword [rsp + 0xf0]
mov dword [rcx], eax
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x18], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x1c], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x20], 0xffffffff
xor eax, eax
test eax, eax
jne 0x14006aa9c
jmp 0x14006ac21
xor eax, eax
test eax, eax
jne 0x14006aaa9
jmp 0x14006ab9e
mov eax, 8
imul rax, rax, 0x57
mov rcx, qword [rsp + 0xd0]
mov rcx, qword [rcx + 0x240]
mov rax, qword [rax + rcx]
cmp qword [rsp + 0xe0], rax
jne 0x14006ab9e
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x52]
test eax, eax
je 0x14006ab9e
xor eax, eax
test eax, eax
jne 0x14006aaef
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006ab38
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x50]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x90], rcx
movzx ecx, al
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x4c]
shr eax, cl
mov edx, eax
mov rcx, qword [rsp + 0xd0]
call fcn.14003a230
mov rax, qword [rsp + 0xf0]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x18], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x1c], 0xffffffff
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x20], 0xffffffff
xor eax, eax
test eax, eax
jne 0x14006ab93
jmp 0x14006ac21
xor eax, eax
test eax, eax
jne 0x14006ab9e
xor eax, eax
test eax, eax
jne 0x14006aba4
xor eax, eax
jmp 0x14006ac2c
xor eax, eax
test eax, eax
jne 0x14006abae
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
and eax, 0x1000000
test eax, eax
je 0x14006ac21
cmp dword [rsp + 0xe8], 0xffffffff
je 0x14006ac21
mov eax, dword [rsp + 0xf8]
and eax, 1
test eax, eax
je 0x14006ac21
xor eax, eax
test eax, eax
jne 0x14006abdf
lea r9, [rsp + 0x98]
mov r8, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
call fcn.14006a000
test eax, eax
je 0x14006ac21
xor eax, eax
test eax, eax
jne 0x14006ac0e
mov rcx, qword [rsp + 0xd0]
call fcn.140035270
xor eax, eax
test eax, eax
jne 0x14006ac21
mov eax, 1
add rsp, 0xc8
ret