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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
movaps xmmword [rsp + 0x2a0], xmm7
movaps xmmword [rsp + 0x290], xmm6
mov ebp, r9d
mov rsi, r8
mov rbx, rcx
mov rax, qword [0x14040b018]
xor rax, rsp
mov qword [rsp + 0x288], rax
mov r14, qword [rcx + 0x98]
test r14, r14
cmove r14, rcx
mov rdi, qword [r14 + 0xa8]
test rdi, rdi
je 0x1402f34fc
cmp qword [rdi], rdx
jne 0x1402f34f6
cmp dword [rdi + 0x18], ebp
je 0x1402f37e4
mov rdi, qword [rdi + 8]
jmp 0x1402f34e3
mov qword [rsp + 0x58], rdx
mov r15, qword [rbx]
lea r13, [rsp + 0x100]
mov r8d, 0x188
mov rcx, r13
mov dl, 0xaa
call fcn.1403369a0
test r15, r15
je 0x1402f3583
cmp byte [r15 + 0x67], 0
jne 0x1402f37d8
mov edx, 0x28
mov rcx, r15
call fcn.140252670
test rax, rax
je 0x1402f37d8
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x20], 0
mov rax, qword [r14 + 0xa8]
mov qword [rdi + 8], rax
mov qword [r14 + 0xa8], rdi
cmp byte [r15 + 0x67], 0
jne 0x1402f37d0
mov edx, 0x30
mov rcx, r15
call fcn.140252670
jmp 0x1402f35c7
mov ecx, 0x28
call fcn.140247f50
test rax, rax
je 0x1402f37d8
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x20], 0
mov rax, qword [r14 + 0xa8]
mov qword [rdi + 8], rax
mov qword [r14 + 0xa8], rdi
mov ecx, 0x30
call fcn.140247f50
test rax, rax
je 0x1402f37d0
mov qword [rsp + 0x48], rsi
xorps xmm6, xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [rdi + 0x10], rax
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rdx + 0x118]
mov qword [rax + 0x28], rcx
mov qword [rsp + 0x88], rax
mov qword [rdx + 0x118], rax
mov rax, qword [rsp + 0x58]
mov qword [rdi], rax
mov dword [rdi + 0x18], ebp
mov qword [rdi + 0x1c], 0xffffffffffffffff
lea rsi, [rsp + 0x108]
xor r12d, r12d
mov r8d, 0xc8
mov rcx, rsi
xor edx, edx
call fcn.1403369a0
movups xmmword [rsi + 0x100], xmm6
movups xmmword [rsi + 0x110], xmm6
movups xmmword [rsi + 0x120], xmm6
movups xmmword [rsi + 0x130], xmm6
movups xmmword [rsi + 0x140], xmm6
movups xmmword [rsi + 0x150], xmm6
movups xmmword [rsi + 0x160], xmm6
movups xmmword [rsi + 0x170], xmm6
mov rax, qword [r15 + 0x150]
mov qword [rsi + 0xe8], rax
mov qword [r15 + 0x150], r13
mov qword [rsi - 8], r15
cmp byte [r15 + 0x67], 0
je 0x1402f36a6
lea rdx, str.out_of_memory
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.14024dbb0
mov r12, qword [rsi + 0x10]
mov rax, qword [rsp + 0x48]
movups xmmword [rsp + 0xc0], xmm6
movups xmmword [rsp + 0xb0], xmm6
movups xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x198], r14
mov r14, qword [rsp + 0x58]
mov rax, qword [r14]
mov qword [rsp + 0x258], rax
mov al, byte [r14 + 0x10]
mov byte [rsp + 0x1cc], al
mov eax, dword [rbx + 0xc0]
mov dword [rsp + 0x1c0], eax
mov al, byte [rbx + 0x25]
mov byte [rsp + 0x125], al
test r12, r12
jne 0x1402f374e
cmp qword [rsp + 0x78], 0
jne 0x1402f3735
mov rax, qword [rsp + 0x100]
test byte [rax + 0x60], 8
jne 0x1402f3735
mov byte [rsp + 0x123], 1
lea rcx, [rsp + 0x100]
call fcn.14024df00
mov r12, rax
test rax, rax
je 0x1402f3d2c
mov rdx, qword [r14 + 0x18]
test rdx, rdx
mov qword [rsp + 0x90], r12
je 0x1402f381b
xor r13d, r13d
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.1402cac70
mov rsi, rax
cmp byte [r15 + 0x67], 0
jne 0x1402f37b6
lea rcx, [rsp + 0x98]
mov rdx, rsi
call fcn.1402cc130
test eax, eax
jne 0x1402f37b6
lea rcx, [rsp + 0x100]
mov r13d, dword [rcx + 0x44]
dec r13d
mov dword [rcx + 0x44], r13d
mov rdx, rsi
mov r8d, r13d
mov r9d, reloc.WS2_32.dll_recv
call fcn.1402c6d90
test rsi, rsi
mov qword [rsp + 0x80], r13
je 0x1402f3825
mov rcx, r15
mov rdx, rsi
call fcn.14027bf30
jmp 0x1402f3825
mov qword [rdi + 0x10], 0
xor edi, edi
mov rax, qword [rbx]
mov dword [rax + 0x54], 0xffffffff
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.140334bf0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x290]
movaps xmm7, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov qword [rsp + 0x80], rax
mov r13, qword [r14 + 0x38]
test r13, r13
je 0x1402f3bc7
lea rax, [rsp + 0x100]
mov r15, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
movzx eax, bpl
mov dword [rsp + 0x48], eax
xorps xmm6, xmm6
movaps xmm7, xmmword [0x1403df810]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x40], rbx
mov r12d, dword [rsp + 0x48]
cmp ebp, 0xb
jne 0x1402f3871
movzx r12d, byte [r13 + 1]
mov byte [rsp + 0x1ce], r12b
movzx eax, byte [r13]
cmp eax, 0x75
je 0x1402f38b8
cmp eax, 0x76
je 0x1402f3925
cmp eax, 0x77
jne 0x1402f3948
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x1402f39d2
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.1402cac70
mov rsi, rax
jmp 0x1402f39d4
mov rbx, qword [r13 + 0x38]
test rbx, rbx
mov dword [rsp + 0x74], r12d
je 0x1402f38d1
cmp byte [r15 + 0x67], 0
je 0x1402f3af3
xor r12d, r12d
mov rbx, qword [rsp + 0x40]
mov rdx, qword [r13 + 0x10]
mov rcx, r15
xor r8d, r8d
call fcn.1402ca290
mov r14, rax
lea rsi, [rsp + 0x100]
mov rcx, rsi
mov rdx, r13
call fcn.1402f3d70
mov ecx, dword [rsp + 0x74]
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], 0
mov rcx, rsi
mov rdx, rax
mov r8, r14
mov r9, r12
call fcn.1402b1020
jmp 0x1402f3a8d
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x1402f3a6a
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.1402cac70
mov rsi, rax
jmp 0x1402f3a6c
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf0], rax
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm7
mov rdx, qword [r13 + 0x10]
mov rcx, r15
xor r8d, r8d
call fcn.1402ca290
mov rsi, rax
mov byte [rsp + 0xd0], 4
mov qword [rsp + 0xe8], 0
lea rax, [rsp + 0xd4]
movups xmmword [rax], xmm6
lea rcx, [rsp + 0x100]
mov rdx, rsi
lea r8, [rsp + 0xd0]
call fcn.14029fb60
test rsi, rsi
je 0x1402f3ae1
mov rcx, r15
mov rdx, rsi
mov r8d, 1
call fcn.14027c0b0
jmp 0x1402f3ae1
xor esi, esi
mov rdx, qword [r13 + 0x30]
mov rcx, r15
xor r8d, r8d
call fcn.1402ca430
mov r14, rax
lea r15, [rsp + 0x100]
mov rcx, r15
mov rdx, r13
call fcn.1402f3d70
mov dword [rsp + 0x20], r12d
mov rcx, r15
mov rdx, rax
mov r8, r14
mov r9, rsi
call fcn.1402abe60
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x1402f3a4b
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x83
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x1402f3a63
mov dword [rsp + 0x20], 0
mov edx, 0x83
xor r8d, r8d
xor r9d, r9d
call fcn.140287840
mov r15, qword [rsp + 0x68]
jmp 0x1402f3ae1
xor esi, esi
lea r14, [rsp + 0x100]
mov rcx, r14
mov rdx, r13
call fcn.1402f3d70
mov rcx, r14
mov rdx, rax
mov r8, rsi
call fcn.1402a9d70
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x1402f3ac9
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x83
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x1402f3ae1
mov dword [rsp + 0x20], 0
mov edx, 0x83
xor r8d, r8d
xor r9d, r9d
call fcn.140287840
mov r13, qword [r13 + 0x50]
test r13, r13
jne 0x1402f3862
jmp 0x1402f3bc7
movsxd rdx, dword [rbx]
shl rdx, 4
or rdx, 8
mov rcx, r15
call fcn.140252670
test rax, rax
je 0x1402f38d1
mov ecx, dword [rbx]
mov dword [rax], ecx
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
cmp dword [rbx], 0
jle 0x1402f3bba
mov r12d, reloc.WS2_32.dll_recv
xor esi, esi
mov dword [rsp + 0x3c], ebp
mov qword [rsp + 0x50], rax
mov r14, qword [rbx + r12 - 8]
test r14, r14
je 0x1402f3b64
mov rcx, r14
call fcn.14035a9d0
mov rbp, rax
inc rbp
test r15, r15
je 0x1402f3b69
cmp byte [r15 + 0x67], 0
jne 0x1402f3b89
mov rcx, r15
mov rdx, rbp
call fcn.140252670
jmp 0x1402f3b71
xor r15d, r15d
jmp 0x1402f3b95
mov rcx, rbp
call fcn.140247f50
mov r15, rax
test rax, rax
je 0x1402f3b89
mov rcx, r15
mov rdx, r14
mov r8, rbp
call fcn.140336540
jmp 0x1402f3b8c
xor r15d, r15d
mov ebp, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x50]
mov qword [rax + r12 - 8], r15
mov rcx, qword [rbx + r12]
mov qword [rax + r12], rcx
inc rsi
movsxd rcx, dword [rbx]
add r12, 0x10
cmp rsi, rcx
mov r15, qword [rsp + 0x68]
jl 0x1402f3b33
mov rbx, qword [rsp + 0x40]
mov r12, rax
jmp 0x1402f38d9
mov r8, qword [rsp + 0x80]
test r8d, r8d
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x90]
je 0x1402f3c0b
mov rcx, qword [r15 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1402f3c03
mov eax, dword [r15 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x1402f3c0b
mov rdx, r15
call fcn.1402cab40
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x1402f3c47
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x1402f3c62
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.140287840
cmp dword [rbx + 0x30], 0
mov rdx, qword [rsp + 0x108]
je 0x1402f3c87
test rdx, rdx
je 0x1402f3cde
mov rcx, qword [rsp + 0x100]
call fcn.140252440
mov eax, dword [rbx + 0x30]
jmp 0x1402f3c9f
mov qword [rbx + 8], rdx
mov eax, dword [rsp + 0x130]
mov dword [rbx + 0x30], eax
mov ecx, dword [rsp + 0x118]
mov dword [rbx + 0x18], ecx
test eax, eax
jne 0x1402f3cde
mov rdx, qword [rsp + 0x78]
add rdx, 0x88
mov rsi, qword [r15 + 0x88]
mov rcx, r15
call fcn.140287a90
mov eax, dword [r15 + 0x90]
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 8], eax
mov qword [r15 + 0x88], 0
mov qword [rcx], rsi
mov eax, dword [rsp + 0x138]
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x134]
mov dword [rcx + 0x10], eax
mov qword [rcx + 0x20], r14
mov eax, dword [rsp + 0x1c4]
mov dword [rdi + 0x1c], eax
mov eax, dword [rsp + 0x1c8]
mov dword [rdi + 0x20], eax
mov rcx, r15
call fcn.140247770
lea rcx, [rsp + 0x100]
call fcn.14024e7f0
jmp 0x1402f37da
cmp dword [rbx + 0x30], 0
mov rdx, qword [rsp + 0x108]
je 0x1402f3d4e
test rdx, rdx
je 0x1402f3d1a
mov rcx, qword [rsp + 0x100]
call fcn.140252440
jmp 0x1402f3d1a
mov qword [rbx + 8], rdx
mov eax, dword [rsp + 0x130]
mov dword [rbx + 0x30], eax
mov eax, dword [rsp + 0x118]
mov dword [rbx + 0x18], eax
jmp 0x1402f3d1a