Function at 0x140020370
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4b0
mov rax, qword [0x1400db800]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
mov r14, r8
mov qword [rsp + 0x48], rcx
mov r15, rdx
lea rcx, [rsp + 0x60]
xor r13d, r13d
xor edx, edx
mov r8d, 0x400
mov dword [rsp + 0x40], r13d
xor r12d, r12d
call fcn.1400b1140
test r15, r15
je 0x14002041f
mov rax, qword [0x1400dc580]
xor ebp, ebp
test rax, rax
je 0x14002041f
xor ebx, ebx
lea rsi, [0x1400dc580]
xor edi, edi
nop
mov rdx, rax
mov rcx, r15
call fcn.14009b63c
test eax, eax
je 0x14002045c
mov rdx, qword [rdi + rsi + 8]
test rdx, rdx
je 0x140020405
mov rcx, r15
call fcn.14009b63c
test eax, eax
je 0x14002045c
inc rbx
inc ebp
lea rax, [rbx + rbx*4]
lea rdi, [rax*8]
mov rax, qword [rdi + rsi]
test rax, rax
jne 0x1400203e0
mov rcx, qword [rsp + 0x48]
mov r8, r14
mov rdx, r15
call fcn.140020000
xor eax, eax
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.140094850
mov rbx, qword [rsp + 0x508]
add rsp, 0x4b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movsxd rax, ebp
lea rcx, [rax + rax*4]
lea rdi, [rsi + rcx*8]
test rdi, rdi
je 0x14002041f
test r14, r14
je 0x140020743
cmp word [r14], r12w
je 0x140020743
mov r8, 0xffffffffffffffff
mov rcx, r8
nop dword [rax]
inc rcx
cmp word [r14 + rcx*2], r12w
jne 0x140020490
inc rcx
mov eax, 2
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140094b74
mov rsi, rax
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov rdx, rsi
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.14001fe90
mov r12d, eax
test eax, eax
je 0x1400204f7
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
mov r9, qword [rdi]
mov rcx, rbx
mov edx, 0x3ec
call fcn.14001c6d0
jmp 0x140020798
mov r13d, dword [rsp + 0x40]
cmp r13d, 1
jl 0x140020746
mov rcx, qword [rsp + 0x60]
lea rdx, [0x1400c7f58]
call fcn.14009b63c
test eax, eax
je 0x140020549
mov rcx, qword [rsp + 0x60]
lea rdx, [0x1400c7f64]
call fcn.14009b63c
test eax, eax
je 0x140020549
mov rcx, qword [rsp + 0x60]
lea rdx, [0x1400c7f6c]
call fcn.14009b63c
test eax, eax
jne 0x140020746
cmp qword [rdi + 0x20], 0
je 0x140020723
mov rbx, qword [0x1400e1228]
lea r8, str.RT_TEXT_FILE
mov rcx, rbx
mov edx, 0x110
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rsi, rax
test rax, rax
je 0x14002060a
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, rsi
mov rcx, rbx
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14002060a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x14002060a
cmp ebp, 4
jbe 0x14002060a
mov ecx, dword [rax]
mov edx, 8
mov dword [rsp + 0x40], ecx
mov r8d, ecx
mov rcx, qword [0x1400e1230]
add ebp, 0xfffffffc
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x14002060a
lea r8, [rsi + 4]
mov r9d, ebp
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.14004bf10
cmp eax, 1
je 0x14002061f
mov rcx, qword [0x1400e1230]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [rsp + 0x40], 0
mov rbx, qword [rsp + 0x48]
mov r12d, 0x4c7
mov rsi, qword [rsp + 0x50]
jmp 0x140020798
mov rax, qword [rdi + 0x20]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x460]
xor r9d, r9d
lea rax, str._____s_r_n
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
lea edx, [r9 + 0x40]
call fcn.140021250
mov rsi, qword [rsp + 0x58]
lea rax, [rsp + 0x460]
mov edi, dword [rsp + 0x40]
sub rsi, rax
sub rdi, rsi
mov rbp, rbx
add rdi, rbx
cmp rbx, rdi
jae 0x1400206ff
nop dword [rax]
cmp byte [rbx], 0x2d
jne 0x1400206a2
cmp byte [rbx + 1], 0x2d
jne 0x1400206a2
mov r8, rsi
lea rdx, [rsp + 0x460]
mov rcx, rbx
call fcn.1400a1550
test eax, eax
je 0x1400206ac
inc rbx
cmp rbx, rdi
jb 0x140020680
jmp 0x1400206ff
lea rcx, [rsi + rbx]
test rcx, rcx
je 0x1400206ff
add rdi, rsi
mov rdx, rcx
cmp rcx, rdi
jae 0x1400206d6
cmp byte [rdx], 0x2d
lea rax, [rdx + 1]
jne 0x1400206ce
cmp byte [rax], 0x2d
je 0x1400206d6
mov rdx, rax
cmp rax, rdi
jb 0x1400206c0
call fcn.1400942b0
mov rbx, rax
test rax, rax
je 0x1400206ff
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1400c7b50]
mov r8, rax
call fcn.14001c6a0
mov rcx, rbx
call fcn.140062970
mov rcx, qword [0x1400e1230]
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x48]
mov r12d, 0x4c7
mov rsi, qword [rsp + 0x50]
jmp 0x140020798
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
mov r9, qword [rdi]
mov rcx, rbx
mov edx, 0x11f
call fcn.14001c6d0
mov r12d, 0x4c7
jmp 0x140020798
mov rsi, r12
mov rbx, qword [rsp + 0x48]
cmp r13d, dword [rdi + 0x1c]
jle 0x140020785
mov r9, qword [rdi]
xor r8d, r8d
mov edx, 0x3ec
mov rcx, rbx
call fcn.14001c6d0
mov r12d, 0x667
cmp r13d, dword [rdi + 0x1c]
jle 0x140020785
mov r9, qword [rdi]
xor r8d, r8d
mov edx, 0x3ed
mov rcx, rbx
call fcn.14001c6d0
jmp 0x140020798
test r12d, r12d
jne 0x140020798
lea rdx, [rsp + 0x60]
mov rcx, rbx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r12d, eax
test rsi, rsi
je 0x1400207a5
mov rcx, rsi
call fcn.140062970
lea rdx, [0x1400c7f54]
mov rcx, rbx
call fcn.14001c6a0
mov eax, r12d
jmp 0x140020431