Function at 0x5b86c801
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 4], 0
je 0x5b86ca81
mov eax, dword [esi + 4]
push 6
push 7
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
jne 0x5b86c880
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x5b86c842
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86c868
test byte [eax + 0x1c], 1
je 0x5b86c868
push esi
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x15
pop ecx
call fcn.5b81ae33
push esi
lea ecx, [esp + 0x24]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x24]
jmp 0x5b86cabd
mov eax, dword [esi + 4]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [esi + 4]
mov ebx, eax
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x5b86c8ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x5b86c8b1
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86c8d7
test byte [eax + 0x1c], 1
je 0x5b86c8d7
push esi
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x16
pop ecx
call fcn.5b81ae33
push esi
lea ecx, [esp + 0x34]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x34]
jmp 0x5b86cabd
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edx, eax
lea esi, [edx + ebx]
test edx, edx
jne 0x5b86c952
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x5b86c914
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86c93a
test byte [eax + 0x1c], 1
je 0x5b86c93a
push esi
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x17
pop ecx
call fcn.5b81ae33
push esi
lea ecx, [esp + 0x44]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x44]
jmp 0x5b86cabd
movzx eax, word [edx]
add edx, 2
push 0xf
pop ecx
dec ecx
cmp edx, esi
jae 0x5b86ca3c
movzx eax, ax
lea edx, [edx + eax*2]
movzx eax, word [edx]
add edx, 2
test ecx, ecx
jne 0x5b86c95b
cmp edx, esi
jae 0x5b86ca3c
cmp cx, ax
jne 0x5b86c9c9
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86c9ad
test byte [eax + 0x1c], 1
je 0x5b86c9ad
push 0x6f
push 0x6f
lfence
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x19
pop ecx
call fcn.5b81b7ec
push 0x80070490
lea ecx, [esp + 0x54]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x54]
jmp 0x5b86cabd
mov ecx, eax
mov eax, dword [ebp + 0xc]
lea esi, [ecx + 1]
test eax, eax
je 0x5b86ca31
cmp dword [ebp + 0x10], esi
jae 0x5b86ca1b
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86c9ff
test byte [eax + 0x1c], 1
je 0x5b86c9ff
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x1a
pop ecx
call fcn.5b81ae17
push 0x8007007a
lea ecx, [esp + 0x64]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x64]
jmp 0x5b86cabd
add ecx, ecx
xor edi, edi
push ecx
push edx
lfence
push eax
mov word [ecx + eax], di
call fcn.5b887050
add esp, 0xc
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86ca68
test byte [eax + 0x1c], 1
je 0x5b86ca68
push 0x6f
push 0x6f
lfence
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x18
pop ecx
call fcn.5b81b7ec
push 0x80070490
lea ecx, [esp + 0x74]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x74]
jmp 0x5b86cabd
mov eax, dword [0x5b89602c]
cmp eax, 0x5b89602c
je 0x5b86caa6
test byte [eax + 0x1c], 1
je 0x5b86caa6
push dword [eax + 0x14]
mov edx, 0x5b8177ec
push dword [eax + 0x10]
push 0x14
pop ecx
call fcn.5b81ae17
push 0x8000ffff
lea ecx, [esp + 0x14]
call fcn.5b86cc36
push 0x5b894880
lea eax, [esp + 0x14]
push eax
call fcn.5b885548
int3