Function at 0x1402e7670
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 [0x14040b018]
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 0x1402e7796
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 0x1402e7737
test qword [r15], r8
je 0x1402e7747
inc r10d
add r15, 0x38
cmp r10d, dword [r12 + 0x14]
jl 0x1402e7719
jmp 0x1402e7796
movzx edi, word [r15 - 0x14]
test edi, 0xf7ff
je 0x1402e7737
mov edi, r11d
and edi, 0x80
test di, di
jne 0x1402e7737
mov bl, byte [r9 - 8]
test bl, 0x58
je 0x1402e7789
mov r14, qword [r15 - 0x28]
mov edi, dword [r14 + 4]
test dil, 3
je 0x1402e7737
cmp dword [r14 + 0x34], esi
jne 0x1402e7737
test bl, 0x18
je 0x1402e7789
and edi, 2
jne 0x1402e7737
inc ebp
or r11d, 0x40
mov word [r15 - 0x16], r11w
jmp 0x1402e7737
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 0x1402e79a8
mov rdx, qword [rsp + 0x48]
mov edi, dword [rdx]
xor ebp, ebp
mov r12d, 0
test edi, edi
jle 0x1402e797d
add rax, rcx
add rax, 0x4c
mov qword [rsp + 0x50], rax
xor r12d, r12d
movaps xmm6, xmmword [0x1403df810]
lea r14, [0x1402c7d60]
lea rsi, [0x1402c7ee0]
lea rbx, [0x1403f1500]
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 0x1402e796f
lea rcx, [rsp + 0xa0]
mov rdx, r15
call fcn.1402c7ef0
cmp word [rsp + 0xc4], 0
jne 0x1402e796f
mov rax, qword [rsp + 0x48]
test byte [rax + r13 + 0x18], 2
jne 0x1402e797d
movzx eax, byte [r15]
cmp eax, 0x67
je 0x1402e78b5
cmp eax, 0x9a
jne 0x1402e797d
mov eax, dword [r15 + 0x2c]
mov rcx, qword [rsp + 0x50]
cmp eax, dword [rcx]
je 0x1402e796f
jmp 0x1402e797d
mov rax, qword [r15 + 0x10]
cmp byte [rax], 0x9a
jne 0x1402e797d
mov ecx, dword [rax + 0x2c]
mov rdx, qword [rsp + 0x50]
cmp ecx, dword [rdx]
jne 0x1402e797d
movzx ecx, word [rax + 0x30]
mov word [r15 + 0x30], cx
movzx eax, word [rax + 0x30]
test ax, ax
js 0x1402e796f
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 0x1402e7907
xor eax, eax
jmp 0x1402e7931
mov rcx, qword [rcx + rdx*8]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1402e790e
test al, 4
jne 0x1402e7921
mov rax, rcx
jmp 0x1402e792e
lea rax, [rcx + 1]
cmp byte [rcx + 1], 0
mov rcx, rax
jne 0x1402e7921
inc rax
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1402e797d
test rax, rax
lea rdx, [0x1403f1780]
cmove rax, rdx
xor edx, edx
movzx r8d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
cmp r8b, r9b
jne 0x1402e7960
test r8, r8
jne 0x1402e796a
jmp 0x1402e796f
mov r8b, byte [r8 + rbx]
cmp r8b, byte [r9 + rbx]
jne 0x1402e797d
inc rdx
jmp 0x1402e794a
inc r12
cmp r12, rdi
jne 0x1402e7804
jmp 0x1402e7987
mov esi, 0
cmp r12d, edi
jne 0x1402e79a8
mov rax, qword [rsp + 0x70]
movzx esi, word [rax + 0x3c]
test sil, sil
js 0x1402e799d
shr esi, 6
and esi, 1
jmp 0x1402e79a6
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 0x1402e79f0
cmp byte [rcx + 0x67], 0
jne 0x1402e7b92
mov rdx, r15
call fcn.140252670
jmp 0x1402e79f8
mov rcx, r15
call fcn.140247f50
mov r14, rax
test rax, rax
je 0x1402e7b92
xor ebx, ebx
mov rcx, r14
xor edx, edx
mov r8, r15
call fcn.1403369a0
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 0x1402e7bab
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 0x1402e7b42
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 0x1402e7ad2
cmp word [rdx - 0xe], 0
js 0x1402e7aca
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 0x1402e7b3c
lea r10, [rax + r10*4]
add r10, 4
cmp r11w, 0x40
jne 0x1402e7aea
mov r11b, byte [rdx - 9]
mov byte [r10], r11b
jmp 0x1402e7b3c
test r11d, 0x180
je 0x1402e7b06
movzx r11d, r11w
cmp r11d, 0x100
jne 0x1402e7b38
mov byte [r10], 0x47
jmp 0x1402e7b3c
mov byte [r10], sil
test r11b, 0x3c
je 0x1402e7b3c
mov rsi, qword [rdx - 0x20]
mov rsi, qword [rsi + 0x18]
mov dil, byte [rsi]
cmp dil, 0xa3
jne 0x1402e7b24
mov dil, byte [rsi + 2]
cmp dil, 0x80
je 0x1402e7b54
movzx edi, dil
cmp edi, 0xa4
je 0x1402e7b58
jmp 0x1402e7b3c
mov byte [r10], 0x48
inc ecx
mov r10d, dword [r15 + 0x14]
inc r9d
add rdx, 0x38
cmp r9d, r10d
jl 0x1402e7a7d
jmp 0x1402e7bb0
mov rsi, qword [rsi + 0x20]
add rsi, 0x20
mov rsi, qword [rsi]
cmp dword [rsi], 2
jl 0x1402e7b3c
mov esi, 1
shl esi, cl
cmp ecx, 0x10
cmovge esi, r8d
or r12d, esi
cmp r11w, 4
je 0x1402e7b8c
movzx r11d, r11w
cmp r11d, 0x10
jne 0x1402e7b3c
mov byte [r10], 8
jmp 0x1402e7b3c
mov byte [r10], 0x20
jmp 0x1402e7b3c
lea rdx, str.out_of_memory
mov rcx, rbp
call fcn.14024dbb0
mov ebp, 7
jmp 0x1402e810f
xor ecx, ecx
xor r12d, r12d
mov dword [rsp + 0x50], r12d
mov dword [r14], ecx
test r13d, r13d
jle 0x1402e7c7a
mov esi, r13d
shl rsi, 5
xor edi, edi
movaps xmm6, xmmword [0x1403df810]
lea rbp, [0x1402c7d60]
lea r13, [0x1402c7ee0]
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 0x1402e7c6d
mov rcx, r15
mov rdx, r12
call fcn.1402c7ef0
cmp word [rsp + 0xc4], 0
jne 0x1402e7c6d
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 0x1402e7be9
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 0x1402e7d7e
mov rdi, qword [rsp + 0x78]
mov r15, qword [rdi]
cmp byte [r15 + 0x67], 0
je 0x1402e7d1b
test ebx, ebx
jle 0x1402e7d0b
xor edi, edi
mov rsi, qword [r14 + rdi*8 + 0x80]
test rsi, rsi
je 0x1402e7cf4
test byte [rsi + 0x15], 0x90
jne 0x1402e7cdd
cmp dword [rsi + 0x20], 0
je 0x1402e7ce5
mov rcx, rsi
call fcn.140265ac0
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.140252440
mov ebx, dword [r14]
mov qword [r14 + rdi*8 + 0x80], 0
inc rdi
movsxd rax, ebx
cmp rdi, rax
jl 0x1402e7cc4
mov rcx, r15
mov rdx, r14
call fcn.140252440
jmp 0x1402e7ba1
movsxd rsi, ebx
add rsi, 7
and rsi, 0xfffffffffffffff8
lea rdx, [rsi*8]
mov rcx, r15
call fcn.140252670
test rax, rax
je 0x1402e7e87
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.140336540
mov rdx, qword [rdi + 0x48]
lea rax, [rdi + 0x58]
cmp rdx, rax
je 0x1402e7d71
mov rcx, r15
call fcn.140252440
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.1402e8fe0
cmp dword [rsi], 0
je 0x1402e7df5
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.1402e8fe0
mov ebp, eax
test eax, eax
jne 0x1402e8027
mov rdi, r13
not rdi
mov rax, qword [rsp + 0x60]
mov r15, qword [rax]
mov eax, dword [rsp + 0x9c]
and r15, rdi
jne 0x1402e7e23
xor ebp, ebp
test eax, eax
je 0x1402e8027
test eax, eax
je 0x1402e7e92
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.1402e8fe0
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 0x1402e8027
xor ecx, ecx
mov cl, al
jmp 0x1402e7e9b
mov r15, qword [rdi]
mov ebx, dword [r14]
jmp 0x1402e7cbe
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 0x1402e7f8c
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 0x1402e7ed6
cmp rsi, 0xffffffffffffffff
je 0x1402e7f8c
xor ebp, ebp
cmp rsi, r15
je 0x1402e7f7f
cmp rsi, qword [rsp + 0x48]
je 0x1402e7f7f
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.1402e8fe0
mov ebp, eax
mov rax, qword [rsp + 0x60]
cmp qword [rax], r13
jne 0x1402e7f7f
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 0x1402e7eb1
jmp 0x1402e8027
xor ebp, ebp
cmp dword [rsp + 0x70], 0
je 0x1402e7f9b
mov ecx, dword [rsp + 0x58]
jmp 0x1402e7fe8
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.1402e8fe0
cmp dword [rsp + 0x9c], 0
mov ebp, eax
mov eax, 1
mov ecx, dword [rsp + 0x58]
cmove ecx, eax
or ecx, ebp
jne 0x1402e8027
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.1402e8fe0
mov ebp, eax
cmp dword [r14 + 0x38], 0
je 0x1402e80ac
mov rdi, qword [r14 + 0x30]
test rdi, rdi
je 0x1402e80ac
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1402e813d
mov rcx, qword [0x1404679b8]
test rcx, rcx
je 0x1402e805d
mov rax, qword [0x14041aff8]
call qword [case.0x1403339d6.0]
mov rax, qword [0x14041afb0]
mov rcx, rdi
call qword [case.0x1403339d6.0]
cdqe
sub qword [0x140467910], rax
dec qword [0x140467958]
mov rax, qword [0x14041afa0]
mov rcx, rdi
call qword [case.0x1403339d6.0]
mov rdi, qword [0x1404679b8]
test rdi, rdi
je 0x1402e80ac
lea rax, [0x14041b008]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x1403339d6.0]
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov eax, dword [r14]
test eax, eax
jle 0x1402e8104
xor ebx, ebx
mov rdi, qword [r14 + rbx*8 + 0x80]
test rdi, rdi
je 0x1402e80ed
test byte [rdi + 0x15], 0x90
jne 0x1402e80d6
cmp dword [rdi + 0x20], 0
je 0x1402e80de
mov rcx, rdi
call fcn.140265ac0
mov rcx, qword [rdi + 0x18]
mov rdx, rdi
call fcn.140252440
mov eax, dword [r14]
mov qword [r14 + rbx*8 + 0x80], 0
inc rbx
movsxd rcx, eax
cmp rbx, rcx
jl 0x1402e80bd
mov rcx, rsi
mov rdx, r14
call fcn.140252440
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.140334bf0
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, [0x14041afa0]
jmp 0x1402e80a0