Function at 0x140003980
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4a0
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rbp + 0x4a0], rbx
mov rax, qword [0x14001e048]
xor rax, rbp
mov qword [rbp + 0x450], rax
mov qword [rbp], r9
mov r13, r8
mov r12, rdx
xor esi, esi
mov ebx, esi
mov qword [rbp + 8], rbx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x40], rsi
test rdx, rdx
je 0x140003c12
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], si
jne 0x1400039e3
inc eax
cdqe
lea r15, [rax + rax]
mov eax, 0x80000000
add rax, r15
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x140003aad
movsxd rdi, r15d
cmp r15d, 0x400
jg 0x140003a48
mov rcx, rdi
call fcn.140002a30
test al, al
je 0x140003a48
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x140003a35
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.140012740
sub rsp, rax
lea r14, [rsp + 0x40]
jmp 0x140003a75
mov rax, rdi
not rax
cmp rax, 0x10
jb 0x140003c67
lea rcx, [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140003aad
mov qword [rax], rsi
mov rbx, rax
mov qword [rbp + 8], rax
lea r14, [rax + 0x10]
test r14, r14
je 0x140003aad
mov byte [r14], sil
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
or r9d, 0xffffffff
mov r8, r12
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb rdi, rdi
and rdi, r14
jmp 0x140003ab0
mov rdi, rsi
test rdi, rdi
je 0x140003c12
xor edx, edx
lea r8d, [rdx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov r14, rax
mov qword [rbp + 0x10], rax
test rax, rax
jne 0x140003afb
xor edx, edx
lea r8d, [rax + 2]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov r14, rax
mov qword [rbp + 0x10], rax
test rax, rax
jne 0x140003afb
call fcn.140002c34
mov edi, eax
jmp 0x140003be7
mov r8, qword [rbp]
mov rdx, r13
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdi, rax
test rax, rax
jne 0x140003b1d
call fcn.140002c34
jmp 0x140003bd6
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r15, rax
mov qword [rbp + 0x18], rax
test rax, rax
je 0x140003b13
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
mov dword [rbp], edi
lea eax, [rdi + 1]
cmp eax, edi
jae 0x140003b57
mov edi, 0x8007000e
jmp 0x140003bd8
mov ecx, eax
test eax, eax
je 0x140003b87
xor edx, edx
or rax, 0xffffffffffffffff
div rcx
cmp rax, 1
jb 0x140003c75
cmp rcx, 0x400
jbe 0x140003b87
mov rdx, rcx
lea rcx, [rbp + 0x40]
call fcn.14000942c
jmp 0x140003b8f
lea rax, [rbp + 0x48]
mov qword [rbp + 0x40], rax
jmp 0x140003ba2
cmp qword [rbp + 0x40], rsi
je 0x140003b4d
mov r9, rdi
mov r8, r15
mov rdx, rdi
mov rcx, qword [rbp + 0x40]
call fcn.140002ba4
mov rax, qword [rbp + 0x40]
mov byte [rdi + rax], sil
mov r8d, dword [rbp + 0x4c0]
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.140004fa0
mov edi, eax
test r14, r14
je 0x140003be7
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
lea rax, [rbp + 0x48]
cmp qword [rbp + 0x40], rax
je 0x140003bfb
lea rcx, [rbp + 0x40]
call fcn.140008d6c
nop
jmp 0x140003c09
mov rcx, rbx
mov rbx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
jne 0x140003bfd
mov eax, edi
jmp 0x140003c3e
lea rax, [rbp + 0x48]
cmp qword [rbp + 0x40], rax
je 0x140003c26
lea rcx, [rbp + 0x40]
call fcn.140008d6c
nop
jmp 0x140003c34
mov rcx, rbx
mov rbx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
jne 0x140003c28
mov eax, 0x8007000e
mov rcx, qword [rbp + 0x450]
xor rcx, rbp
call fcn.140010d90
mov rbx, qword [rbp + 0x4a0]
lea rsp, [rbp + 0x460]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80070216
call fcn.140002b80
nop
jmp 0x140003c74
nop
mov ecx, 0x80070216
call fcn.140002b80
int3