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

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
mov edx, 1
mov rbx, rcx
lea r8d, [rdx + 0x2f]
call qword [rax]
mov qword [rbx + 0x208], rax
lea rcx, [0x140093bd0]
mov qword [rax], rcx
lea rcx, [0x140093660]
mov qword [rax + 8], rcx
mov rcx, rbx
mov byte [rax + 0x10], 0
add rsp, 0x20
pop rbx
jmp 0x1400ad5b0
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x58
cmp dword [rcx + 0x24], 0xca
mov rbx, rcx
mov rbp, qword [rcx + 0x208]
mov qword [rsp + 0x40], r14
je 0x1400ad5ec
mov rax, qword [rcx]
mov dword [rax + 0x28], 0x18
mov rcx, qword [rcx]
mov eax, dword [rbx + 0x24]
mov dword [rcx + 0x2c], eax
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax]
mov rax, qword [rbx + 0x218]
mov rcx, rbx
call qword [rax]
mov edx, dword [rbx + 0x40]
mov edi, 1
mov ecx, edx
sub ecx, edi
je 0x1400ad629
sub ecx, edi
je 0x1400ad622
sub ecx, edi
je 0x1400ad622
sub ecx, edi
je 0x1400ad61b
cmp ecx, edi
je 0x1400ad61b
mov ecx, dword [rbx + 0x38]
jmp 0x1400ad62b
mov ecx, 4
jmp 0x1400ad62b
mov ecx, 3
jmp 0x1400ad62b
mov ecx, edi
mov dword [rbx + 0x7c], ecx
mov eax, ecx
cmp byte [rbx + 0x62], 0
cmovne eax, edi
cmp byte [rbx + 0x60], 0
mov dword [rbx + 0x80], eax
jne 0x1400ad6b0
cmp byte [rbx + 0x16a], 0
jne 0x1400ad6b0
cmp dword [rbx + 0x3c], 3
jne 0x1400ad6b0
cmp dword [rbx + 0x38], 3
jne 0x1400ad6b0
cmp edx, 2
jne 0x1400ad6b0
cmp ecx, 3
jne 0x1400ad6b0
mov rax, qword [rbx + 0x120]
cmp dword [rax + 8], edx
jne 0x1400ad6b0
cmp dword [rax + 0x68], edi
jne 0x1400ad6b0
cmp dword [rax + 0xc8], edi
jne 0x1400ad6b0
cmp dword [rax + 0xc], edx
jg 0x1400ad6b0
cmp dword [rax + 0x6c], edi
jne 0x1400ad6b0
cmp dword [rax + 0xcc], edi
jne 0x1400ad6b0
mov ecx, dword [rbx + 0x188]
cmp dword [rax + 0x24], ecx
jne 0x1400ad6b0
cmp dword [rax + 0x84], ecx
jne 0x1400ad6b0
cmp dword [rax + 0xe4], ecx
jne 0x1400ad6b0
mov eax, dword [rbx + 0x184]
jmp 0x1400ad6b2
mov eax, edi
mov dword [rbx + 0x84], eax
mov r8d, 0xb000
mov rax, qword [rbx + 8]
mov edx, edi
mov rcx, rbx
call qword [rax]
xor edx, edx
mov r8d, 0x2000
mov rcx, rax
lea r14, [rax + 0x2000]
mov qword [rbx + 0x190], r14
call sub.VCRUNTIME140.dll_memset
xor esi, esi
mov rcx, r14
mov eax, esi
mov edx, 0xfff
mov word [rcx], ax
lea rcx, [rcx + 2]
inc eax
cmp eax, edx
jle 0x1400ad6f3
movsx rax, dx
lea rdi, [r14 + 0x2000]
mov ecx, 0x1800
xor edx, edx
rep stosw word [rdi], ax
lea rcx, [r14 + 0x5000]
mov r8d, 0x3000
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 0x190]
lea rcx, [r14 + 0x8000]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memcpy
mov dword [rbp + 0x18], esi
cmp byte [rbx + 0x60], sil
jne 0x1400ad7ba
cmp byte [rbx + 0x16a], sil
jne 0x1400ad7ba
cmp dword [rbx + 0x3c], 3
jne 0x1400ad7ba
cmp dword [rbx + 0x38], 3
jne 0x1400ad7ba
cmp dword [rbx + 0x40], 2
jne 0x1400ad7ba
cmp dword [rbx + 0x7c], 3
jne 0x1400ad7ba
mov rax, qword [rbx + 0x120]
cmp dword [rax + 8], 2
jne 0x1400ad7ba
cmp dword [rax + 0x68], 1
jne 0x1400ad7ba
cmp dword [rax + 0xc8], 1
jne 0x1400ad7ba
cmp dword [rax + 0xc], 2
jg 0x1400ad7ba
cmp dword [rax + 0x6c], 1
jne 0x1400ad7ba
cmp dword [rax + 0xcc], 1
jne 0x1400ad7ba
mov ecx, dword [rbx + 0x188]
cmp dword [rax + 0x24], ecx
jne 0x1400ad7ba
cmp dword [rax + 0x84], ecx
jne 0x1400ad7ba
cmp dword [rax + 0xe4], ecx
jne 0x1400ad7ba
mov al, 1
jmp 0x1400ad7bc
xor al, al
mov qword [rsp + 0x50], r12
mov byte [rbp + 0x1c], al
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], rsi
movzx ecx, byte [rbx + 0x62]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], r15
test cl, cl
je 0x1400ad829
cmp byte [rbx + 0x58], sil
lea r14, [rbx + 0x58]
je 0x1400ad829
lea rdx, [rbx + 0x72]
lea rax, [rbx + 0x71]
mov qword [rsp + 0x28], rdx
lea rdi, [rbx + 0x70]
mov qword [rsp + 0x20], rax
mov r13, rdx
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rdx
mov r15, rax
mov qword [rsp + 0x88], rdx
mov r12, rdi
mov qword [rsp + 0x80], rax
jmp 0x1400ad87a
mov byte [rbx + 0x70], sil
lea r13, [rbx + 0x72]
mov byte [rbx + 0x71], sil
lea r15, [rbx + 0x71]
mov byte [r13], sil
lea r12, [rbx + 0x70]
mov qword [rsp + 0x28], r13
mov rdi, r12
mov qword [rsp + 0x20], r15
lea r14, [rbx + 0x58]
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x80], r15
test cl, cl
je 0x1400ad923
cmp byte [rbx + 0x59], sil
je 0x1400ad892
mov rax, qword [rbx]
mov rcx, rbx
mov dword [rax + 0x28], 0x34
mov rax, qword [rbx]
call qword [rax]
cmp dword [rbx + 0x7c], 3
je 0x1400ad8bc
mov rax, qword [rsp + 0x80]
mov byte [r12], 1
mov qword [rbx + 0x90], rsi
mov byte [rax], sil
mov rax, qword [rsp + 0x88]
mov byte [rax], sil
jmp 0x1400ad8e1
cmp qword [rbx + 0x90], rsi
je 0x1400ad8cb
mov byte [r15], 1
jmp 0x1400ad8e1
cmp byte [rbx + 0x68], sil
je 0x1400ad8de
mov rax, qword [rsp + 0x90]
mov byte [rax], 1
jmp 0x1400ad8e1
mov byte [rdi], 1
cmp byte [rdi], sil
je 0x1400ad8f9
mov rcx, rbx
call fcn.1400b17f0
mov rax, qword [rbx + 0x248]
mov qword [rbp + 0x20], rax
mov rax, qword [rsp + 0x98]
cmp byte [rax], sil
jne 0x1400ad910
mov rax, qword [rsp + 0x20]
cmp byte [rax], sil
je 0x1400ad923
mov rcx, rbx
call fcn.1400b2630
mov rax, qword [rbx + 0x248]
mov qword [rbp + 0x28], rax
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x50]
cmp byte [rbx + 0x59], sil
jne 0x1400ad972
mov rcx, rbx
cmp byte [rbp + 0x1c], sil
je 0x1400ad953
call fcn.1400b3770
movzx edx, byte [r13]
mov rcx, rbx
call fcn.140097400
mov rdi, r14
jmp 0x1400ad976
call fcn.1400b0810
mov rcx, rbx
call fcn.1400b0010
movzx edx, byte [r13]
mov rcx, rbx
call fcn.140097400
mov rdi, r14
jmp 0x1400ad976
lea rdi, [rbx + 0x58]
mov r13, qword [rsp + 0x48]
cmp byte [rbx + 0x59], sil
jne 0x1400ad98e
xor edx, edx
mov rcx, rbx
call fcn.140096bc0
mov rdi, r14
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x38]
mov rax, qword [rbx + 0x228]
mov rcx, rbx
call qword [rax + 0x10]
mov rdx, qword [rbx + 0x10]
mov r14, qword [rsp + 0x40]
test rdx, rdx
je 0x1400ada08
cmp byte [rdi], sil
jne 0x1400ada08
mov rax, qword [rbx + 0x228]
cmp byte [rax + 0x20], sil
je 0x1400ada08
cmp dword [rbx + 0x17c], 1
mov ecx, dword [rbx + 0x38]
jne 0x1400ad9d7
lea ecx, [rcx + rcx*2]
add ecx, 2
mov dword [rdx + 8], esi
imul ecx, dword [rbx + 0x18c]
mov rax, qword [rbx + 0x10]
mov dword [rax + 0xc], ecx
mov rax, qword [rbx + 0x10]
mov dword [rax + 0x10], esi
mov rax, qword [rsp + 0x28]
cmp byte [rax], sil
mov rax, qword [rbx + 0x10]
setne sil
add esi, 2
mov dword [rax + 0x14], esi
inc dword [rbp + 0x18]
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret