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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov rax, qword [rdx + 0x148]
mov rbx, rcx
mov qword [rcx + 0xb0], rax
mov rsi, rdx
mov edi, dword [rdx + 0x38]
mov eax, dword [rdx + 0x90]
movsx rbp, word [rdx + 0x130]
mov qword [rdx + 0x148], 0
mov r14, qword [rcx]
mov ecx, dword [rdx + 0x34]
add edi, ecx
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x80], eax
test ecx, ecx
jne 0x14003d0ee
test edi, edi
jle 0x14003d0ee
inc edi
mov eax, dword [rbx + 0x90]
lea ecx, [rax + rax*2]
mov eax, dword [rdx + 0x3c]
shl ecx, 3
lea rdx, [rsp + 0x80]
sub eax, ecx
movsxd r13, ecx
add r13, qword [rbx + 0x88]
mov rcx, rbx
movsxd r15, eax
and r15, 0xfffffffffffffff8
call fcn.14003bbc0
cmp byte [rsi + 0x20], 0
je 0x14003d136
cmp byte [rsi + 0x21], 0
je 0x14003d136
mov eax, 0x20
xor r9d, r9d
jmp 0x14003d13c
xor r9d, r9d
mov eax, r9d
mov edx, dword [rbx + 0xc8]
and edx, 0xffffffdf
or edx, eax
mov dword [rbx + 0xc8], edx
movzx eax, byte [rsi + 0x133]
test al, al
je 0x14003d18a
mov ecx, 0xa
cmp edi, ecx
cmovl edi, ecx
shl eax, 2
xor eax, edx
and eax, 0xc
xor eax, edx
mov ecx, eax
mov edx, eax
shr ecx, 2
mov eax, 3
and cx, 3
sub ax, cx
shl ax, 2
mov word [rbx + 0xc0], ax
movsxd rax, edi
and edx, 0xfffffffc
imul r12, rax, 0x38
mov dword [rbx + 0xc8], edx
mov rax, r9
cmp r12, r15
jg 0x14003d1b0
mov rax, r13
mov rsi, r9
sub rax, r12
add rax, r15
jmp 0x14003d1b3
mov rsi, r12
mov rcx, r15
mov qword [rbx + 0x68], rax
sub rcx, r12
mov rdx, r9
cmp r12, r15
cmovg rcx, r15
imul rax, rbp, 0x38
mov qword [rsp + 0x88], rax
cmp rax, rcx
jg 0x14003d1e1
sub rcx, rax
lea rdx, [rcx + r13]
jmp 0x14003d1e4
add rsi, rax
movsxd r15, dword [rsp + 0x80]
mov rax, r9
shl r15, 3
mov qword [rbx + 0x80], rdx
cmp r15, rcx
jg 0x14003d20a
mov rax, r13
sub rax, r15
add rax, rcx
jmp 0x14003d20d
add rsi, r15
mov r8, rcx
mov qword [rbx + 0x70], rax
sub r8, r15
mov rax, r9
cmp r15, rcx
cmovg r8, rcx
movsxd rcx, dword [rsp + 0x78]
mov rdx, rcx
shl rdx, 3
mov qword [rsp + 0x80], rdx
cmp rdx, r8
jg 0x14003d245
mov rax, r13
sub rax, rdx
add rax, r8
jmp 0x14003d248
add rsi, rdx
mov qword [rbx + 0x78], rax
test rsi, rsi
je 0x14003d2fe
mov rdx, rsi
mov rcx, r14
call fcn.14000cad0
mov qword [rbx + 0x100], rax
mov rcx, rax
cmp byte [r14 + 0x67], 0
jne 0x14003d2ef
mov rax, qword [rbx + 0x68]
test rax, rax
jne 0x14003d286
cmp r12, rsi
jg 0x14003d286
sub rsi, r12
lea rax, [rsi + rcx]
mov qword [rbx + 0x68], rax
mov rax, qword [rbx + 0x80]
test rax, rax
jne 0x14003d2aa
mov rdx, qword [rsp + 0x88]
cmp rdx, rsi
jg 0x14003d2aa
sub rsi, rdx
lea rax, [rsi + rcx]
mov qword [rbx + 0x80], rax
mov rax, qword [rbx + 0x70]
test rax, rax
jne 0x14003d2c6
cmp r15, rsi
jg 0x14003d2c6
sub rsi, r15
lea rax, [rsi + rcx]
mov rdx, qword [rsp + 0x80]
mov qword [rbx + 0x70], rax
mov rax, qword [rbx + 0x78]
test rax, rax
jne 0x14003d2e9
cmp rdx, rsi
jg 0x14003d2e9
mov rax, rcx
sub rax, rdx
add rax, rsi
mov qword [rbx + 0x78], rax
jmp 0x14003d2f7
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x78]
xor r9d, r9d
cmp byte [r14 + 0x67], 0
mov esi, 1
je 0x14003d319
mov word [rbx + 0x20], r9w
mov qword [rbx + 0x24], 0
jmp 0x14003d387
mov rax, qword [rbx + 0x80]
mov dword [rbx + 0x28], ecx
mov word [rbx + 0x20], bp
test ebp, ebp
jle 0x14003d345
add rax, 0x18
nop
dec ebp
mov word [rax - 4], si
mov qword [rax], r14
mov dword [rax + 8], r9d
lea rax, [rax + 0x38]
test ebp, ebp
jg 0x14003d330
mov rax, qword [rbx + 0x68]
mov dword [rbx + 0x24], edi
test edi, edi
jle 0x14003d376
add rax, 0x18
nop dword [rax]
nop dword [rax + rax]
dec edi
mov word [rax - 4], r9w
mov qword [rax], r14
mov dword [rax + 8], r9d
lea rax, [rax + 0x38]
test edi, edi
jg 0x14003d360
mov rcx, qword [rbx + 0x78]
mov r8, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
mov byte [rbx + 0xc7], sil
mov dword [rbx + 0x30], 0xffffffff
mov dword [rbx + 0x34], r9d
mov word [rbx + 0xc4], 0xff02
mov qword [rbx + 0x38], r9
mov dword [rbx + 0x2c], esi
mov dword [rbx + 0x40], r9d
mov qword [rbx + 0x50], r9
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret