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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
mov r14d, 0x7f2bb701
mov rbx, rcx
xor ecx, ecx
mov ebp, edx
mov qword [rsp + 0x58], rcx
test rbx, rbx
je 0x14005d865
cmp dword [rbx], 0x7f2bb701
jne 0x14005d865
lea rax, [rsp + 0x90]
mov rcx, rbx
mov r8, rax
mov qword [rsp + 0x40], rax
call fcn.14005e8d5
mov r14d, eax
test eax, eax
jne 0x14005d865
mov r14d, 0x7f2bb7a5
test byte [rsp + 0xb3], 0x10
je 0x14005d865
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x78], ebp
call fcn.14005d060
mov r14d, eax
test eax, eax
jne 0x14005d865
mov rax, qword [rsp + 0x80]
lea rdx, [rsp + 0x58]
lea r13, [rax + 0x3c]
mov ecx, r13d
call fcn.14005cd65
mov r14d, eax
test eax, eax
jne 0x14005d849
mov r12, qword [rsp + 0x58]
lea r15, [rsp + 0xb8]
mov ecx, 0xf
mov rsi, r15
mov rdi, r12
rep movsd dword [rdi], dword [rsi]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14005d52c
lea rax, [r12 + 0x3c]
mov rsi, qword [rsp + 0x88]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
xor eax, eax
mov r8, qword [rsp + 0x40]
mov ecx, 0xf
mov rdi, r15
rep stosd dword [rdi], eax
mov edx, ebp
mov rcx, rbx
call fcn.14005ebb1
mov r14d, eax
test eax, eax
jne 0x14005d849
mov edx, ebp
mov rcx, rbx
call fcn.14005d3f3
mov r14d, eax
test eax, eax
jne 0x14005d849
mov r8, qword [rsp + 0x40]
mov edx, ebp
mov rcx, rbx
call fcn.14005e8d5
mov r14d, eax
test eax, eax
jne 0x14005d849
mov eax, dword [rsp + 0x90]
and ax, 0xf000
cmp ax, 0x4000
jne 0x14005d794
mov ecx, dword [rbx + 0x28]
lea rdx, [rsp + 0x68]
call fcn.14005cd8b
mov r14d, eax
test eax, eax
jne 0x14005d849
mov rax, qword [rbx + 0x20]
mov r15, qword [rsp + 0x68]
mov edx, 0xc
mov esi, dword [rax + 0x60]
test byte [rax + 0x65], 4
mov dword [r15], ebp
mov rcx, r15
mov byte [r15 + 6], 1
cmovne r14d, edx
and esi, 2
mov edx, esi
call fcn.14005cf9e
mov byte [r15 + 8], 0x2e
mov eax, dword [rbx + 0x28]
mov edx, esi
lea rcx, [r15 + 0xc]
lea rsi, [r12 + 4]
sub eax, 0xc
sub eax, r14d
mov dword [rsp + 0x60], eax
mov eax, dword [r12]
mov word [r15 + 4], 0xc
mov word [r15 + 0x10], 0xc
mov dword [r15 + 0xc], eax
mov byte [r15 + 0x12], 2
call fcn.14005cf9e
lea ecx, [r13 - 4]
lea r10, [r15 + 0x18]
mov word [r15 + 0x14], 0x2e2e
movsxd rcx, ecx
mov rdi, r10
add r13d, 0x14
rep movsb byte [rdi], byte [rsi]
mov edi, 0x18
lea rsi, [rsp + 0x60]
mov r8, rsi
mov rdx, r10
mov rcx, rbx
mov qword [rsp + 0x48], r10
call fcn.140057424
test eax, eax
jne 0x14005d77c
mov ecx, edi
add edi, dword [rsp + 0x60]
mov r10, qword [rsp + 0x48]
movsxd rax, edi
add rax, r15
cmp r13d, edi
jle 0x14005d674
mov r10, rax
jmp 0x14005d63e
mov edx, dword [rbx + 0x28]
mov r8, r10
sub edx, ecx
mov rcx, rbx
sub edx, r14d
mov dword [rsp + 0x60], edx
call fcn.1400576f4
test eax, eax
jne 0x14005d77c
test r14d, r14d
je 0x14005d6a8
mov eax, dword [rbx + 0x28]
mov rcx, rbx
lea rdx, [r15 + rax - 0xc]
call fcn.140056a4b
xor r8d, r8d
xor edx, edx
mov r9, rsi
mov rcx, rbx
call fcn.140052d8b
test eax, eax
jne 0x14005d77c
mov dword [rsp + 0x20], ebp
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov r8, r15
mov rcx, rbx
call fcn.14006705d
test eax, eax
jne 0x14005d77c
mov rax, qword [rbx + 0x20]
test byte [rax + 0x60], 0x40
je 0x14005d6f4
or dword [rsp + 0xb0], 0x80000
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
mov r8d, 1
and dword [rsp + 0xb0], 0xefffffff
call fcn.14005be30
test eax, eax
jne 0x14005d77c
xor edx, edx
mov eax, dword [rbx + 0x28]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rdx
mov r8, qword [rsp + 0x40]
mov rcx, rbx
mov qword [rsp + 0x28], rdx
mov edx, ebp
mov dword [rsp + 0x20], 2
mov dword [rsp + 0x94], eax
call fcn.140066902
test eax, eax
jne 0x14005d77c
mov r8, qword [rsp + 0x40]
mov edx, ebp
mov rcx, rbx
call fcn.14005ebb1
test eax, eax
jne 0x14005d77c
mov edx, dword [rsp + 0x60]
mov r8d, 1
mov rcx, rbx
mov dword [rsp + 0x40], eax
call fcn.1400536b3
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
call sub.msvcrt.dll_free
mov r14d, dword [rsp + 0x40]
jmp 0x14005d849
mov eax, r14d
mov ecx, 0xf
mov rdi, r15
mov rdx, qword [rbx + 0x20]
rep stosd dword [rdi], eax
mov eax, dword [rsp + 0xb0]
test byte [rdx + 0x60], 0x40
je 0x14005d7e3
mov r8, qword [rsp + 0x40]
and eax, 0xfff7ffff
mov edx, ebp
mov rcx, rbx
lea r9, [rsp + 0x68]
mov dword [rsp + 0xb0], eax
call fcn.1400579c7
mov r14d, eax
test eax, eax
jne 0x14005d849
mov rcx, qword [rsp + 0x68]
call fcn.140057958
mov r8, qword [rsp + 0x40]
xor eax, eax
mov edx, ebp
mov rcx, rbx
and dword [rsp + 0xb0], 0xefffffff
mov dword [rsp + 0x94], eax
call fcn.14005ebb1
mov r14d, eax
test eax, eax
jne 0x14005d849
lea r9, [rsp + 0x68]
mov r8d, 1
mov edx, ebp
mov rcx, rbx
call fcn.14005957f
mov r14d, eax
test eax, eax
jne 0x14005d849
mov rcx, qword [rsp + 0x68]
xor r9d, r9d
mov r8d, r13d
mov rdx, r12
call fcn.140059c5a
mov rcx, qword [rsp + 0x68]
mov r14d, eax
call fcn.140059797
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14005d858
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
mov eax, r14d
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret