Function at 0x1400308c0
Capabilities:
Enumerate pe sections
Get common file path
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xe70
mov rax, qword [0x140203000]
xor rax, rsp
mov qword [rsp + 0xe60], rax
mov rax, qword [rsp + 0xe80]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x130]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x130]
lea rax, [rcx + rax + 0x108]
mov qword [rsp + 0x230], rax
cmp qword [rsp + 0x130], 0
je 0x140030950
cmp qword [rsp + 0x60], 0
je 0x140030950
cmp qword [rsp + 0x230], 0
jne 0x140030957
xor al, al
jmp 0x140032786
mov dword [rsp + 0xd4], 3
jmp 0x140030974
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0x2d62
jae 0x140030a4d
mov ecx, 0xea60
call fcn.14002cfd0
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x94], 0
jmp 0x1400309c4
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0x2e54
jae 0x1400309f6
cmp dword [rsp + 0x94], 0x37
jne 0x1400309dd
jmp 0x1400309f6
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x188]
mov dword [rcx + rax*4], 0x1f91
jmp 0x1400309b4
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x208], rax
mov rcx, qword [rsp + 0x208]
call fcn.140038030
cmp qword [rsp + 0x208], 0
jne 0x140030a2c
mov qword [rsp + 0x2e0], 0
jmp 0x140030a48
mov qword [rsp + 0x188], 0x8123
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x2e0], rax
jmp 0x140030964
mov dword [rsp + 0xd8], 8
jmp 0x140030a6a
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 0x2d25
jae 0x140030b43
mov ecx, 0xea60
call fcn.14002cfd0
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x190], rax
mov dword [rsp + 0x98], 0
jmp 0x140030aba
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0x33b4
jae 0x140030aec
cmp dword [rsp + 0x98], 0x2f
jne 0x140030ad3
jmp 0x140030aec
movsxd rax, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x190]
mov dword [rcx + rax*4], 0x1f24
jmp 0x140030aaa
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x210], rax
mov rcx, qword [rsp + 0x210]
call fcn.140038030
cmp qword [rsp + 0x210], 0
jne 0x140030b22
mov qword [rsp + 0x2f0], 0
jmp 0x140030b3e
mov qword [rsp + 0x190], 0x8123
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x2f0], rax
jmp 0x140030a5a
mov dword [rsp + 0x1c4], 0xc
lea rdx, [rsp + 0xc60]
mov ecx, 0x100
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor ecx, ecx
call fcn.140035da0
mov ecx, eax
call fcn.140045c80
mov dword [rsp + 0xdc], 1
jmp 0x140030b8c
mov eax, dword [rsp + 0xdc]
inc eax
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xdc], 0x2cc6
jae 0x140030c65
mov ecx, 0xea60
call fcn.14002cfd0
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x198], rax
mov dword [rsp + 0x9c], 0
jmp 0x140030bdc
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0x3284
jae 0x140030c0e
cmp dword [rsp + 0x9c], 0x5b
jne 0x140030bf5
jmp 0x140030c0e
movsxd rax, dword [rsp + 0x9c]
mov rcx, qword [rsp + 0x198]
mov dword [rcx + rax*4], 0x1da5
jmp 0x140030bcc
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x218], rax
mov rcx, qword [rsp + 0x218]
call fcn.140038030
cmp qword [rsp + 0x218], 0
jne 0x140030c44
mov qword [rsp + 0x300], 0
jmp 0x140030c60
mov qword [rsp + 0x198], 0x8123
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x300], rax
jmp 0x140030b7c
movzx eax, byte [0x14008d572]
mov byte [rsp + 0x940], al
lea rax, [rsp + 0x941]
mov rdi, rax
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
xor edx, edx
mov eax, dword [rsp + 0x1c4]
mov ecx, 0x10
div ecx
mov eax, edx
mov dword [rsp + 0x1c8], eax
mov dword [rsp + 0xe0], 0
jmp 0x140030cbd
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0xe0], eax
jge 0x140030d21
call fcn.140045c40
cdqe
xor edx, edx
mov ecx, 0xf
div rcx
mov rax, rdx
mov dword [rsp + 0x1c0], eax
movsxd rax, dword [rsp + 0x1c0]
lea rcx, str.CPRBXAFNZEDWVASabcdefghijklmnopqrstuvwxyzSLAIDP
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x740], al
mov byte [rsp + 0x741], 0
lea rdx, [rsp + 0x740]
lea rcx, [rsp + 0x940]
call fcn.1400451d0
jmp 0x140030cad
mov dword [rsp + 0xe4], 1
jmp 0x140030d3e
mov eax, dword [rsp + 0xe4]
inc eax
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0x2df8
jae 0x140030e17
mov ecx, 0xea60
call fcn.14002cfd0
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0xa0], 0
jmp 0x140030d8e
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0x2cf9
jae 0x140030dc0
cmp dword [rsp + 0xa0], 0x22
jne 0x140030da7
jmp 0x140030dc0
movsxd rax, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x1a0]
mov dword [rcx + rax*4], 0x1c26
jmp 0x140030d7e
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x220], rax
mov rcx, qword [rsp + 0x220]
call fcn.140038030
cmp qword [rsp + 0x220], 0
jne 0x140030df6
mov qword [rsp + 0x310], 0
jmp 0x140030e12
mov qword [rsp + 0x1a0], 0x8123
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x310], rax
jmp 0x140030d2e
lea rdx, [rsp + 0xc60]
lea rcx, [rsp + 0xa50]
call fcn.140043c50
lea rdx, [rsp + 0x940]
lea rcx, [rsp + 0xa50]
call fcn.140043bc0
mov eax, 2
imul rax, rax, 0x103
mov qword [rsp + 0x228], rax
cmp qword [rsp + 0x228], 0x208
jae 0x140030e65
jmp 0x140030e6a
call fcn.1400386a0
xor eax, eax
mov rcx, qword [rsp + 0x228]
mov word [rsp + rcx + 0xa50], ax
mov qword [rsp + 0x460], 0
add al, 0
add byte [rax], al
add byte [rax], al
add byte [rbp + rcx*4 + 5], cl
fstp qword [rdx + 0xb]
add byte [rax - 0x73], cl
xchg esp, eax
and al, 0x50
or al, byte [rax]
add byte [rax - 0x73], cl
mov word [rax + riz*2], fs
add al, 0
add al, ch
lodsb al, byte [rsi]
add dword [rax], eax