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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
xor r11d, r11d
mov rsi, rdx
mov rdi, rcx
mov ebx, r11d
mov r12d, r11d
test rdx, rdx
je 0x14031fd13
mov r14d, dword [rdx + 0x18]
mov ecx, 0x200
call fcn.140350dfc
xor r11d, r11d
mov r12, rax
test rax, rax
je 0x14031fd09
mov dword [rax], r14d
mov eax, dword [rsi + 0x18]
jmp 0x14031fd16
mov eax, 7
jmp 0x14031ff78
mov eax, dword [rcx + 0x24]
mov dword [rdi + 0x20], eax
mov al, byte [rdi + 0x10]
mov byte [rdi + 0x17], al
test rsi, rsi
jne 0x14031fd3a
cmp qword [rdi + 0x128], r11
je 0x14031fd3a
mov rcx, rdi
call fcn.14031ff90
jmp 0x14031ff78
lea r14, [rdi + 0x60]
mov r13, qword [r14]
mov qword [rbp - 0x20], r13
test rsi, rsi
je 0x14031fd98
cmp qword [rdi + 0x128], r11
jne 0x14031fd98
mov r15, qword [rsi + 8]
mov rax, qword [rsi]
test r15, r15
mov qword [r14], rax
cmove r15, r13
cmp qword [r14], r15
jge 0x14031fd8e
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r12
mov rdx, r14
mov rcx, rdi
call fcn.140320e00
xor r11d, r11d
mov ebx, eax
test eax, eax
je 0x14031fd64
test ebx, ebx
jne 0x14031fe47
jmp 0x14031fd9b
mov qword [r14], r11
mov rsi, r13
cmp qword [r14], rsi
jge 0x14031fe3f
lea rax, [rbp + 0x58]
mov dword [rbp + 0x50], r11d
lea r9, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
mov rcx, rdi
call fcn.140324e74
mov r13d, dword [rbp + 0x50]
xor r11d, r11d
mov ebx, eax
test r13d, r13d
jne 0x14031fdfe
mov eax, dword [rdi + 0xb8]
add rax, qword [rdi + 0x68]
cmp rax, qword [r14]
jne 0x14031fdfe
mov rcx, qword [rdi + 0xc8]
mov rax, rsi
sub rax, qword [r14]
add rcx, 8
cqo
idiv rcx
mov r13, rax
mov dword [rbp + 0x50], eax
mov r15d, r11d
test ebx, ebx
jne 0x14031fe3f
cmp r15d, r13d
jae 0x14031fe37
cmp qword [r14], rsi
jge 0x14031fe37
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r12
mov rdx, r14
mov rcx, rdi
call fcn.140320e00
xor r11d, r11d
inc r15d
mov ebx, eax
test eax, eax
je 0x14031fe05
test ebx, ebx
je 0x14031fd9e
mov rsi, qword [rbp + 0x48]
mov r13, qword [rbp - 0x20]
mov ecx, ebx
test rsi, rsi
je 0x14031ff67
mov rax, qword [rdi + 0xc8]
mov r15d, dword [rsi + 0x1c]
add rax, 4
mov rbx, qword [rdi + 0x128]
imul rax, r15
mov qword [rbp + 0x48], rax
test rbx, rbx
je 0x14031ff38
mov eax, dword [rbx + 0x88]
cmp dword [rsi + 0x30], eax
je 0x14031fe96
mov dword [rsi + 0x24], r11d
mov ecx, r11d
mov eax, dword [rbx + 0x88]
mov dword [rsi + 0x30], eax
jmp 0x14031fe99
mov ecx, dword [rsi + 0x24]
cmp ecx, dword [rbx + 0x58]
jae 0x14031ff2f
mov dword [rbx + 0x58], ecx
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x60], eax
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x64], eax
test ecx, ecx
je 0x14031ff2f
lea edx, [rcx + 0x1000]
mov rcx, rbx
sub rdx, 0xfdf
lea r8, [rbp - 0x18]
shr rdx, 0xc
call fcn.14037c5b8
xor r11d, r11d
test eax, eax
jne 0x14031ff2f
mov r9d, dword [rbx + 0x58]
mov r10d, 0x2000
mov rdx, qword [rbp - 0x18]
sub r9d, dword [rbp - 8]
mov r8, rdx
movzx eax, word [rdx]
cmp eax, r9d
jle 0x14031fefa
mov word [r8], r11w
add r8, 2
add rdx, 2
sub r10, 1
jne 0x14031feee
mov edx, dword [rbp - 0x18]
lea eax, [r9*4]
mov rcx, qword [rbp - 0x10]
sub edx, eax
sub edx, ecx
movsxd rax, r9d
movsxd r8, edx
xor edx, edx
lea rcx, [rcx + rax*4]
call fcn.14038afb0
xor r11d, r11d
mov r15d, dword [rsi + 0x1c]
mov ebx, r11d
jmp 0x14031ff3e
mov ebx, ecx
test ecx, ecx
jne 0x14031ff67
cmp r15d, dword [rdi + 0x3c]
jae 0x14031ff67
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8, r12
lea rdx, [rbp + 0x48]
mov rcx, rdi
call fcn.140320e00
inc r15d
mov ebx, eax
test eax, eax
je 0x14031ff3e
mov rcx, r12
call fcn.140331d1c
test ebx, ebx
jne 0x14031ff76
mov qword [r14], r13
mov eax, ebx
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret