Function at 0x10021b30
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
mov esi, 0x80070057
cmp dword [ebp + 8], ebx
jne 0x10021b79
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d27
test byte [eax + 0x1c], 1
je 0x10021d27
push 0x1000bea8
push 0x41
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
jmp 0x10021d27
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100216c2
mov esi, eax
test esi, esi
jns 0x10021bbc
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d27
test byte [eax + 0x1c], 1
je 0x10021d27
push esi
push 0x1000bea8
push 0x42
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1001334b
jmp 0x10021d27
push 2
push 0
push dword [ebp + 0xc]
call sub.KERNEL32.dll_LoadLibraryExW
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x10021c0a
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x10021be6
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d27
test byte [eax + 0x1c], 1
je 0x10021d27
push esi
push 0x1000bea8
push 0x43
jmp 0x10021bac
push 0x10021f1c
push 0x10021f44
push eax
call sub.KERNEL32.dll_FindResourceW
mov esi, eax
test esi, esi
jne 0x10021c69
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x10021c37
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d1f
test byte [eax + 0x1c], 1
je 0x10021d1f
push esi
push 0x1000bea8
push 0x44
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1001334b
jmp 0x10021d1f
push esi
push dword [ebp + 0xc]
call sub.KERNEL32.dll_SizeofResource
lea ecx, [eax - 0x98]
mov dword [ebp - 8], eax
cmp ecx, 0x7ff68
ja 0x10021ee6
push esi
push dword [ebp + 0xc]
call sub.KERNEL32.dll_LoadResource
mov dword [ebp + 8], eax
test eax, eax
jne 0x10021cca
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x10021cae
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d1f
test byte [eax + 0x1c], 1
je 0x10021d1f
push esi
push 0x1000bea8
push 0x46
jmp 0x10021c59
push eax
call sub.KERNEL32.dll_LockResource
mov ebx, eax
test ebx, ebx
jne 0x10021d30
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x10021ced
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
push esi
push 0x1000bea8
push 0x47
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1001334b
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x10021d1f
push ebx
call sub.KERNEL32.dll_FreeResource
push dword [ebp + 0xc]
call sub.KERNEL32.dll_FreeLibrary
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10
cmp dword [ebx], reloc.ADVAPI32.dll_TraceMessage
je 0x10021d63
mov esi, 0x90070a0b
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
push 0x1000bea8
push InitializeCriticalSection
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
jmp 0x10021d12
lea eax, [edi + 8]
lea ecx, [ebx + 0x18]
push eax
push ecx
mov dword [ebp - 4], ecx
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x10021dab
mov esi, 0x90070a0b
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
push dword [ebp - 4]
push 0x1000bea8
push reloc.KERNEL32.dll_InitializeCriticalSection
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.10013378
jmp 0x10021d12
mov eax, dword [ebx + 4]
cmp eax, dword [edi + 4]
je 0x10021dde
mov esi, 0x90070a0b
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
push 0x1000bea8
push 0x4a
jmp 0x10021d56
lea eax, [ebx + 0x10]
push eax
call fcn.1002005e
test eax, eax
je 0x10021e16
mov esi, 0x90070a0a
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
push 0x1000bea8
push 0x4b
jmp 0x10021d56
push dword [ebp + 0x14]
mov ecx, edi
push 0x1000bde0
push dword [ebp + 0x10]
call fcn.1002247c
mov esi, eax
test esi, esi
jns 0x10021e61
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x10021e54
mov ecx, 0x1000c644
push ecx
push 0x1000bea8
push 0x4c
jmp 0x10021d9b
push dword [ebp - 8]
mov ecx, edi
push ebx
call fcn.10022b40
mov esi, eax
test esi, esi
jns 0x10021e99
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d12
test byte [eax + 0x1c], 1
je 0x10021d12
push esi
push 0x1000bea8
push 0x4d
jmp 0x10021d07
mov eax, dword [edi + 0x90]
mov ecx, dword [edi + 0x88]
cmp eax, ecx
jae 0x10021ed7
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021ecd
test byte [eax + 0x1c], 1
je 0x10021ecd
push 0x1000bea8
push 0x4e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
mov esi, 0x80004005
jmp 0x10021d12
sub eax, ecx
mov dword [edi + 0x8c], eax
xor esi, esi
jmp 0x10021d12
mov esi, 0x90070a0b
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10021d1f
test byte [eax + 0x1c], 1
je 0x10021d1f
push 0x1000bea8
push 0x45
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
jmp 0x10021d15