Function at 0x1802c5540
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 rbx, rcx
mov ecx, dword [rdx + 0x34]
mov rdi, rdx
mov ebp, dword [rdx + 0x38]
mov qword [rsp + 0x30], rax
add ebp, ecx
movsx eax, word [rdx + 0x110]
mov word [rsp + 0xa0], ax
mov r13d, eax
mov dword [rsp + 0x24], eax
mov eax, dword [rdx + 0x80]
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xb0], ecx
test ecx, ecx
jne 0x1802c559f
test ebp, ebp
jle 0x1802c559f
inc ebp
mov eax, dword [rbx + 0x90]
lea ecx, [rax + rax*2]
mov eax, dword [rdx + 0x3c]
shl ecx, 3
lea rdx, [rsp + 0xb8]
sub eax, ecx
movsxd r15, ecx
add r15, qword [rbx + 0x88]
mov rcx, rbx
movsxd rsi, eax
and rsi, 0xfffffffffffffff8
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x40], rsi
call fcn.1802c3dc0
xor r9d, r9d
mov eax, 0x80
cmp byte [rdi + 0x20], r9b
je 0x1802c55ef
cmp byte [rdi + 0x21], r9b
jne 0x1802c55f2
mov eax, r9d
and dword [rbx + 0xc8], 0xffffff7f
or dword [rbx + 0xc8], eax
movzx edi, byte [rdi + 0x113]
test dil, dil
je 0x1802c572d
mov eax, 0xa
mov edx, 4
cmp ebp, eax
mov r14d, 8
mov rcx, rbx
cmovl ebp, eax
cmp dil, 2
mov dword [rsp + 0x20], ebp
cmovne edx, r14d
call fcn.1802c5cc0
cmp dil, 2
mov r15d, r14d
mov r9d, 0
mov eax, 0xc
cmovne eax, r14d
cmovne r15d, r9d
mov qword [rsp + 0x38], rax
cmp r15, rax
jae 0x1802c5728
mov r13, qword [rsp + 0x38]
lea rax, str.addr
mov r12d, r9d
mov ebp, 0x2400
mov ecx, 0xa02
nop dword [rax]
mov r14, qword [rax + r15*8]
mov rax, qword [rbx]
cmp byte [rax + 0x61], 0
jne 0x1802c5703
mov rsi, qword [rbx + 0x98]
add rsi, r12
test r14, r14
jne 0x1802c56bf
test word [rsi + 8], bp
je 0x1802c56b4
mov rcx, rsi
call fcn.1802c1ae0
xor r9d, r9d
mov ecx, 0xa02
jmp 0x1802c5703
mov eax, 1
mov word [rsi + 8], ax
jmp 0x1802c5703
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r14 + rdi], 0
jne 0x1802c56c6
btr edi, 0x1f
test word [rsi + 8], bp
jne 0x1802c56e0
cmp dword [rsi + 0x20], 0
je 0x1802c56f0
mov rcx, rsi
call fcn.1802c1b30
xor r9d, r9d
mov ecx, 0xa02
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x30], r9
mov dword [rsi + 0xc], edi
mov word [rsi + 8], cx
mov byte [rsi + 0xa], 1
inc r15
lea rax, str.addr
add r12, 0x38
cmp r15, r13
jl 0x1802c5680
mov ebp, dword [rsp + 0x20]
mov r13d, dword [rsp + 0x24]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x28]
and dword [rbx + 0xc8], 0xfffffffc
mov rcx, r9
movsxd rax, ebp
imul r14, rax, 0x38
cmp r14, rsi
jg 0x1802c574c
mov rcx, rsi
sub rcx, r14
add rcx, r15
mov r8, rsi
movsxd rax, r13d
sub r8, r14
mov qword [rbx + 0x68], rcx
cmp r14, rsi
mov rdi, r9
mov rcx, r9
cmovg r8, rsi
cmovg rdi, r14
imul r12, rax, 0x38
cmp r12, r8
jg 0x1802c577e
mov rcx, r15
sub rcx, r12
add rcx, r8
jmp 0x1802c5781
add rdi, r12
movsxd rsi, dword [rsp + 0xb8]
mov rdx, r8
sub rdx, r12
mov qword [rbx + 0x80], rcx
cmp r12, r8
mov rax, r9
cmovg rdx, r8
shl rsi, 3
cmp rsi, rdx
jg 0x1802c57b4
mov rax, r15
sub rax, rsi
add rax, rdx
jmp 0x1802c57b7
add rdi, rsi
mov rcx, rdx
mov qword [rbx + 0x70], rax
sub rcx, rsi
mov rax, r9
cmp rsi, rdx
cmovg rcx, rdx
movsxd rdx, dword [rsp + 0xb0]
mov r15, rdx
shl r15, 3
cmp r15, rcx
jg 0x1802c57ec
mov rax, rcx
sub rax, r15
add rax, qword [rsp + 0x28]
jmp 0x1802c57ef
add rdi, r15
mov qword [rbx + 0x78], rax
test rdi, rdi
je 0x1802c5894
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call fcn.18029e3c0
mov qword [rbx + 0xf8], rax
mov rcx, rax
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x61], 0
jne 0x1802c588a
mov rax, qword [rbx + 0x68]
test rax, rax
jne 0x1802c5833
cmp r14, rdi
jg 0x1802c5833
sub rdi, r14
lea rax, [rcx + rdi]
mov qword [rbx + 0x68], rax
mov rax, qword [rbx + 0x80]
test rax, rax
jne 0x1802c584f
cmp r12, rdi
jg 0x1802c584f
sub rdi, r12
lea rax, [rcx + rdi]
mov qword [rbx + 0x80], rax
mov rax, qword [rbx + 0x70]
test rax, rax
jne 0x1802c586b
cmp rsi, rdi
jg 0x1802c586b
sub rdi, rsi
lea rax, [rcx + rdi]
mov qword [rbx + 0x70], rax
mov rax, qword [rbx + 0x78]
test rax, rax
jne 0x1802c5886
cmp r15, rdi
jg 0x1802c5886
mov rax, rcx
sub rax, r15
add rax, rdi
mov qword [rbx + 0x78], rax
mov edx, dword [rsp + 0xb0]
xor r9d, r9d
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx + 0x128]
mov qword [rbx + 0xb0], rax
movzx eax, byte [rcx + 0x113]
mov qword [rcx + 0x128], r9
mov rcx, qword [rsp + 0x30]
shl eax, 2
xor eax, dword [rbx + 0xc8]
and eax, 0xc
xor dword [rbx + 0xc8], eax
cmp byte [rcx + 0x61], 0
je 0x1802c58e7
mov word [rbx + 0x20], r9w
mov qword [rbx + 0x28], 0
jmp 0x1802c5966
movzx eax, word [rsp + 0xa0]
mov word [rbx + 0x20], ax
mov rax, qword [rbx + 0x80]
mov dword [rbx + 0x2c], edx
test r13d, r13d
jle 0x1802c5927
add rax, 8
mov edx, 1
nop dword [rax + rax]
dec r13d
mov qword [rax + 0x20], rcx
mov word [rax], dx
mov dword [rax + 0x18], r9d
lea rax, [rax + 0x38]
test r13d, r13d
jg 0x1802c5910
mov rax, qword [rbx + 0x68]
mov dword [rbx + 0x28], ebp
test ebp, ebp
jle 0x1802c5955
add rax, 8
mov edx, 0x80
nop dword [rax + rax]
dec ebp
mov qword [rax + 0x20], rcx
mov word [rax], dx
mov dword [rax + 0x18], r9d
lea rax, [rax + 0x38]
test ebp, ebp
jg 0x1802c5940
mov rcx, qword [rbx + 0x78]
mov r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
mov eax, 1
mov dword [rbx + 0x24], 0x2df20da3
mov dword [rbx + 0x30], eax
mov dword [rbx + 0x34], 0xffffffff
mov qword [rbx + 0x38], 0
mov word [rbx + 0xc2], 0xff02
mov dword [rbx + 0x40], r9d
mov qword [rbx + 0x50], r9
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret