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

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rdx, qword [0x14046a618]
xor r8d, r8d
mov rcx, qword [0x14045b410]
mov r14d, r9d
mov edx, dword [rdx + 0x38]
call fcn.140179dc0
mov r10, qword [0x14046a618]
xor ebx, ebx
cmp dword [0x14045b480], ebx
mov ebp, 1
mov rdi, rax
mov dword [rsp + 0x20], ebx
mov r15d, ebp
mov dword [rsp + 0x24], ebx
movsxd rsi, dword [r10 + 0x3c]
mov r13d, ebx
mov r12d, ebx
mov dword [rsp + 0x28], ebx
mov r9d, ebx
je 0x1402b60f8
mov eax, dword [r10 + 0x38]
cmp dword [0x14046a340], eax
jne 0x1402b61cd
mov ecx, dword [0x14046a344]
mov edx, dword [0x14046a348]
cmp ecx, esi
jne 0x1402b5f6b
cmp edx, dword [r10 + 0x40]
setl r13b
cmp ecx, esi
jne 0x1402b5f79
cmp edx, dword [r10 + 0x40]
je 0x1402b5f7c
mov r15d, ebx
mov rax, qword [0x14046a318]
cmp byte [rax], 0x65
jne 0x1402b6026
test r13d, r13d
je 0x1402b5f97
lea rcx, [r10 + 0x38]
jmp 0x1402b5fa3
test r15d, r15d
jne 0x1402b5fc1
lea rcx, [0x14046a340]
call fcn.14018e0a0
mov ecx, dword [0x14046a344]
mov r9d, ebx
mov edx, dword [0x14046a348]
mov r12d, ebp
mov r10, qword [0x14046a618]
mov eax, dword [r10 + 0x38]
cmp dword [0x14046a340], eax
jne 0x1402b5fdc
cmp ecx, dword [r10 + 0x3c]
jne 0x1402b5fdc
mov r15d, ebp
cmp edx, dword [r10 + 0x40]
je 0x1402b5fdf
mov r15d, ebx
test r13d, r13d
jne 0x1402b6026
test r15d, r15d
jne 0x1402b60f8
movsd xmm1, qword [r10 + 0x38]
mov r13d, ebp
mov ecx, dword [r10 + 0x40]
movsd xmm0, qword [0x14046a340]
movsd qword [r10 + 0x38], xmm0
mov eax, dword [0x14046a348]
mov dword [r10 + 0x40], eax
movsd qword [0x14046a340], xmm1
mov dword [0x14046a348], ecx
mov dword [rsp + 0x28], ebp
jmp 0x1402b6039
test r15d, r15d
jne 0x1402b60f8
mov dword [rsp + 0x28], r9d
test r13d, r13d
je 0x1402b6077
mov rdx, qword [0x14046a340]
shr rdx, 0x20
test edx, edx
jle 0x1402b606d
movsxd rax, edx
movzx ecx, byte [rax + rdi - 1]
cmp ecx, r14d
jne 0x1402b606d
movsxd rax, dword [r10 + 0x3c]
cmp byte [rax + rdi], 0
je 0x1402b606d
movzx eax, byte [rax + rdi + 1]
mov dword [rsp + 0x20], ebp
cmp eax, r14d
je 0x1402b6071
mov dword [rsp + 0x20], ebx
mov r8d, dword [r10 + 0x3c]
jmp 0x1402b60c1
movsxd rdx, dword [r10 + 0x3c]
mov r8, qword [0x14046a340]
test edx, edx
jle 0x1402b60b2
movzx ecx, byte [rdx + rdi - 1]
cmp ecx, r14d
jne 0x1402b60b2
mov rcx, r8
shr rcx, 0x20
movsxd rax, ecx
cmp byte [rax + rdi], bl
je 0x1402b60b2
movsxd rax, ecx
movzx ecx, byte [rax + rdi + 1]
cmp ecx, r14d
jne 0x1402b60b2
mov dword [rsp + 0x20], ebp
jmp 0x1402b60b8
xor eax, eax
mov dword [rsp + 0x20], eax
shr r8, 0x20
mov dword [rsp + 0x28], r9d
movsxd rcx, edx
movsxd rdx, r8d
cmp rcx, rdx
jg 0x1402b60f8
nop dword [rax]
movzx eax, byte [rcx + rdi]
test al, al
je 0x1402b60e5
inc rcx
cmp eax, r14d
je 0x1402b60ea
cmp rcx, rdx
jle 0x1402b60d0
mov rax, rsi
jmp 0x1402b6104
mov edx, 1
mov rax, rsi
mov dword [rsp + 0x24], edx
jmp 0x1402b6109
mov rax, rsi
test r15d, r15d
jne 0x1402b62aa
mov edx, 1
lea rcx, [rax + rdi]
movzx eax, byte [rax + rdi]
cmp eax, r14d
jne 0x1402b62ae
test r13d, r13d
je 0x1402b6223
lea ebx, [rsi + 1]
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test ecx, ecx
je 0x1402b616c
cmp ecx, r14d
je 0x1402b61e7
cmp dword [0x14045b514], 0
je 0x1402b6156
movsxd rcx, ebx
add rcx, rdi
call qword [0x140420bf8]
mov edx, 1
jmp 0x1402b6158
mov eax, edx
add ebx, eax
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test ecx, ecx
jne 0x1402b6131
mov r10, qword [0x14046a618]
cmp dword [0x14045b480], 0
je 0x1402b61cd
mov rax, qword [0x14046a318]
cmp byte [rax], 0x65
jne 0x1402b61cd
test r12d, r12d
je 0x1402b6196
lea rcx, [r10 + 0x38]
call fcn.14018d6f0
mov r10, qword [0x14046a618]
cmp dword [rsp + 0x28], 0
je 0x1402b61cd
movsd xmm1, qword [r10 + 0x38]
mov ecx, dword [r10 + 0x40]
movsd xmm0, qword [0x14046a340]
movsd qword [r10 + 0x38], xmm0
mov eax, dword [0x14046a348]
mov dword [r10 + 0x40], eax
movsd qword [0x14046a340], xmm1
mov dword [0x14046a348], ecx
xor eax, eax
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov esi, ebx
test ebx, ebx
js 0x1402b6165
mov r9, qword [0x14045b410]
lea edx, [rbx + 1]
mov r8d, r14d
mov rcx, rdi
mov r9, qword [r9 + 0x17c0]
call fcn.1402b3290
mov rdx, qword [0x14046a618]
test eax, eax
jns 0x1402b621b
mov ebx, dword [rdx + 0x3c]
cmovns esi, eax
jmp 0x1402b635a
test esi, esi
jle 0x1402b625e
nop word [rax + rax]
mov edx, esi
mov rcx, rdi
dec rdx
dec esi
add rdx, rdi
call qword [0x140421758]
sub esi, eax
movsxd rax, esi
mov edx, esi
movzx ecx, byte [rax + rdi]
cmp ecx, r14d
je 0x1402b6257
test edx, edx
jg 0x1402b6230
mov r10, qword [0x14046a618]
movsxd rax, esi
movzx ecx, byte [rax + rdi]
cmp ecx, r14d
jne 0x1402b616c
mov r9, qword [0x14045b410]
mov r8d, r14d
mov edx, esi
mov rcx, rdi
mov r9, qword [r9 + 0x17c0]
call fcn.1402b3110
movsxd rbx, eax
movzx edx, byte [rbx + rdi]
cmp edx, r14d
je 0x1402b6353
mov rdx, qword [0x14046a618]
mov ebx, esi
mov esi, dword [rdx + 0x3c]
jmp 0x1402b635a
lea rcx, [rsi + rdi]
movzx eax, byte [rcx]
cmp eax, r14d
je 0x1402b63ca
test r15d, r15d
je 0x1402b63ca
mov r9, qword [0x14045b410]
mov r8d, r14d
mov edx, esi
mov rcx, rdi
mov r9, qword [r9 + 0x17c0]
call fcn.1402b3110
movsxd rbx, eax
movzx ecx, byte [rbx + rdi]
cmp ecx, r14d
je 0x1402b632d
test ecx, ecx
je 0x1402b6165
cmp ecx, r14d
je 0x1402b6325
cmp dword [0x14045b514], 0
je 0x1402b630e
movsxd rcx, ebx
add rcx, rdi
call qword [0x140420bf8]
jmp 0x1402b6313
mov eax, 1
add ebx, eax
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test ecx, ecx
jne 0x1402b62f2
jmp 0x1402b6165
test ebx, ebx
js 0x1402b6165
mov r9, qword [0x14045b410]
lea edx, [rbx + 1]
mov r8d, r14d
mov rcx, rdi
mov r9, qword [r9 + 0x17c0]
call fcn.1402b3290
mov esi, eax
test eax, eax
js 0x1402b6165
mov rdx, qword [0x14046a618]
cmp dword [rsp + 0x80], 0
je 0x1402b64f6
movsxd rax, esi
movzx ecx, byte [rdi + rax + 1]
cmp cl, 0x20
je 0x1402b64e0
cmp cl, 9
je 0x1402b64e0
movsxd rax, ebx
test ebx, ebx
jle 0x1402b650e
mov r8d, dword [rsp + 0x24]
movzx ecx, byte [rdi + rax - 1]
cmp cl, 0x20
je 0x1402b63a5
cmp cl, 9
jne 0x1402b650e
mov ecx, dword [rsp + 0x20]
dec ebx
dec rax
mov dword [rsp + 0x24], r8d
mov dword [rsp + 0x20], ecx
test rax, rax
jg 0x1402b6392
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r8d
jmp 0x1402b6512
mov ebp, esi
test r15d, r15d
jne 0x1402b6447
test r13d, r13d
je 0x1402b6415
test eax, eax
je 0x1402b640e
nop word [rax + rax]
cmp eax, r14d
je 0x1402b6447
cmp dword [0x14045b514], 0
je 0x1402b63fc
movsxd rcx, ebp
add rcx, rdi
call qword [0x140420bf8]
jmp 0x1402b6401
mov eax, 1
add ebp, eax
movsxd rax, ebp
movzx eax, byte [rax + rdi]
test eax, eax
jne 0x1402b63e0
mov ebp, 0xffffffff
jmp 0x1402b6447
test esi, esi
jle 0x1402b6447
nop dword [rax]
mov edx, ebp
mov rcx, rdi
dec rdx
dec ebp
add rdx, rdi
call qword [0x140421758]
sub ebp, eax
movsxd rax, ebp
mov edx, ebp
movzx ecx, byte [rax + rdi]
cmp ecx, r14d
je 0x1402b6447
test edx, edx
jg 0x1402b6420
xor ebx, ebx
nop dword [rax]
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test ecx, ecx
je 0x1402b6165
nop
cmp ecx, r14d
je 0x1402b6493
cmp dword [0x14045b514], 0
je 0x1402b647c
movsxd rcx, ebx
add rcx, rdi
call qword [0x140420bf8]
jmp 0x1402b6481
mov eax, 1
add ebx, eax
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test ecx, ecx
jne 0x1402b6460
jmp 0x1402b6165
test ebx, ebx
js 0x1402b6165
cmp ebx, ebp
jg 0x1402b6165
mov r9, qword [0x14045b410]
lea edx, [rbx + 1]
mov r8d, r14d
mov rcx, rdi
mov r9, qword [r9 + 0x17c0]
call fcn.1402b3290
mov esi, eax
test eax, eax
js 0x1402b6165
cmp ebp, eax
jle 0x1402b6353
lea ebx, [rax + 1]
jmp 0x1402b6450
movzx ecx, byte [rdi + rax + 1]
cmp cl, 0x20
je 0x1402b64ef
cmp cl, 9
jne 0x1402b650e
inc esi
inc rax
jmp 0x1402b64e0
cmp dword [rsp + 0x78], 2
mov ecx, dword [rsp + 0x20]
jge 0x1402b6512
test r15d, r15d
jne 0x1402b650a
test ecx, ecx
jne 0x1402b6512
inc ebx
jmp 0x1402b6512
mov ecx, dword [rsp + 0x20]
mov r11d, dword [0x14045b480]
mov r12d, dword [rsp + 0x24]
mov dword [rdx + 0x3c], ebx
test r11d, r11d
je 0x1402b6621
test r15d, r15d
jne 0x1402b6573
test r13d, r13d
je 0x1402b663d
test r12d, r12d
jne 0x1402b663d
test ecx, ecx
jne 0x1402b6573
movsxd r8, dword [0x14046a344]
movzx ecx, byte [r8 + rdi]
cmp ecx, r14d
je 0x1402b663d
test r8d, r8d
je 0x1402b6573
lea eax, [r8 - 1]
movsxd rcx, eax
movzx eax, byte [rcx + rdi]
cmp eax, r14d
je 0x1402b663d
movsd xmm0, qword [rdx + 0x38]
mov r8, qword [0x14045b410]
mov r9d, dword [0x14045b548]
mov r10d, dword [0x14045b4f4]
mov ecx, dword [0x14045b4d4]
movsd qword [0x14046a340], xmm0
mov eax, dword [rdx + 0x40]
mov dword [0x14046a348], eax
mov rax, qword [0x14046a5e8]
test rax, rax
je 0x1402b65eb
cmp qword [rax + 8], r8
jne 0x1402b65dc
test r9d, r9d
jne 0x1402b65dc
test r10d, r10d
jne 0x1402b65dc
cmp dword [rax + 0x33c], 0x14
jge 0x1402b65dc
mov dword [rax + 0x33c], socket
cmp ecx, 0x14
jge 0x1402b65dc
lea ecx, [r9 + 0x14]
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1402b65b0
mov dword [0x14045b4d4], ecx
cmp qword [rdx + 8], r8
jne 0x1402b663d
test r9d, r9d
jne 0x1402b663d
test r10d, r10d
jne 0x1402b663d
cmp dword [rdx + 0x33c], 0x14
jge 0x1402b663d
xor ebp, ebp
mov dword [rdx + 0x33c], socket
cmp ecx, 0x14
jge 0x1402b663f
mov dword [0x14045b4d4], 0x14
jmp 0x1402b663f
mov rcx, qword [rsp + 0x70]
xor ebp, ebp
movsd xmm0, qword [rdx + 0x38]
movsd qword [rcx + 0x1c], xmm0
mov eax, dword [rdx + 0x40]
mov dword [rcx + 0x24], eax
mov dword [rcx + 8], ebp
jmp 0x1402b663f
xor ebp, ebp
cmp dword [rsp + 0x80], 0
mov dword [rdx + 0x3c], esi
jne 0x1402b6660
cmp dword [rsp + 0x78], 1
jg 0x1402b6660
mov eax, dword [rsp + 0x20]
test r15d, r15d
jne 0x1402b6688
test eax, eax
je 0x1402b6688
lea rcx, [rdx + 0x38]
call fcn.14018d6f0
mov rdx, qword [0x14046a618]
cmp eax, 2
mov r11d, dword [0x14045b480]
mov esi, 1
mov eax, dword [rsp + 0x20]
cmove ebp, esi
jmp 0x1402b668d
mov esi, 1
test r11d, r11d
je 0x1402b672e
test r15d, r15d
jne 0x1402b66f9
test r13d, r13d
jne 0x1402b66f9
test eax, eax
jne 0x1402b66ce
test r12d, r12d
jne 0x1402b66f4
movsxd r8, dword [0x14046a344]
movzx ecx, byte [r8 + rdi]
cmp ecx, r14d
je 0x1402b66f4
test cl, cl
je 0x1402b66ce
lea eax, [r8 + 1]
movsxd rcx, eax
movzx eax, byte [rcx + rdi]
cmp eax, r14d
je 0x1402b66f4
lea rcx, [rdx + 0x38]
call fcn.14018e0a0
mov rdx, qword [0x14046a618]
movsd xmm0, qword [rdx + 0x38]
movsd qword [0x14046a340], xmm0
mov eax, dword [rdx + 0x40]
mov dword [0x14046a348], eax
mov dword [rdx + 0x3c], ebx
jmp 0x1402b670e
mov rax, qword [0x14046a318]
cmp byte [rax], 0x65
je 0x1402b670e
lea rcx, [rdx + 0x38]
call fcn.14018e0a0
cmp dword [0x140421818], 0x56
jne 0x1402b6736
mov dword [0x140421818], 0x76
mov eax, esi
mov dword [0x14045b59c], esi
jmp 0x1402b61cf
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x14], ebp
mov eax, esi
jmp 0x1402b61cf