Function at 0x1401d47d0
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, 0xc8
mov rax, qword [rcx + 8]
mov dword [rsp + 0x58], r8d
mov rbx, rcx
mov r12, rdx
mov esi, r9d
mov dword [rsp + 0x84], r9d
mov qword [rsp + 0x40], rax
test byte [rcx + 1], 0x20
je 0x1401d4840
mov rax, qword [rax + 8]
mov edx, dword [rcx + 0x50]
mov r8, rbx
mov rcx, qword [rax + 0x10]
call fcn.1401cd4f0
mov dword [rsp + 0x80], eax
mov r14d, eax
test eax, eax
jne 0x1401d5077
test esi, esi
je 0x1401d4840
cmp byte [rbx + 0x54], 0
mov ecx, 0x12eab
js 0x1401d4e5b
cmp byte [rbx], 2
ja 0x1401d4857
mov rdx, qword [rbx + 0x80]
test rdx, rdx
jne 0x1401d4921
jmp 0x1401d4875
mov rcx, rbx
call fcn.1401bbd60
mov dword [rsp + 0x80], eax
mov r14d, eax
test eax, 0xffffffef
je 0x1401d4845
jmp 0x1401d5077
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x13], 0
je 0x1401d4893
mov edx, dword [rbx + 0x50]
mov r8, qword [r12 + 8]
xor r9d, r9d
mov rcx, rax
call fcn.1401b5850
test byte [rbx + 1], 2
je 0x1401d48e0
mov rax, qword [rbx + 0x30]
cmp qword [r12 + 8], rax
jne 0x1401d48e0
cmp word [rbx + 0x46], 0
je 0x1401d4a12
mov eax, dword [r12 + 0x28]
add eax, dword [r12 + 0x24]
cmp dword [rbx + 0x40], eax
jne 0x1401d4a12
mov rdx, r12
mov rcx, rbx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14018a1d0
test esi, esi
jne 0x1401d4a12
mov r8d, dword [rsp + 0x58]
mov rdx, qword [r12 + 8]
lea r9, [rsp + 0x84]
mov rcx, rbx
shr r8d, 3
and r8d, 1
call fcn.1401d6640
mov dword [rsp + 0x80], eax
mov r14d, eax
test eax, eax
je 0x1401d4a12
jmp 0x1401d5077
test esi, esi
jne 0x1401d4a12
test byte [rsp + 0x58], 2
je 0x1401d4978
mov rcx, rbx
call fcn.1401b3b20
mov rax, qword [r12 + 8]
cmp qword [rbx + 0x30], rax
jne 0x1401d4a12
mov rdx, qword [r12]
xor edi, edi
mov rcx, rbx
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb8], edi
mov qword [rsp + 0xa0], rdx
lea rdx, [rsp + 0x90]
call fcn.14018a1d0
jmp 0x1401d4f7a
mov eax, dword [r12 + 0x20]
lea r8, [rsp + 0x84]
test ax, ax
je 0x1401d49c9
mov qword [rsp + 0x90], rdx
mov rdx, qword [r12 + 0x18]
mov rcx, rbx
mov word [rsp + 0xac], ax
mov qword [rsp + 0x98], rdx
lea rdx, [rsp + 0x90]
mov byte [rsp + 0xae], 0
mov byte [rsp + 0xb2], 0
call fcn.1401d4420
jmp 0x1401d49ec
mov r9d, dword [rsp + 0x58]
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov r8, qword [r12 + 8]
mov rdx, qword [r12]
shr r9d, 3
and r9d, 1
call fcn.14018a010
mov dword [rsp + 0x80], eax
mov r14d, dword [rsp + 0x80]
test r14d, r14d
jne 0x1401d5077
cmp dword [rsp + 0x84], 0
je 0x1401d4930
mov rbp, qword [rbx + 0x88]
cmp dword [rbp + 0x14], 0
js 0x1401d4a49
mov rax, qword [rsp + 0x40]
mov edi, dword [rsp + 0x58]
mov rax, qword [rax + 8]
and edi, 0x80
mov dword [rsp + 0x5c], edi
mov rsi, qword [rax + 0x88]
mov qword [rsp + 0x30], rsi
jne 0x1401d4a75
jmp 0x1401d4b13
cmp byte [rbx], 1
jbe 0x1401d4a5a
mov ecx, 0x12f26
call fcn.1401d8870
jmp 0x1401d4a62
mov rcx, rbp
call fcn.140189830
mov dword [rsp + 0x80], eax
mov r14d, eax
test eax, eax
je 0x1401d4a1f
jmp 0x1401d5077
mov r13d, dword [rax + 0x90]
mov edx, 4
xor esi, esi
mov dword [rsp + 0x80], esi
cmp r13d, edx
cmovl r13d, edx
cmp byte [rax + 0x21], 0
je 0x1401d4e36
movzx eax, word [rbp + 0xe]
cmp eax, r13d
jge 0x1401d4e36
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x90]
mov rcx, rbp
call qword [rbp + pe_nt_image_headers64]
movzx eax, word [rsp + 0xa4]
cmp dword [rsp + 0xa0], eax
je 0x1401d4e36
mov rsi, qword [rsp + 0x30]
movsxd rax, r13d
mov r9d, dword [rbp + 4]
mov r8d, 3
mov edx, dword [rsi + rax - 4]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 8]
lea rax, [rsp + 0x80]
bswap edx
mov qword [rsp + 0x20], rax
call fcn.1401c3320
cmp dword [rsp + 0x80], 0
jmp 0x1401d4e30
movzx r10d, byte [rbp + 0xa]
mov rax, qword [rsp + 0x30]
mov rcx, r10
add rcx, rax
cmp byte [rbp + 1], 0
je 0x1401d4b72
mov r15d, dword [r12 + 0x24]
mov r14d, dword [r12 + 0x28]
mov rax, qword [r12 + 0x10]
add r14d, r15d
mov qword [rsp + 0x50], rax
cmp r14d, 0x7f
ja 0x1401d4b4d
mov byte [rcx], r14b
mov al, 1
jmp 0x1401d4b55
movsxd rdx, r14d
call fcn.1401fa4e0
movzx eax, al
mov rdx, qword [r12 + 8]
add r10d, eax
mov rax, qword [rsp + 0x30]
movsxd rcx, r10d
add rcx, rax
call fcn.1401fa4e0
jmp 0x1401d4b9b
mov r15, qword [r12 + 8]
mov rax, qword [r12]
mov r14d, r15d
mov qword [rsp + 0x50], rax
cmp r15d, 0x7f
ja 0x1401d4b90
mov byte [rcx], r15b
mov al, 1
jmp 0x1401d4b98
movsxd rdx, r15d
call fcn.1401fa4e0
movzx eax, al
lea ecx, [rax + r10]
movzx r11d, word [rbp + 0xe]
mov rax, qword [rsp + 0x30]
movsxd r8, ecx
add r8, rax
cmp r11d, r14d
jl 0x1401d4be0
lea r13d, [rcx + r14]
mov rsi, qword [rsp + 0x50]
movsxd rcx, r15d
mov rdi, r8
rep movsb byte [rdi], byte [rsi]
mov eax, 4
cmp r13d, eax
cmovl r13d, eax
sub r14d, r15d
xor eax, eax
movsxd rcx, r14d
rep stosb byte [rdi], al
jmp 0x1401d4e23
mov rax, qword [rbp + 0x48]
movzx r9d, word [rbp + 0x10]
xor edx, edx
mov qword [rsp + 0x38], rax
mov rdi, qword [rsp + 0x38]
mov eax, r14d
sub eax, r9d
mov edi, dword [rdi + 0x38]
lea r10d, [rdi - 4]
div r10d
mov rax, qword [rsp + 0x30]
add edx, r9d
cmp r11d, edx
cmovge r9d, edx
xor r10d, r10d
xor r11d, r11d
mov dword [rsp + 0x8c], r10d
add ecx, r9d
mov qword [rsp + 0x48], r11
lea r13d, [rcx + 4]
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x8c]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x78], rax
cmp r14d, r9d
mov edx, r9d
cmovle edx, r14d
cmp edx, r15d
jg 0x1401d4c71
mov rsi, qword [rsp + 0x50]
movsxd rcx, edx
mov rdi, r8
rep movsb byte [rdi], byte [rsi]
jmp 0x1401d4c92
test r15d, r15d
jle 0x1401d4c88
mov rsi, qword [rsp + 0x50]
mov ecx, r15d
mov rdi, r8
mov edx, r15d
rep movsb byte [rdi], byte [rsi]
jmp 0x1401d4c92
movsxd rcx, edx
mov rdi, r8
xor eax, eax
rep stosb byte [rdi], al
sub r14d, edx
test r14d, r14d
jle 0x1401d4e19
movsxd rax, edx
sub r15d, edx
add qword [rsp + 0x50], rax
sub r9d, edx
je 0x1401d4cb3
add r8, rax
jmp 0x1401d4c53
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov esi, dword [rsp + 0x8c]
mov qword [rsp + 0x90], r9
cmp byte [rax + 0x21], 0
jne 0x1401d4d14
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x20], r8d
mov r9d, dword [rsp + 0x8c]
mov r8, qword [rsp + 0x70]
call fcn.1401856f0
mov rdi, qword [rsp + 0x38]
mov dword [rsp + 0x88], eax
cmp byte [rdi + 0x21], 0
je 0x1401d4da3
test eax, eax
jne 0x1401d4da3
jmp 0x1401d4d5e
mov eax, dword [0x140233620]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x38]
mov r11d, dword [rax + 0x34]
mov edi, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x38]
lea r10d, [rdi + 1]
mov edx, r10d
mov dword [rsp + 0x8c], r10d
call fcn.1401c32d0
cmp r10d, eax
je 0x1401d4d27
mov eax, dword [rsp + 0x68]
xor edx, edx
div r11d
cmp edi, eax
je 0x1401d4d27
jmp 0x1401d4cd0
lea rax, [rsp + 0x88]
cmp esi, 1
mov rcx, qword [rsp + 0x38]
mov r9d, esi
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x8c]
mov r8d, 3
sbb r8d, 0xffffffff
call fcn.1401c3320
cmp dword [rsp + 0x88], 0
je 0x1401d4da3
mov rcx, qword [rsp + 0x90]
call fcn.1401c4770
mov esi, dword [rsp + 0x88]
test esi, esi
je 0x1401d4dbe
mov rcx, qword [rsp + 0x48]
call fcn.1401c4770
mov dword [rsp + 0x5c], esi
jmp 0x1401d4e23
mov eax, dword [rsp + 0x8c]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
bswap eax
mov dword [rsi], eax
call fcn.1401c4770
mov rax, qword [rsp + 0x90]
xor ecx, ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x60], rax
mov dword [rax], ecx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x68], rax
lea r8, [rax + 4]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x68], eax
lea r9d, [rax - 4]
jmp 0x1401d4c53
mov rcx, qword [rsp + 0x48]
call fcn.1401c4770
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x80], eax
test eax, eax
jne 0x1401d506f
movzx esi, word [rbx + 0x56]
cmp dword [rsp + 0x84], 0
mov word [rbx + 0x46], 0
mov eax, esi
jne 0x1401d4fb5
cmp si, word [rbp + 0x18]
jb 0x1401d4e73
mov ecx, 0x12f4d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401d8870
mov rcx, qword [rbp + 0x70]
call fcn.1401f2ae0
mov dword [rsp + 0x80], eax
mov r14d, eax
test eax, eax
jne 0x1401d506f
mov rdx, qword [rbp + 0x60]
lea eax, [rsi + rsi]
cdqe
movzx edi, word [rdx + rax]
rol di, 8
and di, word [rbp + 0x1a]
movzx edi, di
add rdi, qword [rbp + 0x50]
cmp byte [rbp + 8], 0
mov rdx, rdi
jne 0x1401d4ebc
mov eax, dword [rdi]
mov rdi, qword [rsp + 0x30]
mov dword [rdi], eax
mov qword [rsp + 0x38], rdx
lea r8, [rsp + 0x90]
mov rcx, rbp
call qword [rbp + pe_nt_image_headers64]
movzx ecx, word [rsp + 0xa4]
xor eax, eax
mov r8d, dword [rsp + 0xa0]
mov rdx, qword [rsp + 0x38]
cmp ecx, r8d
mov r9d, ecx
je 0x1401d4f0b
mov ax, word [rsp + 0xa6]
mov rcx, rbp
mov word [rsp + 0x20], ax
call fcn.14018b930
mov rdx, qword [rsp + 0x38]
movzx r8d, word [rsp + 0xa6]
and byte [rbx + 1], 0xfb
mov dword [rsp + 0x80], eax
cmp r8d, r13d
jne 0x1401d4f94
movzx eax, word [rsp + 0xa4]
cmp eax, dword [rsp + 0xa0]
jne 0x1401d4f94
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
cmp byte [rax + 0x21], 0
je 0x1401d4f4d
movzx eax, word [rbp + 0x10]
cmp eax, r13d
jle 0x1401d4f94
mov rcx, qword [rbp + 0x50]
movzx eax, byte [rbp + 9]
lea rax, [rcx + rax + 0xa]
mov ecx, 0x12f68
cmp rdx, rax
jb 0x1401d4f75
movsxd rax, r13d
add rax, rdx
cmp qword [rbp + 0x58], rax
jae 0x1401d4f82
mov ecx, 0x12f6b
call fcn.1401d8870
mov r14d, eax
jmp 0x1401d5077
mov rsi, qword [rsp + 0x30]
mov ecx, r13d
mov rdi, rdx
rep movsb byte [rdi], byte [rsi]
jmp 0x1401d5077
lea r9, [rsp + 0x80]
mov edx, esi
mov rcx, rbp
call fcn.14018ff40
cmp dword [rsp + 0x80], 0
je 0x1401d4fcb
jmp 0x1401d506f
jns 0x1401d4fcb
cmp word [rbp + 0x18], 0
je 0x1401d4fcb
inc eax
and byte [rbx + 1], 0xfd
mov word [rbx + 0x56], ax
movzx esi, ax
xor eax, eax
xor edx, edx
mov r8, qword [rsp + 0x30]
mov r9d, r13d
mov qword [rsp + 0x20], rdx
mov rcx, rbp
mov edx, esi
mov dword [rsp + 0x28], eax
call fcn.1401b5310
cmp byte [rbp + 0xc], 0
mov dword [rsp + 0x80], eax
je 0x1401d506f
and byte [rbx + 1], 0xfd
mov rcx, rbx
call fcn.1401878b0
mov rdx, qword [rbx + 0x88]
mov dword [rsp + 0x80], eax
mov byte [rdx + 0xc], 0
mov byte [rbx], 1
test byte [rsp + 0x58], 2
je 0x1401d506f
test eax, eax
jne 0x1401d506f
mov rcx, rbx
call fcn.14018a7f0
cmp qword [rbx + 0x80], 0
je 0x1401d5063
mov rcx, qword [r12 + 8]
call fcn.1401f0bb0
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x1401d5055
mov dword [rsp + 0x80], 7
jmp 0x1401d5063
mov rsi, qword [r12]
mov rcx, qword [r12 + 8]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov byte [rbx], 3
mov rax, qword [r12 + 8]
mov qword [rbx + 0x48], rax
mov r14d, dword [rsp + 0x80]
mov eax, r14d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret