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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
xor r13d, r13d
mov rsi, rdx
mov r15, rcx
test rdx, rdx
jne 0x14005073b
mov ebp, r13d
jmp 0x140050772
movzx ecx, word [rdx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14005075b
cmp byte [rsi + 0x16], 1
jne 0x14005075b
mov rbp, qword [rsi + 8]
jmp 0x140050772
test cl, 1
je 0x140050765
mov rbp, r13
jmp 0x140050772
mov dl, 1
mov rcx, rsi
call fcn.1400c5590
mov rbp, rax
mov eax, 0x14
mov qword [rsp + 0x70], r14
add rax, rsi
mov r10, rsi
mov qword [rsp + 0x28], rax
movzx ecx, word [rax]
test cl, 2
je 0x14005079b
cmp byte [rsi + 0x16], 1
jne 0x14005079b
mov r14d, dword [rsi + 0x10]
jmp 0x1400507c7
test cl, 0x10
je 0x1400507b0
bt cx, 0xa
mov r14d, dword [rsi + 0x10]
jae 0x1400507c7
add r14d, dword [rsi]
jmp 0x1400507c7
test cl, 1
je 0x1400507ba
mov r14d, r13d
jmp 0x1400507c7
mov dl, 1
mov rcx, rsi
call fcn.1400c4d00
mov r14d, eax
mov dword [rsp + 0x20], r13d
mov r8d, 0xffffffff
mov dword [rsp + 0x78], r8d
mov rdi, r13
mov r12d, r13d
test rbp, rbp
je 0x140050b8e
nop word [rax + rax]
mov rax, qword [r15 + 0x18]
lea edx, [r13 - 0x68f72]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x140050821
cmp dword [rcx + 4], edx
jne 0x140050818
mov eax, dword [r15 + 0x20]
cmp dword [rcx], eax
je 0x140050843
test edx, edx
js 0x140050843
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140050807
mov dword [rsp + 0x20], r13d
test rdi, rdi
je 0x1400508ff
lea ecx, [r12 + 1]
mov byte [rdi + 0x32], 0
mov dword [rdi + 0x4c], ecx
mov rax, rdi
jmp 0x140050b90
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x140050821
test rdi, rdi
jne 0x1400508cc
cmp dword [rbx + 0x3c], r14d
jne 0x140050892
cmp byte [rbx + 0x37], dil
je 0x140050868
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x140050899
mov rcx, qword [rbx + 0x10]
cmp rcx, rbp
je 0x140050885
movsxd r8, r14d
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x140050892
mov byte [rbx + 0x32], 0
mov rdi, rbx
mov byte [rbx + 0x36], 0
jmp 0x1400508e0
mov eax, dword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400508cc
test eax, eax
jne 0x1400508cc
cmp dword [rbx + 0x40], r14d
jne 0x1400508cc
movsxd r8, r14d
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x1400508cc
mov byte [rbx + 0x32], al
mov rdi, rbx
mov byte [rbx + 0x36], 1
jmp 0x1400508e0
mov eax, dword [rbx + 0x4c]
cmp eax, r8d
jae 0x1400508e0
mov r8d, eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r13d
mov eax, dword [rbx + 0x4c]
cmp eax, r12d
cmovbe eax, r12d
inc r13d
mov r12d, eax
cmp r13d, 4
jl 0x1400507f0
jmp 0x140050826
mov rax, qword [rsp + 0x28]
mov edx, 0xc
movzx eax, word [rax]
lea edi, [rdx - 0xb]
test al, 0x12
setne cl
bt ax, dx
setb al
test al, cl
je 0x140050933
lea rax, [fcn.140097eb0]
cmp qword [rsi + 0x30], rax
jne 0x140050933
mov ebx, edi
xor r13d, r13d
jmp 0x140050939
xor r13d, r13d
mov ebx, r13d
lea esi, [r14 + 1]
call fcn.1400c1590
test eax, eax
jne 0x140050b5e
mov eax, r13d
test ebx, ebx
cmove eax, esi
movsxd rcx, eax
add rcx, 0x50
call fcn.14008d360
mov rdi, rax
test rax, rax
je 0x140050b59
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
test ebx, ebx
je 0x140050992
inc qword [rbp - 8]
mov qword [rax + 0x10], rbp
mov byte [rax + 0x34], 1
jmp 0x1400509a5
lea rcx, [rax + 0x50]
movsxd r8, esi
mov rdx, rbp
mov qword [rax + 0x10], rcx
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x80]
mov rcx, rdi
mov rdx, rbx
mov dword [rdi + 0x38], 1
call fcn.140050370
test eax, eax
je 0x1400509e1
test rbx, rbx
jne 0x1400509d4
mov byte [rdi + 0x32], 1
mov rax, rdi
jmp 0x140050b90
mov rcx, rdi
call fcn.140050ca0
jmp 0x140050b8e
mov esi, dword [rsp + 0x20]
lea eax, [r12 + 1]
mov dword [rdi + 0x4c], eax
add esi, 0xfff9708e
mov dword [rdi + 0x3c], r14d
mov r14, qword [r15 + 0x18]
mov rbx, qword [r14 + 0x128]
test rbx, rbx
je 0x140050a21
cmp dword [rbx + 4], esi
jne 0x140050a18
mov eax, dword [r15 + 0x20]
cmp dword [rbx], eax
je 0x140050a35
test esi, esi
js 0x140050a35
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x140050a07
mov rcx, qword [r14]
test rcx, rcx
je 0x140050a58
mov edx, 0x20
call fcn.140076b10
jmp 0x140050a62
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140050a9e
mov rcx, qword [rbx + 8]
call rax
lea rax, [fcn.140050ca0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x140050b21
mov ecx, 0x20
call fcn.14008d360
mov rbx, rax
test rax, rax
je 0x140050aaf
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov eax, dword [r15 + 0x20]
mov dword [rbx], eax
mov dword [rbx + 4], esi
mov rax, qword [r14 + 0x128]
mov qword [rbx + 0x18], rax
mov qword [r14 + 0x128], rbx
cmp dword [r15 + 0x24], 0
jne 0x140050a9e
mov dword [r15 + 0x24], 0xffffffff
lea rax, [fcn.140050ca0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x140050b21
mov eax, dword [rdi + 0x38]
cmp eax, 1
jbe 0x140050abe
dec eax
mov dword [rdi + 0x38], eax
jmp 0x140050b21
mov rcx, rdi
call fcn.140050d30
cmp dword [0x1400fe040], 0
je 0x140050b18
mov rcx, qword [0x1401017f0]
test rcx, rcx
je 0x140050ae1
call qword [0x1400fe0c0]
mov rcx, rdi
call qword [0x1400fe078]
dec qword [0x140101778]
movsxd rcx, eax
sub qword [0x140101730], rcx
mov rcx, rdi
call qword [0x1400fe068]
mov rcx, qword [0x1401017f0]
test rcx, rcx
je 0x140050b21
call qword [0x1400fe0d0]
jmp 0x140050b21
mov rcx, rdi
call qword [0x1400fe068]
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x140050b54
cmp dword [rcx + 4], esi
jne 0x140050b42
mov eax, dword [r15 + 0x20]
cmp dword [rcx], eax
je 0x140050b50
test esi, esi
js 0x140050b50
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140050b31
mov rax, r13
jmp 0x140050b90
mov r13, qword [rcx + 8]
mov rax, r13
jmp 0x140050b90
mov edi, 1
mov rax, qword [r15]
mov ecx, 0x9000
test word [rax + 0x14], cx
je 0x140050b76
mov rcx, rax
call fcn.1400c6b10
jmp 0x140050b7a
mov word [rax + 0x14], di
mov rcx, qword [r15]
mov dword [r15 + 0x24], 7
mov rcx, qword [rcx + 0x18]
call fcn.14008dfb0
xor eax, eax
mov r14, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret