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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
mov rdi, r8
mov rsi, rcx
mov ebp, 0x14
xor r13d, r13d
movabs rbx, 0x8000000000000000
test r8, r8
je 0x14002e536
mov r14d, 2
cmp rdi, 1
jne 0x14002e544
mov r12, rdi
jmp 0x14002e672
mov r13d, 1
xor r14d, r14d
jmp 0x14002e674
mov r12d, 1
cmp rdi, 3
jb 0x14002e565
mov rax, rdi
and rax, 0xfffffffffffffffe
cmp rax, 2
jne 0x14002e570
xor r13d, r13d
jmp 0x14002e672
mov r13d, 1
jmp 0x14002e672
cmp rdi, 5
jb 0x14002e591
lea rcx, [rdi - 4]
cmp rcx, 4
jae 0x14002e5a2
xor r13d, r13d
mov r14d, 4
mov r12, rcx
jmp 0x14002e672
mov r13d, 1
mov r14d, 4
jmp 0x14002e672
cmp rdi, 9
jb 0x14002e666
lea rcx, [rdi - 8]
cmp rcx, 4
jb 0x14002e580
cmp rdi, 0xd
jb 0x14002e6ed
lea rcx, [rdi - 0xc]
cmp rcx, 4
jb 0x14002e580
cmp rdi, 0x11
jb 0x14002e6f8
cmp rax, 0x10
je 0x14002e55d
cmp rdi, 0x13
jb 0x14002e709
cmp rax, 0x12
je 0x14002e55d
mov qword [rsp + 0x30], rdx
movzx r8d, word [rdx + 2]
movabs rcx, 0xcccccccccccccccd
mov rax, rdi
mul rcx
mov word [rsp + 0x3e], r8w
movzx eax, r8w
shr rdx, 5
mov rbx, rax
cmp rdx, rax
jae 0x14002e71a
lea r14, str.sectionsC:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fgoblin_0.7.1_srcpe_relocation.rs
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xc0], 8
mov qword [rsp + 0xc8], rbx
mov r12d, 8
mov r13d, 9
movabs rdi, 0xffffffff00000000
mov rbp, rbx
and rdi, rbx
jmp 0x14002ee4f
mov r14d, 8
mov r13d, 1
xor edi, edi
mov r15d, ebp
or r15, rdi
lea rdi, [rsp + 0x40]
mov qword [rdi], r13
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r15
lea rdx, fcn.14002d491
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fcoffee_ldr_0.1.2_srcloadermod.rsFailed_to_allocate_function
mov rcx, rdi
call fcn.14004bc1f
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
lea rcx, [rsp + 0xd0]
movups xmmword [rcx + 0x28], xmm1
movups xmmword [rcx + 0x18], xmm0
lea r8, [0x140116330]
mov qword [rcx], r8
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
call fcn.14002d316
mov qword [rsi + 8], rax
mov qword [rsi], rbx
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14d, 0xc
jmp 0x14002e66c
mov r13d, 1
mov r14d, 0x10
jmp 0x14002e672
mov r13d, 1
mov r14d, 0x12
jmp 0x14002e672
mov rax, qword [rsp + 0x30]
movzx ecx, word [rax]
mov word [rsp + 0x96], cx
mov ecx, dword [rax + 4]
mov dword [rsp + 0x12c], ecx
mov ecx, dword [rax + 8]
mov qword [rsp + 0x98], rcx
mov ecx, dword [rax + 0xc]
mov qword [rsp + 0x118], rcx
movzx ecx, word [rax + 0x10]
mov word [rsp + 0x3c], cx
movzx eax, word [rax + 0x12]
mov word [rsp + 0x94], ax
cmp word [rsp + 0x3e], 0
je 0x14002ed50
mov r12d, ebx
shl r12d, 6
mov al, byte [0x1401aa510]
xor ecx, ecx
mov rdx, r12
call fcn.1400e4e70
test rax, rax
je 0x14002f28c
mov r10, rax
movzx eax, word [rsp + 0x3c]
add rax, 0x14
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa0]
mov r9, rbx
mov qword [rax], rbx
mov qword [rax + 8], r10
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0x118]
add rax, rax
mov qword [rsp + 0x180], rax
lea rbp, [rax + rax*8]
mov rax, qword [rsp + 0x98]
add rax, rbp
mov qword [rsp + 0x178], rax
xor r15d, r15d
movabs r11, 0x8000000000000001
movabs r8, 0x8000000000000000
mov qword [rsp + 0xd8], r8
mov edx, 1
mov rax, rdi
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
sub rax, rbx
jbe 0x14002e821
cmp rax, 8
jae 0x14002e83f
mov ecx, 8
xor edx, edx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov eax, 8
mov ecx, 0x28
jmp 0x14002ea06
mov r14, r10
mov rbx, r9
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + 8]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + rcx]
mov qword [rsp + 0xd0], rax
mov rax, rdi
sub rax, rdx
jbe 0x14002e9c9
cmp rax, 4
jae 0x14002e87e
mov ecx, 4
xor r8d, r8d
jmp 0x14002e9d1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 8]
lea rdx, [rcx + 0xc]
mov dword [rsp + 0xf0], eax
mov rax, rdi
sub rax, rdx
jbe 0x14002e9c9
cmp rax, 4
jb 0x14002e871
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 0xc]
lea rdx, [rcx + 0x10]
mov dword [rsp + 0xf4], eax
mov rax, rdi
sub rax, rdx
jbe 0x14002e9c9
cmp rax, 4
jb 0x14002e871
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 0x10]
lea rdx, [rcx + 0x14]
mov dword [rsp + 0xf8], eax
mov rax, rdi
sub rax, rdx
jbe 0x14002e9c9
cmp rax, 4
jb 0x14002e871
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 0x14]
lea rdx, [rcx + 0x18]
mov dword [rsp + 0xfc], eax
mov rax, rdi
sub rax, rdx
jbe 0x14002e9c9
cmp rax, 4
jb 0x14002e871
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 0x18]
lea rdx, [rcx + 0x1c]
mov dword [rsp + 0x100], eax
mov rax, rdi
sub rax, rdx
jbe 0x14002eaf3
cmp rax, 4
jb 0x14002e871
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 0x1c]
lea rdx, [rcx + 0x20]
mov dword [rsp + 0x104], eax
mov rax, rdi
sub rax, rdx
jbe 0x14002eb00
cmp rax, 2
jb 0x14002e9bd
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rax + rcx + 0x20]
lea rdx, [rcx + 0x22]
mov word [rsp + 0x108], ax
mov rax, rdi
sub rax, rdx
jbe 0x14002eb00
cmp rax, 2
jae 0x14002eb27
mov r8w, 2
xor ecx, ecx
jmp 0x14002eb08
mov r8d, 1
mov ecx, edx
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], 0
mov ecx, 0x20
mov qword [rsp + 0x28], rdx
movabs r8, 0x8000000000000000
mov r9, rbx
mov r10, r14
movabs r11, 0x8000000000000001
mov qword [rsp + rcx + 0x40], rax
mov qword [rsp + 0x48], r11
mov rbx, qword [rsp + 0x48]
cmp rbx, r11
je 0x14002ed89
mov r14, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
lea rax, [rsp + 0x70]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xd0], xmm0
cmp r15, qword [rsp + 0xa0]
jne 0x14002eaa8
mov qword [rsp + 0x80], rcx
lea rcx, [rsp + 0xa0]
mov r15, r9
mov qword [rsp + 0x88], rdx
call fcn.140076efc
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
movabs r11, 0x8000000000000001
mov r9, r15
movabs r8, 0x8000000000000000
mov r10, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xb0]
mov rax, r15
shl rax, 6
mov qword [r10 + rax], r14
mov qword [r10 + rax + 8], rbx
mov qword [r10 + rax + 0x10], rcx
mov qword [r10 + rax + 0x18], r13
mov qword [r10 + rax + 0x20], rdx
mov qword [r10 + rax + 0x28], r12
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [r10 + rax + 0x30], xmm0
inc r15
mov qword [rsp + 0xb0], r15
dec r9
jne 0x14002e7f7
jmp 0x14002eddd
mov r8d, 1
mov ecx, edx
jmp 0x14002e9d1
mov ecx, 1
mov r8d, edx
mov qword [rsp + 0x50], rcx
mov word [rsp + 0x58], r8w
mov word [rsp + 0x5e], 0
mov dword [rsp + 0x5a], 0
jmp 0x14002e9e2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rax + rcx + 0x22]
lea rdx, [rcx + 0x24]
mov word [rsp + 0x10a], ax
mov rax, rdi
sub rax, rdx
jbe 0x14002eb5a
cmp rax, 4
jae 0x14002eb71
mov r8d, 4
xor ecx, ecx
jmp 0x14002eb62
mov ecx, 1
mov r8d, edx
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x58], r8d
jmp 0x14002e9da
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx + 0x24]
add rcx, 0x28
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x10c], eax
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0xd0]
call fcn.14004c897
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x140]
cmp r8, 0xa
jne 0x14002ecbe
test rdx, rdx
je 0x14002ec88
add rcx, qword [rsp + 0x178]
mov word [rsp + 0x190], 0
mov qword [rsp + 0x120], rcx
lea rax, [rsp + 0x190]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x130]
mov rdx, qword [rsp + 0x30]
mov r8, rdi
lea r9, [rsp + 0x120]
call fcn.14004c275
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
cmp rax, 5
jne 0x14002ecdf
lea rcx, [rsp + 0x1a0]
call case.0x140045224.135
mov rax, qword [rsp + 0xd8]
shl rax, 1
test rax, rax
je 0x14002ec69
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x1401aa478]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x1b0]
lea rcx, [rsp + 0xd8]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
movups xmm3, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
jmp 0x14002ed31
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov ecx, 0x28
jmp 0x14002e9ec
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], rcx
movabs rax, 0x8000000000000001
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xd8]
shl rax, 1
test rax, rax
je 0x14002ed31
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x1401aa478]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movabs r8, 0x8000000000000000
mov r9, rbx
mov r10, r14
movabs r11, 0x8000000000000001
jmp 0x14002ea10
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], 8
mov qword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x118]
add rax, rax
lea rbp, [rax + rax*8]
mov eax, 8
xor r15d, r15d
jmp 0x14002eded
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
lea rcx, [rsp + 0xa0]
call fcn.14004c857
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xc0], r12
mov rbx, r15
mov qword [rsp + 0xc8], r15
cmp r13, 0xa
jne 0x14002e651
mov rax, qword [rsp + 0x180]
lea rbp, [rax + rax*8]
jmp 0x14002ee05
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], r15
mov r12, rdi
sub r12, qword [rsp + 0x98]
jbe 0x14002ee27
cmp r12, rbp
jae 0x14002ee5e
xor r13d, r13d
mov rax, rbp
mov qword [rsp + 0x98], rbp
jmp 0x14002ee2d
mov r13d, 1
mov r14, qword [rsp + 0x98]
movabs rdi, 0xffffffff00000000
and rdi, rbp
lea rcx, [rsp + 0xb8]
call fcn.14004c857
movabs rbx, 0x8000000000000000
jmp 0x14002e674
mov rax, qword [rsp + 0x98]
lea r14, [rax + rbp]
mov r12, rdi
sub r12, r14
jbe 0x14002ee83
cmp r12, 4
jae 0x14002ee8b
mov r14d, 4
xor r13d, r13d
jmp 0x14002ee89
mov r13d, 1
jmp 0x14002ee35
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + r14]
lea r13, [rax - 4]
lea rcx, [r14 + 4]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x120], r13
mov rdx, rcx
add rdx, r13
setb byte [rsp + 0x3b]
jb 0x14002f02b
cmp rdx, rdi
ja 0x14002f02b
add r14, rax
cmp eax, 4
jb 0x14002f299
cmp r14, rdi
ja 0x14002f2a8
add rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x68]
mov word [rdx - 0x10], 0
mov qword [rdx], rcx
mov qword [rdx + 8], r13
xor eax, eax
mov qword [rdx - 0x28], rax
mov qword [rdx - 0x20], 8
mov qword [rdx - 0x18], rax
test r13, r13
je 0x14002f0f4
mov r12d, 8
xor eax, eax
mov qword [rsp + 0x28], rax
xor ebx, ebx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x130], rbx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xd0]
mov r8, r13
lea r9, [rsp + 0x130]
call fcn.14004c275
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x80], rax
cmp r15, 5
jne 0x14002f259
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0x40]
jne 0x14002ef9f
lea rcx, [rsp + 0x40]
call fcn.1400ee44c
mov r12, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov r13, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x28]
lea rax, [rdx + rdx*2]
mov qword [r12 + rax*8], rbx
mov qword [r12 + rax*8 + 8], r14
mov rcx, qword [rsp + 0x80]
mov qword [r12 + rax*8 + 0x10], rcx
inc rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x50], rdx
add rbx, rcx
inc rbx
cmp rbx, r13
jb 0x14002ef1c
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x68]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xa0], xmm0
mov r14, qword [rsp + 0x28]
movabs rax, 0x8000000000000000
cmp r12, rax
je 0x14002f0dc
jmp 0x14002f13a
lea rax, [rsp + 0x190]
mov qword [rax], rdi
lea rcx, [rsp + 0x120]
lea r8, [rsp + 0xd0]
mov qword [r8], rcx
lea rcx, [fcn.140037cc0]
mov qword [r8 + 8], rcx
lea rdx, [rsp + 0x188]
mov qword [r8 + 0x10], rdx
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], rax
mov qword [r8 + 0x28], rcx
lea rax, [rsp + 0x3b]
mov qword [r8 + 0x30], rax
lea rax, [0x14003f840]
mov qword [r8 + 0x38], rax
lea rax, str.Strtable_size_____offset____is_out_of_bounds_for__bytes._Overflowed:
lea rdx, [rsp + 0x130]
mov qword [rdx], rax
mov eax, 4
mov qword [rdx + 8], rax
mov qword [rdx + 0x20], 0
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], rax
lea rdi, [rsp + 0x1a0]
mov rcx, rdi
call fcn.140028220
mov r14, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x80], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x88], rax
mov r15d, 5
mov rbp, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov r13, r15
jmp 0x14002ee35
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0xa8], rax
mov r15d, 8
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x168], rax
mov rbx, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
movabs rax, 0x8000000000000000
cmp rbx, rax
je 0x14002e67a
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0xd8], rax
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], r12
mov qword [rsi + 0x20], r15
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x30], rax
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0x38], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x40], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsi + 0x48], rax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x98]
lea rax, [rcx + rdx]
mov qword [rsi + 0x50], rax
mov qword [rsi + 0x58], rbp
movzx eax, word [rsp + 0x96]
mov word [rsi + 0x60], ax
movzx eax, word [rsp + 0x3e]
mov word [rsi + 0x62], ax
mov eax, dword [rsp + 0x12c]
mov dword [rsi + 0x64], eax
mov dword [rsi + 0x68], edx
mov rax, qword [rsp + 0x118]
mov dword [rsi + 0x6c], eax
movzx eax, word [rsp + 0x3c]
mov word [rsi + 0x70], ax
movzx eax, word [rsp + 0x94]
mov word [rsi + 0x72], ax
mov qword [rsi + 0x78], rcx
mov qword [rsi + 0x80], rdi
jmp 0x14002e6d6
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x40], 0
je 0x14002f0dc
mov rcx, qword [0x1401aa478]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14002f0dc
mov ecx, 8
mov rdx, r12
call fcn.140103bc0
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fgoblin_0.7.1_src_strtab.rs
mov rdx, r14
call fcn.140104ad0
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fgoblin_0.7.1_src_strtab.rs
mov rcx, r14
mov rdx, rdi
call fcn.140104890
int3