Function at 0x140005960
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rdi
sub rsp, 0x78
mov rax, qword [0x140033080]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rdi, rcx
mov rbx, rdx
mov rcx, qword [0x140033d48]
lea rax, [rcx + 0x70]
cmp rax, rdx
je 0x14000599b
mov rcx, rax
call fcn.1400018e0
mov rcx, qword [0x140033d48]
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x38], r8d
test r8d, r8d
je 0x140005c7b
sub r8d, 1
je 0x140005c82
sub r8d, 1
je 0x140005c72
sub r8d, 1
je 0x140005a32
cmp r8d, 2
jne 0x140005ca6
mov rdx, qword [rcx + 0x80]
xor r9d, r9d
mov rcx, rdi
xor r8d, r8d
call fcn.1400040c0
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 5
mov qword [rsp + 0x40], rax
call qword [0x140033d78]
mov rcx, qword [0x140033d38]
mov rdx, rax
call qword [0x140033e70]
mov rcx, rax
call qword [0x140033db0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x140005ca6
mov r8, qword [rcx + 0x80]
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x70], rsi
mov eax, dword [r8 + 8]
mov ebx, dword [r8 + 0xc]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea ecx, [rax*2 + 2]
mov eax, ebx
imul eax, ecx
movsxd rcx, eax
call fcn.140007ae8
mov r8, qword [0x140033d48]
lea ebp, [rbx - 1]
xor edi, edi
mov dword [rsp + 0x30], ebp
mov rsi, rax
mov rcx, qword [r8 + 0x80]
mov r9, qword [rcx + 0x48]
test ebp, ebp
js 0x140005c05
mov qword [rsp + 0x68], r12
xor ebx, ebx
mov qword [rsp + 0x60], r13
lea r12d, [rdi + 0x10]
mov qword [rsp + 0x58], r14
lea r13d, [rdi + 4]
mov qword [rsp + 0x50], r15
lea r14d, [rdi + 8]
lea r15d, [rdi + 0x20]
xor edx, edx
nop dword [rax]
mov rax, qword [r8 + 0x80]
mov r10d, dword [rax + 8]
test r10d, r10d
jle 0x140005bc9
mov ebp, 2
nop dword [rax]
lea rax, [rdx*4]
inc rdx
cmp dword [rax + r9], 0
sete r11b
cmp r10d, 7
jle 0x140005b66
xor eax, eax
mov r8d, 0x40
cmp dword [r9 + rdx*4 + 4], eax
cmove eax, r15d
xor ecx, ecx
cmp dword [r9 + rdx*4 + 8], ecx
cmove ecx, r12d
or al, cl
xor ecx, ecx
cmp dword [r9 + rdx*4 + 0xc], ecx
cmove ecx, r14d
or al, cl
xor ecx, ecx
cmp dword [r9 + rdx*4 + 0x10], ecx
cmove ecx, r13d
or al, cl
xor ecx, ecx
cmp dword [r9 + rdx*4 + 0x14], ecx
cmove ecx, ebp
or al, cl
cmp dword [r9 + rdx*4 + 0x18], 0
sete cl
or al, cl
xor ecx, ecx
cmp dword [r9 + rdx*4], ecx
cmove ecx, r8d
shl r11b, 7
or al, cl
add rdx, 7
or al, r11b
add r10d, 0xfffffff8
jmp 0x140005bad
lea r8d, [r10 - 1]
movzx eax, r11b
test r8d, r8d
jle 0x140005b9f
nop dword [rax]
nop word [rax + rax]
lea rcx, [rdx*4]
inc rdx
cmp dword [rcx + r9], 0
sete cl
add al, al
or al, cl
dec r8d
test r8d, r8d
jg 0x140005b80
mov ecx, r14d
sub ecx, r10d
mov r10d, 0xffffffff
shl al, cl
mov byte [rbx + rsi], al
inc edi
inc rbx
test r10d, r10d
jg 0x140005ae0
mov r8, qword [0x140033d48]
mov ebp, dword [rsp + 0x30]
dec ebp
lea eax, [rdi + 1]
mov ecx, edi
mov dword [rsp + 0x30], ebp
and ecx, 1
cmove eax, edi
test ecx, ecx
mov edi, eax
lea rax, [rbx + 1]
cmove rax, rbx
mov rbx, rax
test ebp, ebp
jns 0x140005ac0
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rax, qword [r8 + 0x80]
mov r9d, 1
mov r8d, r9d
mov qword [rsp + 0x20], rsi
mov edx, dword [rax + 0xc]
mov ecx, dword [rax + 8]
call qword [0x140033d70]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rbx, rax
call qword [0x140033d78]
mov rcx, qword [0x140033d38]
mov rdx, rax
call qword [0x140033e70]
mov rcx, rax
call qword [0x140033db0]
mov rcx, rbx
call qword [0x140033db0]
mov rcx, rsi
call fcn.140007ae0
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0xa0]
jmp 0x140005ca6
movsxd rax, dword [rcx + 0x7c]
mov qword [rsp + 0x40], rax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x3c], eax
lea rcx, [rsp + 0x38]
call qword [0x140033d78]
mov rcx, qword [0x140033d38]
mov rdx, rax
call qword [0x140033e70]
mov rcx, rax
call qword [0x140033db0]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140007810
add rsp, 0x78
pop rdi
pop rbx
ret