Function at 0x1402ceff0
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, 0xf8
movaps xmmword [rsp + 0xe0], xmm6
mov rax, qword [0x1403e4018]
xor rax, rsp
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0x9c], 0xaaaaaaaa
mov dword [rsp + 0x98], 0
mov r9, qword [rcx]
mov r12, qword [rcx + 8]
mov r13, qword [r9]
mov rax, qword [r9 + 8]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x60], rcx
movzx ecx, byte [rcx + 0x10]
mov qword [rsp + 0x70], r9
mov r9, qword [r9 + 0x10]
mov qword [rsp + 0x48], r9
imul rcx, rcx, 0x68
mov r9, qword [rax + rcx + 0x28]
mov qword [rsp + 0x88], r9
cmp dword [r12 + 0x14], 0
mov ebp, 0
jle 0x1402cf116
mov r15, qword [r12 + 0x20]
lea r9, [rax + rcx]
add r9, 0x4c
add r15, 0x28
xor ebp, ebp
xor r10d, r10d
movzx r11d, word [r15 - 0x16]
mov esi, r11d
and esi, 0xffffffbf
mov word [r15 - 0x16], si
mov esi, dword [r15 - 0xc]
cmp esi, dword [r9]
jne 0x1402cf0b7
test qword [r15], r8
je 0x1402cf0c7
inc r10d
add r15, 0x38
cmp r10d, dword [r12 + 0x14]
jl 0x1402cf099
jmp 0x1402cf116
movzx edi, word [r15 - 0x14]
test edi, 0xf7ff
je 0x1402cf0b7
mov edi, r11d
and edi, 0x80
test di, di
jne 0x1402cf0b7
mov bl, byte [r9 - 8]
test bl, 0x58
je 0x1402cf109
mov r14, qword [r15 - 0x28]
mov edi, dword [r14 + 4]
test dil, 3
je 0x1402cf0b7
cmp dword [r14 + 0x34], esi
jne 0x1402cf0b7
test bl, 0x18
je 0x1402cf109
and edi, 2
jne 0x1402cf0b7
inc ebp
or r11d, 0x40
mov word [r15 - 0x16], r11w
jmp 0x1402cf0b7
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x78], r13
xor ebp, ebp
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x90], rdx
mov esi, 0
cmp qword [rsp + 0x48], 0
je 0x1402cf328
mov rdx, qword [rsp + 0x48]
mov edi, dword [rdx]
xor ebp, ebp
mov r12d, 0
test edi, edi
jle 0x1402cf2fd
add rax, rcx
add rax, 0x4c
mov qword [rsp + 0x50], rax
xor r12d, r12d
movaps xmm6, xmmword [0x1403bc150]
lea r14, [0x1402af6e0]
lea rsi, [0x1402af860]
lea rbx, [0x1403cba90]
mov r13, r12
shl r13, 5
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + r13 + 8]
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
mov word [rsp + 0xc4], 1
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0xb0], rsi
mov dword [rsp + 0xc8], 0
test r15, r15
je 0x1402cf2ef
lea rcx, [rsp + 0xa0]
mov rdx, r15
call fcn.1402af870
cmp word [rsp + 0xc4], 0
jne 0x1402cf2ef
mov rax, qword [rsp + 0x48]
test byte [rax + r13 + 0x18], 2
jne 0x1402cf2fd
movzx eax, byte [r15]
cmp eax, 0x67
je 0x1402cf235
cmp eax, 0x9a
jne 0x1402cf2fd
mov eax, dword [r15 + 0x2c]
mov rcx, qword [rsp + 0x50]
cmp eax, dword [rcx]
je 0x1402cf2ef
jmp 0x1402cf2fd
mov rax, qword [r15 + 0x10]
cmp byte [rax], 0x9a
jne 0x1402cf2fd
mov ecx, dword [rax + 0x2c]
mov rdx, qword [rsp + 0x50]
cmp ecx, dword [rdx]
jne 0x1402cf2fd
movzx ecx, word [rax + 0x30]
mov word [r15 + 0x30], cx
movzx eax, word [rax + 0x30]
test ax, ax
js 0x1402cf2ef
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 8]
lea rdx, [rax + rax*2]
movzx eax, word [rcx + rdx*8 + 0x12]
bt eax, 9
jb 0x1402cf287
xor eax, eax
jmp 0x1402cf2b1
mov rcx, qword [rcx + rdx*8]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1402cf28e
test al, 4
jne 0x1402cf2a1
mov rax, rcx
jmp 0x1402cf2ae
lea rax, [rcx + 1]
cmp byte [rcx + 1], 0
mov rcx, rax
jne 0x1402cf2a1
inc rax
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1402cf2fd
test rax, rax
lea rdx, [0x1403cbd10]
cmove rax, rdx
xor edx, edx
movzx r8d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
cmp r8b, r9b
jne 0x1402cf2e0
test r8, r8
jne 0x1402cf2ea
jmp 0x1402cf2ef
mov r8b, byte [r8 + rbx]
cmp r8b, byte [r9 + rbx]
jne 0x1402cf2fd
inc rdx
jmp 0x1402cf2ca
inc r12
cmp r12, rdi
jne 0x1402cf184
jmp 0x1402cf307
mov esi, 0
cmp r12d, edi
jne 0x1402cf328
mov rax, qword [rsp + 0x70]
movzx esi, word [rax + 0x3c]
test sil, sil
js 0x1402cf31d
shr esi, 6
and esi, 1
jmp 0x1402cf326
shr esi, 9
and esi, 1
or esi, 2
mov ebp, edi
movsxd rdi, dword [rsp + 0x58]
lea rax, [rdi + rdi*4]
mov r13d, ebp
movsxd r12, ebp
lea rcx, [rdi*8]
lea rax, [rcx + rax*4]
lea r15, [rax + r12*8]
add r15, 0x88
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp]
test rcx, rcx
je 0x1402cf370
cmp byte [rcx + 0x67], 0
jne 0x1402cf512
mov rdx, r15
call fcn.140239ff0
jmp 0x1402cf378
mov rcx, r15
call fcn.14022f8d0
mov r14, rax
test rax, rax
je 0x1402cf512
xor ebx, ebx
mov rcx, r14
xor edx, edx
mov r8, r15
call fcn.14031b780
lea rcx, [r14 + rdi*8]
add rcx, 0x60
lea rax, [r14 + rdi*8 + 0x80]
lea rdx, [rdi + rdi*2]
lea rdx, [rcx + rdx*4 + 0x20]
lea rcx, [rdx + r12*8]
mov qword [r14 + 8], rax
mov qword [rsp + 0x58], rdx
mov qword [r14 + 0x18], rdx
mov qword [r14 + 0x20], rcx
mov r15, qword [rsp + 0x80]
mov qword [r14 + 0x60], r15
mov qword [r14 + 0x68], rbp
mov dword [r14 + 0x70], esi
mov dword [r14 + 0x74], 0
mov r10d, dword [r15 + 0x14]
test r10d, r10d
jle 0x1402cf52b
mov rdx, qword [r15 + 0x20]
add rdx, 0x20
xor r8d, r8d
xor r12d, r12d
xor ecx, ecx
xor r9d, r9d
test byte [rdx - 0xe], 0x40
je 0x1402cf4c2
mov r11d, dword [rdx]
movsxd r10, ecx
lea r10, [r10 + r10*2]
mov dword [rax + r10*4], r11d
mov dword [rax + r10*4 + 8], r9d
movzx esi, word [rdx - 0xc]
mov r11d, esi
and r11d, 0x3fff
cmp r11w, 1
jne 0x1402cf452
cmp word [rdx - 0xe], 0
js 0x1402cf44a
mov r11d, 1
shl r11d, cl
cmp ecx, 0x20
cmovge r11d, r8d
or dword [r14 + 0x74], r11d
mov byte [rax + r10*4 + 4], 2
jmp 0x1402cf4bc
lea r10, [rax + r10*4]
add r10, 4
cmp r11w, 0x40
jne 0x1402cf46a
mov r11b, byte [rdx - 9]
mov byte [r10], r11b
jmp 0x1402cf4bc
test r11d, 0x180
je 0x1402cf486
movzx r11d, r11w
cmp r11d, 0x100
jne 0x1402cf4b8
mov byte [r10], 0x47
jmp 0x1402cf4bc
mov byte [r10], sil
test r11b, 0x3c
je 0x1402cf4bc
mov rsi, qword [rdx - 0x20]
mov rsi, qword [rsi + 0x18]
mov dil, byte [rsi]
cmp dil, 0xa3
jne 0x1402cf4a4
mov dil, byte [rsi + 2]
cmp dil, 0x80
je 0x1402cf4d4
movzx edi, dil
cmp edi, 0xa4
je 0x1402cf4d8
jmp 0x1402cf4bc
mov byte [r10], 0x48
inc ecx
mov r10d, dword [r15 + 0x14]
inc r9d
add rdx, 0x38
cmp r9d, r10d
jl 0x1402cf3fd
jmp 0x1402cf530
mov rsi, qword [rsi + 0x20]
add rsi, 0x20
mov rsi, qword [rsi]
cmp dword [rsi], 2
jl 0x1402cf4bc
mov esi, 1
shl esi, cl
cmp ecx, 0x10
cmovge esi, r8d
or r12d, esi
cmp r11w, 4
je 0x1402cf50c
movzx r11d, r11w
cmp r11d, 0x10
jne 0x1402cf4bc
mov byte [r10], 8
jmp 0x1402cf4bc
mov byte [r10], 0x20
jmp 0x1402cf4bc
lea rdx, str.out_of_memory
mov rcx, rbp
call fcn.140235530
mov ebp, 7
jmp 0x1402cfa8f
xor ecx, ecx
xor r12d, r12d
mov dword [rsp + 0x50], r12d
mov dword [r14], ecx
test r13d, r13d
jle 0x1402cf5fa
mov esi, r13d
shl rsi, 5
xor edi, edi
movaps xmm6, xmmword [0x1403bc150]
lea rbp, [0x1402af6e0]
lea r13, [0x1402af860]
lea r15, [rsp + 0xa0]
xor ebx, ebx
mov rax, qword [rsp + 0x48]
mov r12, qword [rax + rdi + 8]
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
mov word [rsp + 0xc4], 1
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], r13
mov dword [rsp + 0xc8], 0
test r12, r12
je 0x1402cf5ed
mov rcx, r15
mov rdx, r12
call fcn.1402af870
cmp word [rsp + 0xc4], 0
jne 0x1402cf5ed
movsx eax, word [r12 + 0x30]
movsxd rbx, ebx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbx*8], eax
mov rax, qword [rsp + 0x48]
mov al, byte [rax + rdi + 0x18]
and al, 1
mov byte [rcx + rbx*8 + 4], al
inc ebx
add rdi, 0x20
cmp rsi, rdi
jne 0x1402cf569
mov dword [r14 + 0x10], ebx
xor eax, eax
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x12], ax
mov dword [rcx + 0x38], 0x400
mov word [rcx + 0x3c], ax
and byte [rcx + 0x1c], 0xfe
mov ebx, dword [r14]
movzx eax, word [rcx + 0x40]
cmp ebx, eax
mov r13, qword [rsp + 0x90]
jle 0x1402cf6fe
mov rdi, qword [rsp + 0x78]
mov r15, qword [rdi]
cmp byte [r15 + 0x67], 0
je 0x1402cf69b
test ebx, ebx
jle 0x1402cf68b
xor edi, edi
mov rsi, qword [r14 + rdi*8 + 0x80]
test rsi, rsi
je 0x1402cf674
test byte [rsi + 0x15], 0x90
jne 0x1402cf65d
cmp dword [rsi + 0x20], 0
je 0x1402cf665
mov rcx, rsi
call fcn.14024d440
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.140239dc0
mov ebx, dword [r14]
mov qword [r14 + rdi*8 + 0x80], 0
inc rdi
movsxd rax, ebx
cmp rdi, rax
jl 0x1402cf644
mov rcx, r15
mov rdx, r14
call fcn.140239dc0
jmp 0x1402cf521
movsxd rsi, ebx
add rsi, 7
and rsi, 0xfffffffffffffff8
lea rdx, [rsi*8]
mov rcx, r15
call fcn.140239ff0
test rax, rax
je 0x1402cf807
mov r12, rax
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rdi + 0x48]
movzx r8d, word [rdi + 0x40]
shl r8, 3
mov rcx, rax
call fcn.14031b320
mov rdx, qword [rdi + 0x48]
lea rax, [rdi + 0x58]
cmp rdx, rax
je 0x1402cf6f1
mov rcx, r15
call fcn.140239dc0
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x48], r12
mov word [rax + 0x40], si
lea rsi, [rsp + 0x98]
mov qword [rsp + 0x38], rsi
lea r12, [rsp + 0x9c]
mov qword [rsp + 0x30], r12
mov r15d, dword [rsp + 0x50]
mov word [rsp + 0x28], r15w
mov qword [rsp + 0x20], r14
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
mov rdx, r13
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.1402d0960
cmp dword [rsi], 0
je 0x1402cf775
mov qword [rsp + 0x30], r12
mov word [rsp + 0x28], r15w
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
mov rcx, rdi
mov rdx, r13
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.1402d0960
mov ebp, eax
test eax, eax
jne 0x1402cf9a7
mov rdi, r13
not rdi
mov rax, qword [rsp + 0x60]
mov r15, qword [rax]
mov eax, dword [rsp + 0x9c]
and r15, rdi
jne 0x1402cf7a3
xor ebp, ebp
test eax, eax
je 0x1402cf9a7
test eax, eax
je 0x1402cf812
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x50]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, 0xffffffffffffffff
mov r9w, 1
call fcn.1402d0960
mov ebp, eax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
and rax, rdi
mov qword [rsp + 0x48], rax
sete al
test ebp, ebp
jne 0x1402cf9a7
xor ecx, ecx
mov cl, al
jmp 0x1402cf81b
mov r15, qword [rdi]
mov ebx, dword [r14]
jmp 0x1402cf63e
xor eax, eax
mov qword [rsp + 0x48], rax
xor ecx, ecx
lea rax, [rbx*4]
lea r12, [rax + rax*2]
xor esi, esi
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x70], ecx
test ebx, ebx
jle 0x1402cf90c
mov rax, rsi
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [r14 + 8]
mov rsi, 0xffffffffffffffff
xor r8d, r8d
mov r9, rsi
movsxd r10, dword [rdx + r8 + 8]
imul r10, r10, 0x38
mov r10, qword [rcx + r10 + 0x28]
and r10, rdi
cmp r10, rsi
cmovb rsi, r10
cmp r10, rax
cmovbe rsi, r9
add r8, 0xc
cmp r12, r8
jne 0x1402cf856
cmp rsi, 0xffffffffffffffff
je 0x1402cf90c
xor ebp, ebp
cmp rsi, r15
je 0x1402cf8ff
cmp rsi, qword [rsp + 0x48]
je 0x1402cf8ff
mov r8, rsi
or r8, r13
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x50]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x68]
mov rdx, r13
xor r9d, r9d
call fcn.1402d0960
mov ebp, eax
mov rax, qword [rsp + 0x60]
cmp qword [rax], r13
jne 0x1402cf8ff
cmp dword [rsp + 0x9c], 0
mov ecx, 1
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x70], 1
cmove eax, ecx
mov dword [rsp + 0x58], eax
test ebp, ebp
je 0x1402cf831
jmp 0x1402cf9a7
xor ebp, ebp
cmp dword [rsp + 0x70], 0
je 0x1402cf91b
mov ecx, dword [rsp + 0x58]
jmp 0x1402cf968
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x50]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, r13
xor r9d, r9d
call fcn.1402d0960
cmp dword [rsp + 0x9c], 0
mov ebp, eax
mov eax, 1
mov ecx, dword [rsp + 0x58]
cmove ecx, eax
or ecx, ebp
jne 0x1402cf9a7
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x50]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, r13
mov r9w, 1
call fcn.1402d0960
mov ebp, eax
cmp dword [r14 + 0x38], 0
je 0x1402cfa2c
mov rdi, qword [r14 + 0x30]
test rdi, rdi
je 0x1402cfa2c
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1402cfabd
mov rcx, qword [0x14043f798]
test rcx, rcx
je 0x1402cf9dd
mov rax, qword [0x1403f3978]
call qword [case.0x140318756.0]
mov rax, qword [0x1403f3930]
mov rcx, rdi
call qword [case.0x140318756.0]
cdqe
sub qword [0x14043f6f0], rax
dec qword [0x14043f738]
mov rax, qword [0x1403f3920]
mov rcx, rdi
call qword [case.0x140318756.0]
mov rdi, qword [0x14043f798]
test rdi, rdi
je 0x1402cfa2c
lea rax, [0x1403f3988]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x140318756.0]
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov eax, dword [r14]
test eax, eax
jle 0x1402cfa84
xor ebx, ebx
mov rdi, qword [r14 + rbx*8 + 0x80]
test rdi, rdi
je 0x1402cfa6d
test byte [rdi + 0x15], 0x90
jne 0x1402cfa56
cmp dword [rdi + 0x20], 0
je 0x1402cfa5e
mov rcx, rdi
call fcn.14024d440
mov rcx, qword [rdi + 0x18]
mov rdx, rdi
call fcn.140239dc0
mov eax, dword [r14]
mov qword [r14 + rbx*8 + 0x80], 0
inc rbx
movsxd rcx, eax
cmp rbx, rcx
jl 0x1402cfa3d
mov rcx, rsi
mov rdx, r14
call fcn.140239dc0
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.140319a10
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x1403f3920]
jmp 0x1402cfa20