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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [rcx]
xor ebp, ebp
mov r14d, r9d
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x3c], ebp
cmp r8, rbp
je 0x14005db61
cmp qword [rcx + 0x178], rbp
jne 0x14005db61
cmp qword [r8 + 0x68], rbp
jne 0x14005db61
call fcn.14006b428
cmp rax, rbp
jne 0x14005db61
cmp dword [rsi + 0x54], ebp
jne 0x14005db61
cmp r14d, 0xb
jne 0x14005d28b
cmp word [rsi + 0x44], bp
jl 0x14005d285
movzx r14d, byte [rsi + 0x4c]
cmp r14d, 0xb
jne 0x14005d28b
mov r14d, 2
mov r8, qword [rbx + 0x28]
mov r13d, 1
cmp dword [r8], r13d
jne 0x14005db61
cmp qword [r8 + 0x30], rbp
jne 0x14005db61
cmp qword [rbx + 0x30], rbp
jne 0x14005db61
cmp qword [rbx + 0x48], rbp
jne 0x14005db61
cmp qword [rbx + 0x38], rbp
jne 0x14005db61
cmp qword [rbx + 0x60], rbp
jne 0x14005db61
cmp qword [rbx + 0x50], rbp
jne 0x14005db61
test byte [rbx + 0xc], r13b
jne 0x14005db61
mov rax, qword [rbx]
cmp dword [rax], r13d
jne 0x14005db61
mov rax, qword [rax + 8]
cmp byte [rax], 0xaf
jne 0x14005db61
add r8, 8
xor edx, edx
mov rcx, rdi
call fcn.14004e084
xor r9d, r9d
mov r12, rax
cmp rax, r9
je 0x14005db61
mov eax, dword [rsi + 0x38]
cmp dword [r12 + 0x38], eax
jne 0x14005d333
mov rax, qword [rsi + 0x70]
cmp qword [r12 + 0x70], rax
je 0x14005db61
mov ecx, dword [rsi + 0x40]
mov eax, dword [r12 + 0x40]
shr ecx, 5
shr eax, 5
not ecx
not eax
xor ecx, eax
test r13b, cl
jne 0x14005db61
cmp dword [r12 + 0x54], r9d
jne 0x14005db61
cmp qword [r12 + 0x18], r9
jne 0x14005db61
movzx ecx, word [rsi + 0x46]
cmp cx, word [r12 + 0x46]
jne 0x14005db61
movzx eax, word [r12 + 0x44]
cmp word [rsi + 0x44], ax
jne 0x14005db61
movsx r15d, cx
mov r13d, r9d
cmp r15d, r9d
jle 0x14005d465
mov rbx, qword [rsi + 8]
mov r11, qword [r12 + 8]
add rbx, 8
add r11, 0x10
mov al, byte [r11 + 9]
cmp byte [rbx + 0x11], al
jne 0x14005db61
mov rcx, qword [rbx + 8]
mov rdx, qword [r11]
cmp rcx, r9
jne 0x14005d3c7
neg rdx
sbb eax, eax
jmp 0x14005d3d8
cmp rdx, r9
je 0x14005db61
call fcn.1400192b0
xor r9d, r9d
cmp eax, r9d
jne 0x14005db61
cmp byte [rbx + 0x10], r9b
je 0x14005d3f1
cmp byte [r11 + 8], r9b
je 0x14005db61
cmp rbp, r9
jle 0x14005d449
mov r8, qword [r11 - 8]
mov rdx, qword [rbx]
mov ecx, r9d
cmp r8, r9
mov eax, r9d
sete cl
cmp rdx, r9
sete al
cmp eax, ecx
jne 0x14005db61
cmp rdx, r9
je 0x14005d449
mov rax, qword [rdx + 8]
mov r8, qword [r8 + 8]
mov r10d, 1
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005d440
add rax, r10
test ecx, ecx
jne 0x14005d42d
cmp edx, r9d
jne 0x14005db61
mov eax, 1
add rbx, 0x20
add r11, 0x20
add r13d, eax
add rbp, rax
cmp r13d, r15d
jl 0x14005d3a7
mov rbp, qword [rsi + 0x10]
mov r13d, 1
cmp rbp, r9
je 0x14005d4dd
mov eax, dword [rsp + 0x3c]
cmp byte [rbp + 0x62], r9b
mov rbx, qword [r12 + 0x10]
cmovne eax, r13d
mov dword [rsp + 0x3c], eax
cmp rbx, r9
je 0x14005db61
xor edi, edi
mov rdx, rbx
mov rcx, rbp
call fcn.14005d0ec
cmp eax, edi
jne 0x14005d4ac
mov rbx, qword [rbx + 0x28]
cmp rbx, rdi
jne 0x14005d494
cmp rbx, rdi
mov rdi, qword [rsp + 0xa0]
je 0x14005db61
mov eax, dword [rbp + 0x58]
cmp dword [rbx + 0x58], eax
jne 0x14005d4d4
mov rax, qword [rsi + 0x70]
cmp qword [r12 + 0x70], rax
je 0x14005db61
mov rbp, qword [rbp + 0x28]
xor r9d, r9d
jmp 0x14005d46f
mov rdx, qword [rsi + 0x30]
cmp rdx, r9
je 0x14005d500
mov rcx, qword [r12 + 0x30]
or r8d, 0xffffffff
call fcn.140048d24
xor r9d, r9d
cmp eax, r9d
jne 0x14005db61
mov rax, qword [rsp + 0x50]
bt qword [rax + 0x30], 0xe
jae 0x14005d517
cmp qword [rsi + 0x20], r9
jne 0x14005db61
test byte [rax + 0x30], 0x80
jne 0x14005db61
mov rcx, qword [r12 + 0x70]
mov dword [rsp + 0x38], 0xfff0bdc0
cmp rcx, r9
je 0x14005d557
mov rax, qword [rax + 0x20]
mov edx, r9d
add rax, 0x18
mov dword [rsp + 0x38], edx
cmp qword [rax], rcx
je 0x14005d557
add rax, 0x20
add edx, r13d
cmp qword [rax], rcx
jne 0x14005d547
mov dword [rsp + 0x38], edx
mov rcx, rdi
call fcn.140065300
mov edx, dword [rsp + 0x38]
mov rcx, rdi
mov rbp, rax
call fcn.1400538c0
mov ebx, dword [rdi + 0x34]
mov edx, dword [rsp + 0xc0]
lea r15d, [rbx + 1]
mov r8, rsi
lea ecx, [r15 + 1]
mov dword [rsp + 0xb0], ebx
mov dword [rdi + 0x34], ecx
mov rcx, rdi
call fcn.14005a538
mov cl, byte [rdi + 0x1f]
xor edx, edx
mov dword [rsp + 0x48], eax
cmp cl, dl
jne 0x14005d5af
add dword [rdi + 0x38], r13d
mov ecx, dword [rdi + 0x38]
mov dword [rsp + 0x30], ecx
jmp 0x14005d5c3
sub cl, r13b
movzx eax, cl
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0xbc]
mov dword [rsp + 0x30], eax
mov al, byte [rdi + 0x1f]
cmp al, dl
jne 0x14005d5d4
add dword [rdi + 0x38], r13d
mov r13d, dword [rdi + 0x38]
jmp 0x14005d5e5
sub al, r13b
movzx eax, al
mov byte [rdi + 0x1f], al
mov r13d, dword [rdi + rax*4 + 0xbc]
mov r8d, dword [rsp + 0xc0]
mov r9, rsi
mov edx, r15d
mov rcx, rdi
mov dword [rsp + 0x34], r13d
mov dword [rsp + 0x20], 0x62
call fcn.14005a1e8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
jne 0x14005d684
xor eax, eax
cmp word [rsi + 0x44], ax
jge 0x14005d621
cmp qword [rsi + 0x10], rax
jne 0x14005d637
cmp dword [rsp + 0x3c], eax
jne 0x14005d637
cmp r14d, 2
je 0x14005d684
mov ecx, 1
cmp r14d, ecx
je 0x14005d684
xor r9d, r9d
mov r8d, r15d
mov rcx, rbp
lea edx, [r9 + 0x24]
mov dword [rsp + 0x20], eax
call fcn.140032364
and dword [rsp + 0x20], 0
xor r9d, r9d
lea edx, [r9 + 0xb]
xor r8d, r8d
mov rcx, rbp
mov ebx, eax
call fcn.140032364
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x44], eax
call fcn.140032d34
mov ecx, dword [rbp + 0x90]
mov ebx, dword [rsp + 0xb0]
mov dword [rax + 8], ecx
test byte [r12 + 0x40], 0x20
jne 0x14005d879
mov r8d, dword [rsp + 0x38]
mov r9, r12
mov edx, ebx
mov rcx, rdi
mov dword [rsp + 0x20], 0x61
call fcn.14005a1e8
and dword [rsp + 0x20], 0
xor r9d, r9d
lea edx, [r9 + 0x24]
mov r8d, ebx
mov rcx, rbp
call fcn.140032364
xor ecx, ecx
cmp word [rsi + 0x44], cx
mov dword [rsp + 0x40], eax
jl 0x14005d79a
mov dword [rsp + 0x20], ecx
mov r9d, r13d
mov r8d, ebx
mov rcx, rbp
mov edx, 0x80
call fcn.140032364
mov ecx, dword [rsp + 0x34]
xor r9d, r9d
mov dword [rsp + 0x20], ecx
lea edx, [r9 + 0x1f]
mov r8d, r15d
mov rcx, rbp
mov r13d, eax
call fcn.140032364
mov r8, rsi
mov edx, r14d
mov rcx, rdi
mov ebx, eax
call fcn.140053bf0
mov edx, ebx
mov rcx, rbp
call fcn.140032d34
mov ecx, dword [rbp + 0x90]
mov r14d, dword [rsp + 0x34]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0x48]
xor ecx, ecx
cmp eax, ecx
jle 0x14005d74f
mov dword [rsp + 0x20], ecx
mov rcx, qword [rdi + 0x10]
mov r9d, r14d
mov r8d, eax
mov edx, 0x97
call fcn.140032364
mov ebx, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0x30]
mov eax, 1
mov r8d, ebx
lea edx, [rax + 0x7e]
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032364
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x14005d7d6
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov edx, 0x82
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032364
mov bl, 0x39
jmp 0x14005d7d8
cmp qword [rsi + 0x10], rcx
jne 0x14005d7cc
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 8
jne 0x14005d7cc
mov r8d, r15d
mov edx, 0x79
mov dword [rsp + 0x20], ecx
mov r9d, r13d
mov rcx, rbp
call fcn.140032364
mov r14d, dword [rsp + 0x34]
mov r13d, eax
jmp 0x14005d756
mov r8d, ebx
mov edx, 0x80
jmp 0x14005d7b3
mov bl, 0x29
mov r9d, dword [rsp + 0x30]
mov r8d, r15d
mov edx, 0x7a
mov rcx, rbp
mov dword [rsp + 0x20], r14d
call fcn.140032364
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, rbp
call fcn.140032c40
movsxd r11, dword [rbp + 0x90]
xor r8d, r8d
cmp r11d, r8d
jle 0x14005d827
mov rax, qword [rbp + 0x88]
lea rcx, [r11 + r11*2]
movzx edx, bl
mov word [rax + rcx*8 - 0x16], dx
mov ebx, dword [rsp + 0xb0]
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov edx, 5
mov rcx, rbp
mov r8d, ebx
call fcn.140032364
xor r13d, r13d
mov r8d, ebx
lea ebx, [r13 + 0x75]
xor r9d, r9d
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], r13d
call fcn.140032364
xor r9d, r9d
mov r8d, r15d
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140032364
jmp 0x14005d87c
xor r13d, r13d
mov r14, qword [rsi + 0x10]
mov esi, dword [rsp + 0x30]
cmp r14, r13
je 0x14005daa8
mov rbx, qword [r12 + 0x10]
xor eax, eax
cmp rbx, rax
je 0x14005d8bb
xor edi, edi
mov rdx, rbx
mov rcx, r14
call fcn.14005d0ec
cmp eax, edi
jne 0x14005d8b3
mov rbx, qword [rbx + 0x28]
cmp rbx, rdi
jne 0x14005d89b
mov rdi, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x38]
mov r9d, dword [rbx + 0x58]
mov r8d, dword [rsp + 0xb0]
mov edx, 0x61
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032364
mov rdx, rbx
mov rcx, rdi
call fcn.140032d08
mov eax, dword [rsp + 0xc0]
mov r9d, dword [r14 + 0x58]
mov r8d, r15d
mov edx, 0x62
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032364
mov rdx, r14
mov rcx, rdi
call fcn.140032d08
movsxd r11, dword [rbp + 0x90]
xor edx, edx
cmp r11d, edx
jle 0x14005d934
mov rax, qword [rbp + 0x88]
lea rcx, [r11 + r11*2]
lea r10d, [rdx + 1]
mov word [rax + rcx*8 - 0x16], r10w
mov r8d, dword [rsp + 0xb0]
xor r9d, r9d
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x24]
mov rcx, rbp
call fcn.140032364
mov r8d, dword [rsp + 0xb0]
mov r9d, esi
mov dword [rsp + 0x48], eax
mov eax, 1
mov rcx, rbp
lea edx, [rax + 0x7e]
mov dword [rsp + 0x20], eax
call fcn.140032364
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x14005d9e3
movzx esi, word [rbx + 0x60]
xor eax, eax
cmp esi, eax
mov r11d, eax
jle 0x14005d9bc
mov rbx, qword [rbx + 0x40]
xor edi, edi
mov rdx, qword [rbx]
cmp rdx, rdi
je 0x14005d9b4
lea rcx, [0x1400d66b0]
call fcn.1400192b0
cmp eax, edi
jne 0x14005d9b4
inc r11d
add rbx, 8
cmp r11d, esi
jl 0x14005d990
mov rdi, qword [rsp + 0xa0]
xor ebx, ebx
cmp r11d, esi
jne 0x14005d9dd
xor r9d, r9d
mov r8d, r15d
mov edx, 0x82
mov rcx, rbp
mov r13b, 0x10
mov dword [rsp + 0x20], ebx
call fcn.140032364
mov esi, dword [rsp + 0x30]
jmp 0x14005d9e5
xor ebx, ebx
test byte [r12 + 0x40], 0x20
je 0x14005d9fb
mov eax, dword [r14 + 0x64]
and al, 3
cmp al, 2
jne 0x14005d9fb
or r13b, 1
mov r9d, esi
mov r8d, r15d
mov edx, 0x84
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.140032364
movsxd r11, dword [rbp + 0x90]
cmp r11d, ebx
jle 0x14005da36
mov rax, qword [rbp + 0x88]
or r13b, 8
lea rcx, [r11 + r11*2]
movzx edx, r13b
mov word [rax + rcx*8 - 0x16], dx
mov r13d, dword [rsp + 0x48]
mov dword [rsp + 0x20], ebx
mov ebx, dword [rsp + 0xb0]
lea r9d, [r13 + 1]
mov r8d, ebx
mov edx, 5
mov rcx, rbp
call fcn.140032364
mov edx, r13d
mov rcx, rbp
call fcn.140032d34
mov ecx, dword [rbp + 0x90]
xor r13d, r13d
mov r8d, ebx
mov dword [rax + 8], ecx
lea ebx, [r13 + 0x75]
xor r9d, r9d
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], r13d
call fcn.140032364
xor r9d, r9d
mov r8d, r15d
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140032364
mov r14, qword [r14 + 0x28]
jmp 0x14005d884
mov eax, dword [rsp + 0x40]
cmp eax, r13d
je 0x14005dac4
mov edx, eax
mov rcx, rbp
call fcn.140032d34
mov ecx, dword [rbp + 0x90]
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x34]
cmp ecx, r13d
je 0x14005dae8
cmp byte [rdi + 0x1f], 8
jae 0x14005dae8
movzx eax, byte [rdi + 0x1f]
mov dword [rdi + rax*4 + 0xbc], ecx
mov ecx, 1
add byte [rdi + 0x1f], cl
jmp 0x14005daed
mov ecx, 1
cmp esi, r13d
je 0x14005db06
cmp byte [rdi + 0x1f], 8
jae 0x14005db06
movzx eax, byte [rdi + 0x1f]
mov dword [rdi + rax*4 + 0xbc], esi
add byte [rdi + 0x1f], cl
mov ebx, dword [rsp + 0x44]
cmp ebx, r13d
je 0x14005db7b
cmp qword [rdi + 0x88], r13
je 0x14005db20
mov rcx, rdi
call fcn.14005a74c
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
lea edx, [r9 + 0x45]
mov dword [rsp + 0x20], r13d
call fcn.140032364
mov edx, ebx
mov rcx, rbp
call fcn.140032d34
mov ecx, dword [rbp + 0x90]
xor r9d, r9d
mov dword [rax + 8], ecx
lea edx, [r9 + 0x75]
mov r8d, r15d
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140032364
xor eax, eax
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, ecx
jmp 0x14005db63