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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x90
movsxd r13, r8d
mov rdi, rdx
mov r15, rcx
xor ebx, ebx
imul rsi, r13, 0x15e8
add rsi, qword [rdx + 0x80]
mov edx, 0xf8
mov eax, dword [rsi + 0x1a4]
mov dword [rsp + 0x20], ebx
mov ebp, ebx
inc eax
mov qword [rsp + 0x78], rsi
movsxd rcx, eax
call sub.msvcrt.dll_calloc
mov r12, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400d9300
movzx eax, byte [rdi + 0x10]
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x28], ebx
mov byte [r12], al
mov eax, dword [rsi + 0x1a4]
inc eax
test eax, eax
jle 0x1400d92f5
mov r11, rbx
mov qword [rsp + 0x48], rbx
nop dword [rax + rax]
mov r9d, dword [r15]
mov r8d, dword [rdi + 0x38]
imul r14, r11, 0xf8
add r14, r12
mov eax, r13d
cdq
mov qword [rsp + 0x70], r14
idiv dword [rdi + 0x48]
imul r8d, edx
mov r10d, eax
add r8d, dword [rdi + 0x30]
cmp r8d, r9d
cmovg r9d, r8d
mov dword [r14 + 0xd8], r9d
mov ecx, dword [r15 + 4]
mov eax, dword [rdi + 0x3c]
imul eax, r10d
add eax, dword [rdi + 0x34]
cmp eax, ecx
cmovg ecx, eax
lea eax, [rdx + 1]
mov edx, 0x18
mov dword [r14 + 0xdc], ecx
mov ecx, dword [r15 + 8]
imul eax, dword [rdi + 0x38]
add eax, dword [rdi + 0x30]
cmp eax, ecx
cmovl ecx, eax
lea eax, [r10 + 1]
mov dword [r14 + 0xe0], ecx
mov ecx, dword [r15 + 0xc]
imul eax, dword [rdi + 0x3c]
add eax, dword [rdi + 0x34]
cmp eax, ecx
cmovl ecx, eax
mov dword [r14 + 0xe4], ecx
mov ebx, dword [r15 + 0x10]
mov dword [r14 + 0xc8], ebx
movsxd rcx, dword [r15 + 0x10]
call sub.msvcrt.dll_calloc
mov qword [r14 + 0xd0], rax
test rax, rax
je 0x1400d92e3
xor r13d, r13d
mov dword [rsp + 0x24], r13d
test ebx, ebx
jle 0x1400d9027
xor edx, edx
xor ecx, ecx
xor r8d, r8d
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
add rcx, qword [rsi + 0x15e0]
mov rax, qword [r15 + 0x18]
mov rbx, qword [r14 + 0xd0]
mov esi, dword [rdx + rax]
add rbx, r8
mov qword [rsp + 0x40], rcx
mov dword [rbx], esi
mov rax, qword [r15 + 0x18]
mov r15d, dword [rdx + rax + 4]
mov dword [rbx + 4], r15d
movsxd rdi, dword [rcx + 4]
mov rcx, rdi
mov dword [rbx + 8], edi
shl rcx, 4
call sub.msvcrt.dll_malloc
mov qword [rbx + 0x10], rax
test rax, rax
je 0x1400d92a9
mov eax, dword [r14 + 0xd8]
dec eax
add eax, esi
cdq
idiv esi
mov r9d, eax
mov dword [rsp + 0x30], eax
lea eax, [r15 - 1]
add eax, dword [r14 + 0xdc]
cdq
idiv r15d
mov r12d, eax
mov dword [rsp + 0x2c], eax
lea eax, [rsi - 1]
add eax, dword [r14 + 0xe0]
cdq
idiv esi
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + 0xe4]
dec eax
add eax, r15d
cdq
idiv r15d
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x20]
cmp edi, eax
cmovg eax, edi
xor esi, esi
mov dword [rsp + 0x20], eax
test edi, edi
jle 0x1400d8fd3
mov r14, qword [rsp + 0x40]
xor edi, edi
lea r11, [r14 + 0x3b0]
nop word [rax + rax]
mov r8, qword [rbx + 0x10]
add r8, rdi
test byte [r14], 1
je 0x1400d8ef0
mov eax, dword [r11 - 0x84]
mov dword [r8], eax
mov eax, dword [r11]
mov dword [r8 + 4], eax
jmp 0x1400d8eff
mov dword [r8], 0xf
mov dword [r8 + 4], 0xf
mov ecx, dword [rbx + 8]
mov r13d, dword [rsp + 0x38]
lea r15d, [r12 - 1]
mov r12d, dword [rsp + 0x34]
sub ecx, esi
dec r13d
dec ecx
dec r12d
lea r10d, [r9 - 1]
mov r9d, dword [r8]
mov eax, 1
shl eax, cl
add r10d, eax
add r15d, eax
add r13d, eax
add r12d, eax
sar r15d, cl
sar r10d, cl
sar r12d, cl
sar r13d, cl
mov ecx, dword [r8 + 4]
mov eax, r15d
lea edx, [r12 - 1]
sar eax, cl
shl eax, cl
mov dword [rsp + 0x40], eax
mov eax, 1
shl eax, cl
add edx, eax
sar edx, cl
shl edx, cl
cmp r10d, r13d
jne 0x1400d8f6b
xor eax, eax
jmp 0x1400d8f8d
mov ecx, r9d
mov eax, 1
shl eax, cl
sar r10d, cl
dec eax
shl r10d, cl
add eax, r13d
sar eax, cl
shl eax, cl
sub eax, r10d
sar eax, cl
mov ecx, dword [r8 + 4]
mov dword [r8 + 8], eax
cmp r15d, r12d
jne 0x1400d8f9a
xor edx, edx
jmp 0x1400d8fa0
sub edx, dword [rsp + 0x40]
sar edx, cl
mov r9d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x2c]
mov dword [r8 + 0xc], edx
imul edx, eax
cmp edx, ebp
cmovg ebp, edx
inc esi
add r11, 4
add rdi, 0x10
cmp esi, dword [rbx + 8]
jl 0x1400d8ed0
mov r14, qword [rsp + 0x70]
mov r13d, dword [rsp + 0x24]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r15, qword [rsp + 0xd0]
inc r13d
add r8, 0x18
add rcx, 0x434
add rdx, 0x38
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x24], r13d
cmp r13d, dword [r14 + 0xc8]
jl 0x1400d8e04
mov r12, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x20]
mov dword [r14 + 0x1c], 1
mov dword [r14 + 0x18], ebp
mov eax, dword [r15 + 0x10]
xor edi, edi
imul eax, ebp
mov dword [r14 + 0x14], eax
imul eax, r13d
mov dword [r14 + 0x10], eax
cmp dword [r12 + 0xc8], edi
jle 0x1400d9108
xor ebx, ebx
nop dword [rax]
mov r10, qword [r12 + 0xd0]
xor r9d, r9d
add r10, rbx
mov r8d, dword [r10 + 8]
test r8d, r8d
jle 0x1400d90f4
xor r11d, r11d
nop word [rax + rax]
mov rdx, qword [r10 + 0x10]
mov eax, 1
mov ecx, dword [rdx + r11]
sub ecx, r9d
dec ecx
add ecx, r8d
shl eax, cl
mov ecx, dword [rdx + r11 + 4]
mov edx, 1
sub ecx, r9d
imul eax, dword [r10]
dec ecx
add ecx, r8d
shl edx, cl
mov ecx, dword [r12 + 0xf0]
imul edx, dword [r10 + 4]
test ecx, ecx
je 0x1400d90c5
cmp ecx, eax
cmovl eax, ecx
mov dword [r14 + 0xf0], eax
mov eax, dword [r12 + 0xf4]
test eax, eax
je 0x1400d90dd
cmp eax, edx
cmovl edx, eax
mov dword [r14 + 0xf4], edx
mov r8d, dword [r10 + 8]
inc r9d
add r11, 0x10
cmp r9d, r8d
jl 0x1400d9080
inc edi
add rbx, 0x18
cmp edi, dword [r12 + 0xc8]
jl 0x1400d9060
mov r11, qword [rsp + 0x48]
test r11, r11
jne 0x1400d913c
mov eax, dword [rsi + 0xc]
lea edx, [r11 + 2]
imul eax, dword [r12 + 0x10]
movsxd rcx, eax
call sub.msvcrt.dll_calloc
mov qword [r12 + 8], rax
test rax, rax
je 0x1400d92c7
mov r11, qword [rsp + 0x48]
jmp 0x1400d9147
mov rax, qword [r14 - 0xf0]
mov qword [r14 + 8], rax
cmp dword [rsi + 0x1a8], 0
mov rdi, qword [rsp + 0xd8]
je 0x1400d91e4
cmp dword [rdi], 0
jne 0x1400d916b
cmp dword [rsp + 0xe8], 1
jne 0x1400d91e4
imul rdx, r11, 0x94
xor ebx, ebx
add rdx, rsi
mov eax, dword [rdx + 0x1b0]
mov r8d, dword [rdx + 0x1b4]
mov dword [rdx + 0x1f8], eax
lea rax, [r11 + 3]
mov dword [rdx + 0x200], r8d
imul rcx, rax, 0x94
mov eax, dword [rcx + rsi]
mov dword [rdx + 0x208], eax
mov eax, dword [rdx + 0x1ac]
mov dword [rdx + 0x1f4], eax
mov eax, dword [rdx + 0x1b8]
mov dword [rdx + 0x204], eax
mov eax, dword [rdx + 0x1cc]
mov dword [rdx + 0x1d0], eax
test r11, r11
jle 0x1400d9220
mov eax, dword [rdx + 0x16c]
mov ecx, ebx
cmp r8d, eax
cmovg ecx, eax
mov dword [rdx + 0x1f0], ecx
jmp 0x1400d9220
imul rdx, r11, 0x94
add rdx, rsi
xor ebx, ebx
mov dword [rdx + 0x1f8], ebx
mov eax, dword [r15 + 0x10]
mov qword [rdx + 0x1f0], rbx
mov dword [rdx + 0x208], eax
mov dword [rdx + 0x204], r13d
mov eax, dword [rsi + 0xc]
mov dword [rdx + 0x200], eax
mov eax, dword [rsi + 8]
mov dword [rdx + 0x1d0], eax
mov r13d, dword [rsp + 0x28]
mov dword [rdx + 0x1fc], ebx
mov dword [rdx + 0x20c], ebp
mov eax, dword [r14 + 0xd8]
inc r13d
inc r11
mov dword [rdx + 0x210], eax
mov eax, dword [r14 + 0xe0]
mov dword [rsp + 0x28], r13d
mov dword [rdx + 0x214], eax
mov eax, dword [r14 + 0xdc]
mov qword [rsp + 0x48], r11
mov dword [rdx + 0x218], eax
mov eax, dword [r14 + 0xe4]
mov dword [rdx + 0x21c], eax
mov eax, dword [r14 + 0xf0]
mov dword [rdx + 0x220], eax
mov eax, dword [r14 + 0xf4]
mov dword [rdx + 0x224], eax
mov eax, dword [rsi + 0x1a4]
inc eax
cmp r13d, eax
jge 0x1400d92f5
mov r13d, dword [rsp + 0xe0]
jmp 0x1400d8d30
mov r8d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x58]
call fcn.1400d8bb0
xor eax, eax
jmp 0x1400d92f8
mov r8d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov rcx, r12
call fcn.1400d8bb0
xor eax, eax
jmp 0x1400d92f8
mov r8d, r13d
mov rdx, rdi
mov rcx, r12
call fcn.1400d8bb0
xor eax, eax
jmp 0x1400d92f8
mov rax, r12
mov r14, qword [rsp + 0x88]
add rsp, 0x90
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret