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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x140055038]
xor rax, rsp
mov qword [rsp + 0x40], rax
cmp byte [rdx + 0x38], 0
mov rdi, rdx
mov rbx, rcx
jne 0x14001d7c0
mov byte [rdx + 0x38], 1
lea r9, [rdx + 0x3c]
add rdx, 8
lea r8, [rdi + 0x24]
call fcn.14001e9cc
test al, al
je 0x14001d7d1
mov ecx, dword [rdi + 0x30]
lea r15, [rdi + 8]
mov edx, dword [rdi + 0x24]
add ecx, edx
cmp dword [r15], ecx
jle 0x14001d7df
mov byte [rdi + 0x2cdc], 1
xor al, al
jmp 0x14001dac3
mov r10d, dword [rdi + 0x2c]
mov r13d, dword [rdi + 0x2cd8]
dec r10d
add r10d, edx
sub r13d, 0x10
cmp r10d, r13d
mov dword [rsp + 0x20], r10d
mov r11d, r13d
cmovl r11d, r10d
mov dword [rsp + 0x24], r11d
mov rdx, qword [rbx + 0xb8]
mov rcx, rbx
call fcn.14001f858
cmp qword [rbx + 0xc0], rax
mov r9, rax
mov qword [rbx + 0xb8], rax
seta cl
mov qword [rbx + 0xc0], rax
or byte [rbx + 0xc8], cl
mov ecx, dword [r15]
cmp ecx, r11d
jl 0x14001d875
cmp ecx, r10d
jg 0x14001dac1
jne 0x14001d857
mov eax, dword [rdi + 0x28]
cmp dword [rdi + 0xc], eax
jge 0x14001dac1
cmp ecx, r13d
jl 0x14001d869
cmp byte [rdi + 0x2cde], 0
je 0x14001daba
cmp ecx, dword [rdi + 0x2cd8]
jge 0x14001daba
mov rdx, qword [rbx + 0x2d90]
mov rcx, rbx
sub rdx, r9
call fcn.14001f750
cmp rax, 0x1004
ja 0x14001d8a8
call fcn.14001e208
mov rax, qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fc0], rax
jg 0x14001d7d8
lea r8, [rdi + 0x3c]
mov rdx, r15
call fcn.14001ca98
cmp eax, 0x100
jae 0x14001d8e2
mov rcx, qword [rbx + 0xb8]
mov rdx, qword [rbx + 0x2d98]
mov byte [rdx + rcx], al
inc qword [rbx + 0xb8]
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x24]
jmp 0x14001d808
cmp eax, 0x106
jb 0x14001d9f4
lea r8d, [rax - 0x106]
mov rdx, r15
call fcn.14001cb60
lea r8, [rdi + 0x928]
mov rdx, r15
mov r14d, eax
call fcn.14001ca98
mov ebp, eax
mov eax, eax
cmp ebp, 4
jae 0x14001d920
lea rsi, [rbp + 1]
jmp 0x14001d9b3
and eax, 1
shr ebp, 1
dec ebp
or rax, 2
mov ecx, ebp
shl rax, cl
lea r12, [rax + 1]
mov rsi, r12
test ebp, ebp
je 0x14001d9b3
cmp ebp, 4
jb 0x14001d992
jbe 0x14001d97c
mov rcx, r15
cmp ebp, 0x24
jbe 0x14001d959
call fcn.14001f7ac
mov rsi, rax
mov ecx, 0x44
jmp 0x14001d965
call fcn.14001f764
mov esi, eax
mov ecx, 0x24
sub ecx, ebp
lea edx, [rbp - 4]
shr rsi, cl
mov rcx, r15
call fcn.1400121a0
shl rsi, 4
add rsi, r12
lea r8, [rdi + 0x1214]
mov rdx, r15
call fcn.14001ca98
mov eax, eax
add rsi, rax
jmp 0x14001d9b3
mov rcx, r15
call fcn.14001f764
mov ecx, 0x20
mov esi, eax
sub ecx, ebp
mov edx, ebp
shr rsi, cl
mov rcx, r15
add rsi, r12
call fcn.1400121a0
cmp rsi, 0x100
jbe 0x14001d9d7
inc r14d
cmp rsi, 0x2000
jbe 0x14001d9d7
inc r14d
cmp rsi, 0x40000
jbe 0x14001d9d7
inc r14d
mov rdx, rsi
mov rcx, rbx
call fcn.14001c87c
mov dword [rbx + 0xb0], r14d
mov r8, rsi
mov edx, r14d
jmp 0x14001dab0
cmp eax, 0x100
jne 0x14001da2d
lea r8, [rsp + 0x28]
mov rdx, r15
mov rcx, rbx
call fcn.14001dfcc
test al, al
je 0x14001dac1
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.14001e070
test al, al
je 0x14001dac1
jmp 0x14001d8d3
cmp eax, 0x101
jne 0x14001da55
mov edx, dword [rbx + 0xb0]
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x24]
test edx, edx
je 0x14001d808
mov r8, qword [rbx + 0x88]
jmp 0x14001daad
lea edx, [rax - 0x102]
mov r9d, edx
add r9, 0x11
lea r9, [rbx + r9*8]
mov rsi, qword [r9]
test edx, edx
je 0x14001da81
sub edx, 1
mov rcx, qword [rbx + rdx*8 + 0x88]
mov qword [r9], rcx
lea r9, [r9 - 8]
jne 0x14001da6d
lea r8, [rdi + 0x1b00]
mov qword [rbx + 0x88], rsi
mov rdx, r15
call fcn.14001ca98
mov r8d, eax
mov rdx, r15
call fcn.14001cb60
mov dword [rbx + 0xb0], eax
mov r8, rsi
mov edx, eax
mov rcx, rbx
call fcn.14001c8b0
jmp 0x14001d8d3
mov byte [rdi + 0x2cdf], 1
mov al, 1
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400289c0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret