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

Disassembly:
test rcx, rcx
je 0x1400d268f
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
je 0x1400d2688
test r8, r8
je 0x1400d2688
mov edx, 0x90
mov ecx, 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
call sub.msvcrt.dll_calloc
mov qword [rbx + 0x60], rax
mov dword [rax + 0x48], 1
mov dword [rax + 0x4c], 1
mov ecx, dword [rsi + 0x48fc]
mov r14, rax
mov dword [rax], ecx
mov ecx, dword [rsi + 0x4900]
mov dword [rax + 4], ecx
mov ecx, dword [rsi + 0x4904]
mov dword [rax + 0xc], ecx
mov ecx, dword [rsi + 0x14]
mov dword [rax + 0x18], ecx
mov eax, dword [rsi + 0x18]
mov dword [r14 + 0x1c], eax
mov eax, dword [rsi + 0x1c]
mov dword [r14 + 0x20], eax
cmp qword [rsi + 0x20], 0
je 0x1400d20f8
mov eax, dword [rsi + 0x15e0]
imul eax, dword [rsi + 0x12bc]
lea eax, [rax + rax*2]
movsxd rbx, eax
shl rbx, 2
mov rcx, rbx
call sub.msvcrt.dll_malloc
mov r8, rbx
mov qword [r14 + 0x88], rax
mov rdx, qword [rsi + 0x20]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0xc]
mov dword [r14 + 0x38], eax
mov eax, dword [rsi + 0x10]
mov dword [r14 + 0x3c], eax
mov eax, dword [rsi + 4]
mov dword [r14 + 0x30], eax
mov eax, dword [rsi + 8]
mov dword [r14 + 0x34], eax
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x1400d2152
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400d2121
inc rcx
call sub.msvcrt.dll_malloc
mov qword [r14 + 0x40], rax
test rax, rax
je 0x1400d2152
mov rdx, qword [rsi + 0x28]
nop
movzx ecx, byte [rdx]
lea rax, [rax + 1]
lea rdx, [rdx + 1]
mov byte [rax - 1], cl
test cl, cl
jne 0x1400d2140
mov eax, dword [rdi + 8]
sub eax, dword [r14 + 0x30]
cmp dword [rsi], 0
je 0x1400d2185
dec eax
add eax, dword [r14 + 0x38]
cdq
idiv dword [r14 + 0x38]
mov dword [r14 + 0x48], eax
mov eax, dword [rdi + 0xc]
sub eax, dword [r14 + 0x34]
dec eax
add eax, dword [r14 + 0x3c]
cdq
idiv dword [r14 + 0x3c]
mov dword [r14 + 0x4c], eax
jmp 0x1400d2194
mov dword [r14 + 0x38], eax
mov eax, dword [rdi + 0xc]
sub eax, dword [r14 + 0x34]
mov dword [r14 + 0x3c], eax
cmp byte [rsi + 0x4908], 0
je 0x1400d21ad
movzx eax, byte [rsi + 0x4909]
mov byte [r14 + 0x10], 1
mov byte [r14 + 0x11], al
xor r8d, r8d
mov dword [r14 + 8], 0
cmp dword [rdi + 0x10], r8d
jle 0x1400d21f6
xor r9d, r9d
xor edx, edx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdi + 0x18]
inc r8d
lea rdx, [rdx + 0x38]
mov eax, dword [rdx + rcx - 0x20]
imul eax, dword [rdx + rcx - 0x2c]
imul eax, dword [rdx + rcx - 0x30]
add r9d, eax
mov dword [r14 + 8], r9d
cmp r8d, dword [rdi + 0x10]
jl 0x1400d21d0
mov ebx, dword [r14 + 0x4c]
mov edx, 0x15e8
imul ebx, dword [r14 + 0x48]
movsxd rcx, ebx
call sub.msvcrt.dll_calloc
xor r15d, r15d
mov qword [r14 + 0x80], rax
mov dword [rsp + 0x60], r15d
test ebx, ebx
jle 0x1400d267e
mov qword [rsp + 0x68], rbp
xor ecx, ecx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x30], r13
nop dword [rax]
mov rbp, qword [r14 + 0x80]
mov eax, dword [rsi + 0x12bc]
xor r8d, r8d
add rbp, rcx
mov dword [rbp + 0xc], eax
test eax, eax
jle 0x1400d22a1
mov rdx, rsi
lea rcx, [rbp + 0x144c]
sub rdx, rbp
nop word [rax + rax]
cmp dword [r14], 0
je 0x1400d2394
cmp dword [r14 + 0x20], 0
je 0x1400d2287
mov eax, dword [rcx + rdx + 4]
mov dword [rcx], eax
mov eax, dword [rcx + rdx - 0x18c]
mov dword [rcx - 0x1438], eax
inc r8d
add rcx, 4
cmp r8d, dword [rbp + 0xc]
jl 0x1400d2270
mov eax, dword [rsi + 0x30]
xor r11d, r11d
mov dword [rbp + 4], eax
mov eax, dword [rsi + 0x34]
mov dword [rbp + 8], eax
movsx eax, byte [rsi + 0x490a]
mov dword [rbp + 0x1a8], r11d
mov dword [rbp + 0x10], eax
cmp dword [rsi + 0x12b8], r11d
je 0x1400d23aa
xor r10d, r10d
mov dword [rbp + 0x1a8], 1
cmp dword [rsi + 0x12b8], r10d
jle 0x1400d2388
mov rdx, rsi
lea r9, [rsi + 0x68]
lea rcx, [rbp + 0x1b4]
sub rdx, rbp
nop dword [rax]
mov r8d, dword [r9]
lea eax, [r8 - 1]
cmp r15d, eax
je 0x1400d2312
cmp r8d, 0xffffffff
jne 0x1400d2371
mov eax, dword [rcx + rdx - 0x17c]
inc r11d
add rcx, 0x94
mov dword [rcx - 0x9c], eax
mov eax, dword [rcx + rdx - 0x20c]
mov dword [rcx - 0x98], eax
mov eax, dword [rcx + rdx - 0x208]
mov dword [rcx - 0x94], eax
mov eax, dword [rcx + rdx - 0x204]
mov dword [rcx - 0x90], eax
mov eax, dword [rcx + rdx - 0x200]
mov dword [rcx - 0x8c], eax
mov eax, dword [rcx + rdx - 0x1f0]
mov dword [rcx - 0x7c], eax
mov eax, dword [rcx + rdx - 0x1e0]
mov dword [rcx - 0x6c], eax
inc r10d
add r9, 0x94
cmp r10d, dword [rsi + 0x12b8]
jl 0x1400d2300
lea eax, [r11 - 1]
mov dword [rbp + 0x1a4], eax
jmp 0x1400d23b1
cmp dword [r14 + 0x20], 0
je 0x1400d2287
mov eax, dword [rcx + rdx + 4]
mov dword [rcx], eax
jmp 0x1400d2294
mov dword [rbp + 0x1a4], r11d
movsxd rcx, dword [rdi + 0x10]
mov edx, 0x434
call sub.msvcrt.dll_calloc
xor r15d, r15d
mov qword [rbp + 0x15e0], rax
cmp dword [rdi + 0x10], r15d
jle 0x1400d263f
xor r13d, r13d
xor r12d, r12d
nop dword [rax]
mov r10, qword [rbp + 0x15e0]
mov eax, dword [rsi + 0x30]
xor ecx, ecx
and eax, 1
add r10, r12
mov dword [r10], eax
mov eax, dword [rsi + 0x15e0]
mov dword [r10 + 4], eax
mov eax, dword [rsi + 0x15e4]
cmp eax, 1
jle 0x1400d2419
nop word [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400d2410
mov dword [r10 + 8], ecx
mov eax, dword [rsi + 0x15e8]
xor ecx, ecx
cmp eax, 1
jle 0x1400d2439
nop word [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400d2430
mov dword [r10 + 0xc], ecx
mov eax, dword [rsi + 0x15ec]
mov dword [r10 + 0x10], eax
xor eax, eax
cmp dword [rsi + 0x15f0], eax
sete al
mov dword [r10 + 0x14], eax
mov eax, dword [rsi + 0x15f0]
mov dword [r10 + 0x324], 2
neg eax
sbb ecx, ecx
and ecx, 2
mov dword [r10 + 0x18], ecx
cmp r15d, dword [rsi + 0x15f4]
jne 0x1400d248a
mov eax, dword [rsi + 0x15f8]
mov dword [r10 + 0x328], eax
jmp 0x1400d2495
mov dword [r10 + 0x328], 0
cmp dword [rsi + 0x48fc], 0
je 0x1400d24f1
mov ecx, 1
mov dword [r10 + 0x32c], 7
mov dword [r10 + 0x3b0], 7
cmp dword [r10 + 4], ecx
jle 0x1400d2616
lea rax, [r10 + 0x3b4]
nop word [rax + rax]
mov dword [rax - 0x84], 8
mov dword [rax], 8
inc ecx
lea rax, [rax + 4]
cmp ecx, dword [r10 + 4]
jl 0x1400d24d0
jmp 0x1400d2616
test byte [rsi + 0x30], 1
je 0x1400d2690
mov eax, dword [r10 + 4]
xor ebx, ebx
dec eax
movsxd rdi, eax
js 0x1400d2611
lea r9, [rdi + 0xec]
lea r11, [rsi + 0x1684]
lea r9, [r10 + r9*4]
nop
movsxd rcx, dword [rsi + 0x15fc]
cmp ebx, ecx
jge 0x1400d258e
mov eax, dword [r11 - 0x84]
cmp eax, 1
jge 0x1400d2544
mov dword [r9 - 0x84], 1
jmp 0x1400d2560
xor ecx, ecx
cmp eax, 1
jle 0x1400d2559
nop dword [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400d2550
mov dword [r9 - 0x84], ecx
mov eax, dword [r11]
cmp eax, 1
jge 0x1400d2574
mov dword [r9], 1
jmp 0x1400d25fe
xor ecx, ecx
cmp eax, 1
jle 0x1400d2589
nop dword [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400d2580
mov dword [r9], ecx
jmp 0x1400d25fe
mov rdx, rcx
mov eax, ebx
mov r8d, dword [rsi + rdx*4 + 0x1680]
sub eax, ecx
lea ecx, [rax + 1]
mov eax, dword [rsi + rdx*4 + 0x15fc]
sar eax, cl
sar r8d, cl
cmp eax, 1
jge 0x1400d25be
mov dword [r9 - 0x84], 1
jmp 0x1400d25d5
xor ecx, ecx
cmp eax, 1
jle 0x1400d25ce
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400d25c5
mov dword [r9 - 0x84], ecx
cmp r8d, 1
jge 0x1400d25e4
mov dword [r9], 1
jmp 0x1400d25fe
xor eax, eax
cmp r8d, 1
jle 0x1400d25fb
nop dword [rax]
sar r8d, 1
inc eax
cmp r8d, 1
jg 0x1400d25f0
mov dword [r9], eax
inc ebx
add r11, 4
sub r9, 4
dec rdi
jns 0x1400d2520
mov rdi, qword [rsp + 0x70]
mov rax, qword [rdi + 0x18]
mov rcx, r10
mov edx, dword [rax + r13 + 0x18]
call fcn.1400da400
inc r15d
add r12, 0x434
add r13, 0x38
cmp r15d, dword [rdi + 0x10]
jl 0x1400d23e0
mov r15d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov eax, dword [r14 + 0x4c]
imul eax, dword [r14 + 0x48]
inc r15d
add rcx, 0x15e8
mov dword [rsp + 0x60], r15d
mov qword [rsp + 0x78], rcx
cmp r15d, eax
jl 0x1400d2240
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x68]
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x20]
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
cmp dword [r10 + 4], edx
jle 0x1400d2616
lea rax, [r10 + 0x3b0]
nop dword [rax]
nop word [rax + rax]
mov dword [rax - 0x84], 0xf
mov dword [rax], 0xf
inc edx
lea rax, [rax + 4]
cmp edx, dword [r10 + 4]
jl 0x1400d26b0
jmp 0x1400d2616