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

Disassembly:
mov rax, rsp
push rbp
push r14
mov rbp, rsp
sub rsp, 0x68
mov qword [rax + 8], rbx
xor edx, edx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r13
xor r13d, r13d
mov qword [rax - 0x28], r15
mov r15, rcx
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], 0x16
call fcn.140014910
mov r14, qword [rbp - 0x38]
lea r8d, [r13 + 0x2c]
mov rcx, r14
lea rdx, str.Unhandled_Exception:
call fcn.140027910
mov r8d, dword [r15]
mov eax, r8d
cmp r8d, 0xc000008c
ja 0x140090039
cmp eax, 0xc000008c
je 0x14008ffae
cmp eax, 0x80000002
je 0x14008ff23
cmp eax, 0xc0000005
je 0x14008fd5a
cmp eax, 0xc000001d
jne case.0x140090060.1073741681
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x1e
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x14008fd04
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_ILLEGAL_INSTRUCTION]
mov rcx, r13
test ebx, ebx
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a5a80]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a5a90]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1402a5aa0]
movsd qword [rcx + 0x30], xmm1
movzx eax, word [0x1402a5aa8]
mov word [rcx + 0x38], ax
mov word [rcx + 0x3a], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov ebx, dword [rbp - 0x2c]
mov eax, esi
neg eax
mov rdi, rsi
mov edx, esi
sbb ecx, ecx
add ecx, 0x1c
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, ebx
jle 0x14008fd8b
lea rcx, [rbp - 0x38]
call fcn.140014910
mov ebx, dword [rbp - 0x2c]
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_ACCESS_VIOLATION]
mov rcx, r13
test edi, edi
mov rax, rdi
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a4f88]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a4f98]
movups xmmword [rcx + 0x20], xmm0
mov eax, dword [0x1402a4fa8]
mov dword [rcx + 0x30], eax
movzx eax, word [0x1402a4fac]
mov word [rcx + 0x34], ax
mov word [rcx + 0x36], r13w
mov rax, qword [r15 + 0x20]
test rax, rax
jne 0x14008fe2e
mov eax, esi
movsxd rdi, esi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x11
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, ebx
jle 0x14008fe0b
lea rcx, [rbp - 0x38]
call fcn.140014910
mov ebx, dword [rbp - 0x2c]
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.reading_address]
test edi, edi
mov rcx, r13
mov rax, rdi
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
movups xmm1, xmmword [0x1402a5158]
jmp 0x14008fe7f
cmp rax, 1
jne 0x14008fe8b
mov eax, esi
movsxd rdi, esi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x11
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, ebx
jle 0x14008fe5e
lea rcx, [rbp - 0x38]
call fcn.140014910
mov ebx, dword [rbp - 0x2c]
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.writing_address]
test edi, edi
mov rcx, r13
mov rax, rdi
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
movups xmm1, xmmword [0x1402a5570]
movups xmmword [r14 + rax*2 + 0x10], xmm1
mov word [r14 + rax*2 + 0x20], r13w
mov r8d, dword [r15 + 0x28]
lea rdx, [0x1402a5588]
lea rcx, [rbp - 0x48]
call fcn.140029d70
mov r15d, dword [rbp - 0x40]
test r15d, r15d
je 0x14008fead
dec r15d
jmp 0x14008feb0
mov r15d, r13d
mov r12, qword [rbp - 0x48]
test r15d, r15d
je 0x14008ff12
test esi, esi
movsxd rdi, esi
mov eax, r13d
mov edx, esi
sete al
add eax, r15d
add esi, eax
mov dword [rbp - 0x30], esi
cmp esi, ebx
jle 0x14008fee2
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
test edi, edi
mov rcx, r13
mov rax, rdi
mov rdx, r12
setne cl
sub rax, rcx
lea rdi, [r14 + rax*2]
movsxd rax, r15d
mov rcx, rdi
lea rbx, [rax + rax]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov word [rbx + rdi], r13w
mov r12, qword [rbp - 0x48]
test r12, r12
je 0x1400903d4
mov rcx, r12
jmp 0x1400903cf
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x20
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x14008ff4f
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_DATATYPE_MISALIGNMENT]
mov rcx, r13
test ebx, ebx
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a5690]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a56a0]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1402a56b0]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [0x1402a56b8]
mov dword [rcx + 0x38], eax
movzx eax, word [0x1402a56bc]
mov word [rcx + 0x3c], ax
mov word [rcx + 0x3e], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x20
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x14008ffda
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_ARRAY_BOUNDS_EXCEEDED]
mov rcx, r13
test ebx, ebx
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a5650]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a5660]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1402a5670]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [0x1402a5678]
mov dword [rcx + 0x38], eax
movzx eax, word [0x1402a567c]
mov word [rcx + 0x3c], ax
mov word [rcx + 0x3e], r13w
jmp 0x1400903d4
add eax, 0x3fffff73
cmp eax, 0x70
ja case.0x140090060.1073741681
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x90454]
mov ecx, dword [rdx + rax*4 + 0x90438]
add rcx, rdx
jmp rcx
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x1f
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x14009008e
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_FLT_DENORMAL_OPERAND]
mov rcx, r13
test ebx, ebx
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a57b8]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a57c8]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1402a57d8]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [0x1402a57e0]
mov dword [rcx + 0x38], eax
mov word [rcx + 0x3c], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x1d
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x14009010e
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_FLT_DIVIDE_BY_ZERO]
test ebx, ebx
mov rcx, r13
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
movups xmm1, xmmword [0x1402a5978]
movups xmmword [r14 + rax*2 + 0x10], xmm1
movups xmm0, xmmword [0x1402a5988]
movups xmmword [r14 + rax*2 + 0x20], xmm0
movsd xmm1, qword [0x1402a5998]
movsd qword [r14 + rax*2 + 0x30], xmm1
mov word [r14 + rax*2 + 0x38], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x20
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x140090188
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_FLT_INVALID_OPERATION]
mov rcx, r13
test ebx, ebx
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a5a30]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a5a40]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1402a5a50]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [0x1402a5a58]
mov dword [rcx + 0x38], eax
movzx eax, word [0x1402a5a5c]
mov word [rcx + 0x3c], ax
mov word [rcx + 0x3e], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x1d
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x140090213
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_INT_DIVIDE_BY_ZERO]
test ebx, ebx
mov rcx, r13
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
movups xmm1, xmmword [0x1402a5ac0]
movups xmmword [r14 + rax*2 + 0x10], xmm1
movups xmm0, xmmword [0x1402a5ad0]
movups xmmword [r14 + rax*2 + 0x20], xmm0
movsd xmm1, qword [0x1402a5ae0]
movsd qword [r14 + rax*2 + 0x30], xmm1
mov word [r14 + rax*2 + 0x38], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x1b
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x14009028d
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_PRIV_INSTRUCTION]
mov rcx, r13
test ebx, ebx
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
lea rcx, [r14 + rax*2]
movups xmm1, xmmword [0x1402a57f8]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1402a5808]
movups xmmword [rcx + 0x20], xmm0
mov eax, dword [0x1402a5818]
mov dword [rcx + 0x30], eax
mov word [rcx + 0x34], r13w
jmp 0x1400903d4
movsxd rsi, dword [rbp - 0x30]
mov eax, esi
mov rbx, rsi
neg eax
mov edx, esi
sbb ecx, ecx
add ecx, 0x19
add esi, ecx
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x140090300
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
movups xmm0, xmmword [str.EXCEPTION_STACK_OVERFLOW]
test ebx, ebx
mov rcx, r13
mov rax, rbx
setne cl
sub rax, rcx
movups xmmword [r14 + rax*2], xmm0
movups xmm1, xmmword [0x1402a5b00]
movups xmmword [r14 + rax*2 + 0x10], xmm1
movups xmm0, xmmword [0x1402a5b10]
movups xmmword [r14 + rax*2 + 0x20], xmm0
mov word [r14 + rax*2 + 0x30], r13w
jmp 0x1400903d4
lea rdx, str.0x_08x
lea rcx, [rbp - 0x48]
call fcn.140029d70
mov ebx, dword [rbp - 0x40]
test ebx, ebx
je 0x14009035a
dec ebx
jmp 0x14009035d
mov ebx, r13d
mov r15, qword [rbp - 0x48]
test ebx, ebx
je 0x1400903c4
movsxd rsi, dword [rbp - 0x30]
mov eax, r13d
test esi, esi
mov rdi, rsi
mov edx, esi
sete al
add eax, ebx
add esi, eax
mov dword [rbp - 0x30], esi
cmp esi, dword [rbp - 0x2c]
jle 0x140090392
lea rcx, [rbp - 0x38]
call fcn.140014910
mov esi, dword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
test edi, edi
mov rcx, r13
mov rax, rdi
mov rdx, r15
setne cl
sub rax, rcx
lea rdi, [r14 + rax*2]
movsxd rax, ebx
mov rcx, rdi
lea rbx, [rax + rax]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov word [rbx + rdi], r13w
mov r15, qword [rbp - 0x48]
jmp 0x1400903c7
mov esi, dword [rbp - 0x30]
test r15, r15
je 0x1400903d4
mov rcx, r15
call fcn.14003e1e0
test esi, esi
lea rdx, [0x14025d748]
mov r8d, 0xfff
lea rcx, [0x1403969f0]
cmovne rdx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov word [0x1403989ee], r13w
mov r13, qword [rsp + 0x58]
test r14, r14
je 0x140090430
mov rcx, r14
call fcn.14003e1e0
add rsp, 0x68
pop r14
pop rbp
ret