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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rax, qword [rcx]
mov rdi, rcx
mov r15d, dword [rdx + 0x34]
mov rbp, rdx
mov esi, dword [rdx + 0x38]
mov ecx, 1
mov qword [rsp + 0x38], rax
add esi, r15d
movsx eax, word [rdx + 0x118]
mov word [rsp + 0xa0], ax
mov dword [rsp + 0xb0], eax
mov eax, dword [rdx + 0x80]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0xb8], r15d
test r15d, r15d
jne 0x140027cf5
test esi, esi
jle 0x140027cf5
add esi, ecx
mov eax, dword [rdi + 0x90]
lea ecx, [rax + rax*2]
mov eax, dword [rdx + 0x3c]
shl ecx, 3
lea rdx, [rsp + 0x30]
movsxd r13, ecx
sub eax, ecx
add r13, qword [rdi + 0x88]
mov rcx, rdi
movsxd r14, eax
mov qword [rsp + 0x48], r13
and r14, 0xfffffffffffffff8
call fcn.140026c50
xor r9d, r9d
cmp byte [rbp + 0x20], r9b
je 0x140027d3c
lea eax, [r9 + 0x40]
cmp byte [rbp + 0x21], r9b
jne 0x140027d3f
mov eax, r9d
mov ecx, dword [rdi + 0xc8]
and ecx, 0xffffffbf
or ecx, eax
mov dword [rdi + 0xc8], ecx
movzx eax, byte [rbp + 0x11b]
test al, al
je 0x140027e03
mov edx, 0xa
cmp esi, edx
cmovl esi, edx
shl eax, 2
xor eax, ecx
and eax, 0xc
xor eax, ecx
lea ecx, [rdx - 2]
lea edx, [rcx - 4]
mov dword [rdi + 0xc8], eax
mov bl, byte [rbp + 0x11b]
mov r12d, ecx
cmp bl, 2
cmovne edx, ecx
cmovne r12d, r9d
mov rcx, rdi
call fcn.140028304
mov eax, 0xc
cmp bl, 2
mov r15d, r12d
lea ecx, [rax - 4]
cmovne eax, ecx
mov qword [rsp + 0x40], rax
cmp r12, rax
jae 0x140027df8
mov ebx, r12d
lea r13d, [rcx - 7]
mov ebp, eax
and qword [rsp + 0x20], 0
lea r9, str.addr
mov r9, qword [r9 + rbx*8]
mov edx, r15d
sub edx, r12d
xor r8d, r8d
mov rcx, rdi
call fcn.1400283bc
add r15d, r13d
add rbx, r13
cmp rbx, rbp
jl 0x140027dbe
mov rbp, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x48]
mov r15d, dword [rsp + 0xb8]
xor r9d, r9d
and dword [rdi + 0xc8], 0xfffffffc
mov rdx, r9
movsxd rax, esi
imul r12, rax, 0x38
cmp r12, r14
jg 0x140027e22
mov rdx, r13
sub rdx, r12
add rdx, r14
movsxd r8, dword [rsp + 0xb0]
cmp r12, r14
mov rbx, r9
mov qword [rdi + 0x68], rdx
cmovg rbx, r12
mov rcx, r14
sub rcx, r12
mov rdx, r9
cmp r12, r14
cmovg rcx, r14
imul rax, r8, 0x38
mov qword [rsp + 0xa8], rax
cmp rax, rcx
jg 0x140027e62
sub rcx, rax
lea rdx, [rcx + r13]
jmp 0x140027e65
add rbx, rax
movsxd r14, dword [rsp + 0x30]
mov rax, r9
shl r14, 3
mov qword [rdi + 0x80], rdx
cmp r14, rcx
jg 0x140027e88
mov rax, r13
sub rax, r14
add rax, rcx
jmp 0x140027e8b
add rbx, r14
mov rdx, rcx
movsxd r15, r15d
sub rdx, r14
mov qword [rdi + 0x70], rax
cmp r14, rcx
mov rax, r9
cmovg rdx, rcx
shl r15, 3
cmp r15, rdx
jg 0x140027eb6
mov rax, r13
sub rax, r15
add rax, rdx
jmp 0x140027eb9
add rbx, r15
mov r13, qword [rsp + 0x38]
mov qword [rdi + 0x78], rax
test rbx, rbx
je 0x140027f65
mov rdx, rbx
mov rcx, r13
call fcn.1400096c8
xor r9d, r9d
mov qword [rdi + 0xf8], rax
mov rcx, rax
cmp byte [r13 + 0x61], r9b
jne 0x140027f5d
mov rax, qword [rdi + 0x68]
test rax, rax
jne 0x140027efe
cmp r12, rbx
jg 0x140027efe
sub rbx, r12
lea rax, [rcx + rbx]
mov qword [rdi + 0x68], rax
mov rax, qword [rdi + 0x80]
test rax, rax
jne 0x140027f22
mov rdx, qword [rsp + 0xa8]
cmp rdx, rbx
jg 0x140027f22
sub rbx, rdx
lea rax, [rbx + rcx]
mov qword [rdi + 0x80], rax
mov rax, qword [rdi + 0x70]
test rax, rax
jne 0x140027f3e
cmp r14, rbx
jg 0x140027f3e
sub rbx, r14
lea rax, [rbx + rcx]
mov qword [rdi + 0x70], rax
mov rax, qword [rdi + 0x78]
test rax, rax
jne 0x140027f59
cmp r15, rbx
jg 0x140027f59
mov rax, rcx
sub rax, r15
add rax, rbx
mov qword [rdi + 0x78], rax
mov r8d, dword [rsp + 0xb0]
mov rax, qword [rbp + 0x130]
mov qword [rdi + 0xb0], rax
mov qword [rbp + 0x130], r9
cmp byte [r13 + 0x61], r9b
je 0x140027f8f
and qword [rdi + 0x28], 0
mov word [rdi + 0x20], r9w
jmp 0x140028011
mov eax, dword [rsp + 0xb8]
mov ecx, 1
mov dword [rdi + 0x2c], eax
movzx eax, word [rsp + 0xa0]
mov word [rdi + 0x20], ax
mov rax, qword [rdi + 0x80]
test r8d, r8d
jle 0x140027fd1
add rax, 8
sub r8d, ecx
mov qword [rax + 0x20], r13
mov word [rax], cx
mov dword [rax + 0x18], r9d
lea rax, [rax + 0x38]
test r8d, r8d
jg 0x140027fba
mov rax, qword [rdi + 0x68]
mov dword [rdi + 0x28], esi
test esi, esi
jle 0x140027fff
add rax, 8
sub esi, ecx
mov qword [rax + 0x20], r13
mov dword [rax + 0x18], r9d
mov ecx, 0x80
mov word [rax], cx
lea rax, [rax + 0x38]
mov ecx, 1
test esi, esi
jg 0x140027fe0
mov rcx, qword [rdi + 0x78]
mov r8, r15
xor edx, edx
call qword [sym.imp.VCRUNTIME140.dll_memset]
xor r9d, r9d
or dword [rdi + 0x34], 0xffffffff
and qword [rdi + 0x38], 0
mov dword [rdi + 0x24], 0x2df20da3
mov word [rdi + 0xc2], 0xff02
mov dword [rdi + 0x30], 1
mov dword [rdi + 0x40], r9d
mov qword [rdi + 0x50], r9
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret