Function at 0x14006e3f0
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 rsi
push rdi
sub rsp, 0x118
mov eax, dword [rsp + 0x148]
and eax, 1
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x148]
and eax, 2
mov dword [rsp + 0x50], eax
xor eax, eax
test eax, eax
jne 0x14006e429
xor eax, eax
test eax, eax
jne 0x14006e42f
xor eax, eax
test eax, eax
jne 0x14006e435
xor eax, eax
test eax, eax
jne 0x14006e43b
xor eax, eax
test eax, eax
jne 0x14006e441
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x28], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x44]
mov r8, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
call fcn.14006a230
test eax, eax
jne 0x14006e49c
xor eax, eax
test eax, eax
jne 0x14006e491
jmp 0x14006ea51
mov eax, dword [rsp + 0x90]
and eax, 4
test eax, eax
jne 0x14006e4b6
cmp dword [rsp + 0x50], 0
jne 0x14006e4b6
jmp 0x14006eaa9
cmp dword [rsp + 0xb0], 0
jge 0x14006e4d5
cmp dword [rsp + 0xa8], 0
jge 0x14006e4d5
xor eax, eax
test eax, eax
jne 0x14006e4ca
jmp 0x14006eaa9
cmp dword [rsp + 0xb0], 0
jl 0x14006e624
xor eax, eax
test eax, eax
jne 0x14006e4e3
mov rax, qword [rsp + 0x138]
mov eax, dword [rax + 0x28]
imul rax, rax, 0x19
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x138]
mov edx, 8
sub edx, dword [rcx + 0x28]
mov ecx, edx
and ecx, 7
mov ecx, ecx
add rax, rcx
movsxd rcx, dword [rsp + 0xb0]
imul rcx, rcx, 0x10
add rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xf0]
mov rdi, rax
mov rsi, qword [rsp + 0xb8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
xor eax, eax
test eax, eax
jne 0x14006e545
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov dword [rax], 7
xor eax, eax
test eax, eax
jne 0x14006e565
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xc0], rax
xor eax, eax
test eax, eax
jne 0x14006e599
mov rax, qword [rsp + 0xc0]
mov eax, dword [rax]
and eax, 8
test eax, eax
je 0x14006e606
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
xor eax, eax
test eax, eax
jne 0x14006e5c1
xor eax, eax
test eax, eax
jne 0x14006e5c7
xor eax, eax
test eax, eax
jne 0x14006e5cd
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 4]
dec eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 4], ecx
cmp dword [rsp + 0x30], 0
jne 0x14006e606
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x130]
call fcn.140065270
xor eax, eax
test eax, eax
jne 0x14006e589
xor eax, eax
test eax, eax
jne 0x14006e538
jmp 0x14006ea51
xor eax, eax
test eax, eax
jne 0x14006e624
cmp dword [rsp + 0xac], 0
jl 0x14006e6b8
mov rax, qword [rsp + 0x138]
mov eax, dword [rax + 0x28]
imul rax, rax, 0x19
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x138]
mov edx, 8
sub edx, dword [rcx + 0x28]
mov ecx, edx
and ecx, 7
mov ecx, ecx
add rax, rcx
mov rcx, qword [rsp + 0x138]
mov ecx, dword [rcx + 0x30]
imul rcx, rcx, 0x10
add rax, rcx
mov qword [rsp + 0xe0], rax
xor eax, eax
test eax, eax
jne 0x14006e68d
xor eax, eax
test eax, eax
jne 0x14006e693
xor eax, eax
test eax, eax
jne 0x14006e699
movsxd rax, dword [rsp + 0xac]
mov rcx, qword [rsp + 0xe0]
mov dword [rcx + rax*4], 0xfffffffe
jmp 0x14006e6be
xor eax, eax
test eax, eax
jne 0x14006e6b8
xor eax, eax
test eax, eax
jne 0x14006e6be
xor eax, eax
test eax, eax
jne 0x14006e6c4
mov rax, qword [rsp + 0x138]
mov eax, dword [rax + 0x28]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xa8]
movzx eax, byte [rax + rcx]
and eax, 8
test eax, eax
je 0x14006e877
movsxd rax, dword [rsp + 0xa8]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x48], rax
movsxd rax, dword [rsp + 0xa8]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
mov qword [rcx + rax], 0
xor eax, eax
test eax, eax
jne 0x14006e723
xor eax, eax
test eax, eax
jne 0x14006e749
cmp qword [rsp + 0x48], 0
je 0x14006e7b3
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
xor eax, eax
test eax, eax
jne 0x14006e761
xor eax, eax
test eax, eax
jne 0x14006e767
xor eax, eax
test eax, eax
jne 0x14006e76d
xor eax, eax
cmp eax, 1
je 0x14006e7ad
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 4]
dec eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x34]
mov dword [rax + 4], ecx
cmp dword [rsp + 0x34], 0
jne 0x14006e7ad
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x130]
call fcn.140065360
xor eax, eax
test eax, eax
jne 0x14006e757
xor eax, eax
test eax, eax
jne 0x14006e74f
movsxd rax, dword [rsp + 0xa8]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x48], rax
movsxd rax, dword [rsp + 0xa8]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
mov qword [rcx + rax + 8], 0
xor eax, eax
test eax, eax
jne 0x14006e7db
xor eax, eax
test eax, eax
jne 0x14006e802
cmp qword [rsp + 0x48], 0
je 0x14006e86c
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x70], rax
xor eax, eax
test eax, eax
jne 0x14006e81a
xor eax, eax
test eax, eax
jne 0x14006e820
xor eax, eax
test eax, eax
jne 0x14006e826
xor eax, eax
cmp eax, 1
je 0x14006e866
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 4]
dec eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x38]
mov dword [rax + 4], ecx
cmp dword [rsp + 0x38], 0
jne 0x14006e866
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x130]
call fcn.140065360
xor eax, eax
test eax, eax
jne 0x14006e810
xor eax, eax
test eax, eax
jne 0x14006e808
jmp 0x14006e988
movsxd rax, dword [rsp + 0xa8]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x100]
mov rdi, rax
mov rsi, qword [rsp + 0xc8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
xor eax, eax
test eax, eax
jne 0x14006e8a7
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
mov dword [rax], 2
xor eax, eax
test eax, eax
jne 0x14006e8c7
lea rax, [rsp + 0x100]
mov qword [rsp + 0xd0], rax
xor eax, eax
test eax, eax
jne 0x14006e8fb
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
and eax, 8
test eax, eax
je 0x14006e974
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x80], rax
xor eax, eax
test eax, eax
jne 0x14006e926
xor eax, eax
test eax, eax
jne 0x14006e92c
xor eax, eax
test eax, eax
jne 0x14006e932
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
dec eax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x3c]
mov dword [rax + 4], ecx
cmp dword [rsp + 0x3c], 0
jne 0x14006e974
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x130]
call fcn.1400652a0
xor eax, eax
test eax, eax
jne 0x14006e8eb
xor eax, eax
test eax, eax
jne 0x14006e89a
xor eax, eax
test eax, eax
jne 0x14006e988
xor eax, eax
test eax, eax
jne 0x14006e98e
xor eax, eax
test eax, eax
jne 0x14006e994
mov rax, qword [rsp + 0x138]
mov eax, dword [rax + 0x28]
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x138]
add rax, qword [rcx + 0x18]
movsxd rcx, dword [rsp + 0xa8]
mov qword [rax + rcx*8], 0
xor eax, eax
test eax, eax
jne 0x14006e99a
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x88], rax
xor eax, eax
test eax, eax
jne 0x14006e9db
xor eax, eax
test eax, eax
jne 0x14006e9e1
xor eax, eax
test eax, eax
jne 0x14006e9e7
xor eax, eax
cmp eax, 1
je 0x14006ea30
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
dec eax
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 4], ecx
cmp dword [rsp + 0x40], 0
jne 0x14006ea30
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x130]
call fcn.1400652d0
xor eax, eax
test eax, eax
jne 0x14006e9cb
mov rcx, qword [rsp + 0x130]
call fcn.140064ea0
xor eax, eax
test eax, eax
jne 0x14006ea36
jmp 0x14006ea51
xor eax, eax
test eax, eax
jne 0x14006ea51
cmp dword [rsp + 0x44], 0xffffffff
je 0x14006ea9c
mov rax, qword [rsp + 0x138]
mov eax, dword [rax]
and eax, 0x1000000
test eax, eax
je 0x14006ea9c
xor eax, eax
test eax, eax
jne 0x14006ea71
lea r9, [rsp + 0x90]
mov r8, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
call fcn.14006a170
xor eax, eax
test eax, eax
jne 0x14006ea9c
mov eax, 1
jmp 0x14006eb0f
xor eax, eax
test eax, eax
jne 0x14006eaa9
cmp dword [rsp + 0x54], 0
je 0x14006eb0d
mov dword [rsp + 0x58], 6
mov dword [rsp + 0x5c], 0x1198
xor eax, eax
test eax, eax
jne 0x14006eac6
xor eax, eax
test eax, eax
jne 0x14006eacc
mov eax, dword [rsp + 0x58]
shl eax, 0x18
or eax, dword [rsp + 0x5c]
lea r9, [0x140334980]
mov r8d, eax
lea rdx, [0x140334968]
mov rcx, qword [rsp + 0x130]
call fcn.14002cc10
xor eax, eax
test eax, eax
jne 0x14006eab6
xor eax, eax
test eax, eax
jne 0x14006eab6
xor eax, eax
test eax, eax
jne 0x14006eb07
xor eax, eax
add rsp, 0x118
pop rdi
pop rsi
ret