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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rbp, rcx
mov eax, 0xffffffff
mov word [rsp + 0x120], ax
xor ecx, ecx
mov r9d, 1
mov r10, rdx
mov esi, ecx
mov dword [rsp + 0x20], r9d
mov rdi, qword [rbp + 0x18]
mov r12, qword [rbp]
movzx eax, byte [rdi + 0x10]
mov r13, qword [r12 + 8]
imul r8, rax, 0x70
add r13, 8
add r13, r8
mov r8, qword [rbp + 8]
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x28], r8
mov r14, qword [r13 + 0x68]
mov rbx, qword [r13 + 0x20]
mov qword [rsp + 0x38], rbx
test r14, r14
jne 0x14021e5d9
test byte [rbx + 0x40], 0x80
je 0x14021e53e
mov r14, qword [rbx + 0x10]
jmp 0x14021e5d9
xorps xmm0, xmm0
lea rax, [rsp + 0x120]
movups xmmword [rsp + 0xb0], xmm0
mov byte [rsp + 0xb2], 5
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x68], rbx
movups xmmword [rsp + 0xa0], xmm0
mov dword [rsp + 0xae], 0x10001
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x24]
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movzx eax, word [rbx + 0x4c]
or dword [rsp + 0xb4], 3
mov word [rsp + 0xac], ax
movzx eax, word [rbx + 0x4a]
mov word [rsp + 0x24], ax
mov word [rsp + 0x26], cx
test byte [r13 + 0x40], r9b
jne 0x14021e5d4
mov rax, qword [r13 + 0x20]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x78], rcx
lea r14, [rsp + 0x50]
movzx eax, word [rbx + 0x4a]
movzx ecx, ax
mov word [rsp + 0x128], ax
call fcn.1401c6dd0
movzx r15d, ax
cmp qword [rbp + 0x20], rsi
jne 0x14021e74e
test byte [r12 + 0x3c], 0x20
jne 0x14021e74e
mov rax, qword [r12]
mov rcx, qword [rax]
mov eax, dword [rcx + 0x30]
bt rax, 0xf
jae 0x14021e74e
cmp qword [r13 + 0x68], rsi
jne 0x14021e74e
mov eax, dword [r13 + 0x40]
test r9b, al
jne 0x14021e74e
test byte [rbx + 0x40], 0x80
jne 0x14021e74e
test al, 0x28
jne 0x14021e74e
movsxd rbp, dword [r8 + 0x14]
mov rbx, qword [r8 + 0x20]
shl rbp, 6
add rbp, rbx
cmp rbx, rbp
jae 0x14021e734
mov rax, qword [rdi + 8]
test qword [rbx + 0x30], rax
jne 0x14021e712
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.140216c80
test eax, eax
je 0x14021e712
mov rcx, qword [rsp + 0x38]
mov eax, 1
mov word [rdi + 0x18], ax
xor edx, edx
mov dword [rdi + 0x2c], eax
mov rax, qword [rdi + 0x38]
mov qword [rdi + 0x20], rdx
mov qword [rax], rbx
movzx eax, r15w
add ax, word [rsp + 0x128]
mov word [rdi + 0x12], ax
cmp qword [rcx + 0x18], rdx
jne 0x14021e6c1
test byte [rcx + 0x40], 2
jne 0x14021e6c1
add ax, 0x1c
jmp 0x14021e6c5
sub ax, 0xa
mov word [rdi + 0x12], ax
test ax, ax
jns 0x14021e6d2
mov word [rdi + 0x12], dx
mov eax, 0x2b
movzx ecx, r15w
mov edx, eax
mov word [rdi + 0x16], ax
call fcn.1401f40a0
mov rcx, qword [rsp + 0x110]
mov rdx, rdi
mov word [rdi + 0x14], ax
mov rax, qword [rsp + 0x118]
mov dword [rdi + 0x28], 0x4000
or rax, qword [rbx + 0x30]
mov qword [rdi], rax
call fcn.14021ff40
mov esi, eax
add rbx, 0x40
test esi, esi
je 0x14021e654
mov eax, esi
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x110]
mov r8, qword [rsp + 0x28]
mov r10, qword [rsp + 0x118]
xor r15d, r15d
test r14, r14
je 0x14021e71e
movzx edx, byte [r13 + 0x3c]
mov r9, qword [r14 + 0x48]
shr edx, 5
and edx, 1
test r9, r9
je 0x14021e783
mov ecx, dword [r13 + 0x44]
call fcn.140221cc0
test eax, eax
je 0x14021e9a0
mov r10, qword [rsp + 0x118]
test dword [r14 + 0x64], 0x100
jne 0x14021e9a0
mov rax, qword [r14 + 0x10]
xor r15d, r15d
mov rdx, r14
mov rcx, rbp
movzx esi, word [rax]
mov word [rdi + 0x16], si
mov dword [rdi + 0x18], r15d
mov word [rdi + 0x1c], r15w
mov dword [rdi + 0x2c], r15d
mov byte [rdi + 0x11], r15b
mov word [rdi + 0x12], r15w
mov qword [rdi], r10
mov qword [rdi + 0x20], r14
mov r8d, dword [r13 + 0x44]
mov word [rsp + 0x128], si
call fcn.1401ce090
mov edx, dword [r14 + 0x64]
mov r9d, eax
mov ecx, edx
and ecx, 3
cmp cl, 3
jne 0x14021e803
movzx ecx, byte [rsp + 0x20]
test eax, eax
mov edx, r15d
mov dword [rdi + 0x28], SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>
cmovne edx, ecx
lea eax, [rsi + 0x10]
mov byte [rdi + 0x11], dl
jmp 0x14021e94d
test dl, 0x20
je 0x14021e812
mov r8, r15
mov eax, 0x240
jmp 0x14021e827
mov r8, qword [r14 + 0x68]
mov eax, 0x200
and r8, qword [r13 + 0x58]
mov ecx, 0x240
cmove eax, ecx
mov dword [rdi + 0x28], eax
test r9d, r9d
jne 0x14021e88f
test byte [rbx + 0x40], 0x80
jne 0x14021e88f
cmp qword [r14 + 0x48], r15
jne 0x14021e88f
test byte [r13 + 0x40], 2
jne 0x14021e88f
test r8, r8
jne 0x14021e979
test byte [r14 + 0x64], 4
jne 0x14021e979
movzx eax, word [rbx + 0x4c]
cmp word [r14 + 0x5c], ax
jge 0x14021e979
test byte [r12 + 0x3c], 4
jne 0x14021e979
cmp byte [reloc.WS2_32.dll_accept], r15b
je 0x14021e979
mov rax, qword [r12]
mov rcx, qword [rax]
test byte [rcx + 0x5c], 0x20
jne 0x14021e979
movzx eax, byte [rsp + 0x20]
test r9d, r9d
mov ecx, r15d
cmovne ecx, eax
mov byte [rdi + 0x11], cl
movsx eax, word [r14 + 0x5c]
movsx ecx, word [rbx + 0x4c]
imul eax, eax, 0xf
cdq
idiv ecx
inc ax
add ax, si
mov word [rdi + 0x14], ax
test r8, r8
je 0x14021e951
lea ebx, [rsi + 0x10]
mov eax, dword [r13 + 0x44]
mov ebp, r15d
cmp dword [r12 + 0x7c], r15d
jle 0x14021e934
mov r13d, eax
nop word [rax + rax]
mov rsi, qword [r12 + 0x88]
mov r8, r14
mov edx, r13d
mov rcx, qword [rsi + r15]
call fcn.1401eaac0
test eax, eax
je 0x14021e927
movzx eax, word [rsi + r15 + 0x10]
test ax, ax
jg 0x14021e90b
add bx, ax
jmp 0x14021e91a
dec bx
test byte [rsi + r15 + 0x14], 0x82
je 0x14021e91a
add bx, 0xffed
inc ebp
add r15, 0x40
cmp ebp, dword [r12 + 0x7c]
jl 0x14021e8e0
mov r13, qword [rsp + 0x40]
movzx esi, word [rsp + 0x128]
movzx ecx, word [rdi + 0x14]
movzx edx, bx
call fcn.1401f40a0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x110]
mov word [rdi + 0x14], ax
mov rcx, qword [rsp + 0x28]
movzx r8d, si
mov rdx, rdi
call fcn.1402200a0
mov rdx, rdi
mov rcx, rbp
call fcn.14021ff40
mov word [rdi + 0x16], si
test eax, eax
jne 0x14021e720
xor r9d, r9d
mov byte [rbp + 0x28], 0
mov r8, r14
mov rdx, r13
mov rcx, rbp
call fcn.14021e9d0
cmp byte [rbp + 0x28], 1
mov esi, eax
jne 0x14021e99d
or dword [rbx + 0x40], 0x100
xor r15d, r15d
cmp qword [r13 + 0x68], 0
je 0x14021e9ac
mov r14, r15
jmp 0x14021e9b0
mov r14, qword [r14 + 0x28]
inc dword [rsp + 0x20]
test esi, esi
jne 0x14021e71e
mov r8, qword [rsp + 0x28]
mov r10, qword [rsp + 0x118]
jmp 0x14021e751