Function at 0x100028f0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1038
call fcn.10005f10
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
cmp ebx, esi
push edi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], esi
je 0x1000293e
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.10005f10
mov esi, esp
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 0
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 2
push 0
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edi, eax
test edi, edi
mov dword [ebp - 0xc], edi
jne 0x1000298a
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x10002979
call esi
and eax, 0xffff
or eax, 0x80070000
lea esp, [ebp - 0x1044]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
lea esp, [ebp - 0x1044]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov ebx, eax
test ebx, ebx
jne 0x100029ad
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x100029dc
jmp 0x100029c7
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x100029e3
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x100029dc
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
jmp 0x10002c09
xor esi, esi
jmp 0x10002c09
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov cl, byte [eax + esi]
mov dword [ebp + 8], eax
test cl, cl
mov ebx, esi
je 0x10002a24
lea edi, [eax + 1]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.10005f10
mov ecx, edi
mov ebx, esp
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xc]
mov byte [ebx + eax], 0
push ebx
mov dword [ebp + 8], 0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
shl eax, 1
push eax
lea ecx, [ebp - 0x18]
call fcn.10002c30
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x10002a56
push 0
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov esi, 0x8007000e
jmp 0x10002c09
mov eax, ebx
xor edi, edi
mov dword [ebp - 8], eax
mov cl, byte [ebx]
test cl, cl
je 0x10002b00
mov esi, dword [sym.imp.USER32.dll_CharNextA]
mov cl, byte [eax]
push eax
cmp cl, 0x25
jne 0x10002a82
call esi
mov dword [ebp - 8], eax
mov cl, byte [eax]
cmp cl, 0x25
jne 0x10002a9b
push eax
lea ecx, [ebp - 0x18]
call fcn.10002c50
mov eax, dword [ebp - 8]
push eax
call esi
mov dword [ebp - 8], eax
mov cl, byte [eax]
test cl, cl
jne 0x10002a6d
jmp 0x10002b00
push 0x25
push eax
call fcn.10002e40
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10002af8
mov eax, dword [ebp - 8]
mov ecx, ebx
sub ecx, eax
cmp ecx, 0x1f
jg 0x10002af1
inc ecx
push ecx
lea ecx, [ebp - 0x38]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x38]
push edx
call fcn.10002d60
test eax, eax
je 0x10002af8
push eax
lea ecx, [ebp - 0x18]
call fcn.10002cb0
mov eax, dword [ebp - 8]
cmp eax, ebx
je 0x10002a8d
push eax
call esi
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x10002ae5
jmp 0x10002a8d
mov edi, 0x80004005
jmp 0x10002b00
mov eax, dword [ebp - 8]
mov edi, 0x80020009
push eax
lea ecx, [ebp - 0x18]
call fcn.10002c50
test edi, edi
jl 0x10002b1a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
test edi, edi
mov esi, edi
jl 0x10002c06
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
cmp byte [eax], 0
je 0x10002bfc
lea ecx, [ebp - 0x1038]
push ecx
lea ecx, [ebp - 8]
call fcn.10002ec0
mov esi, eax
test esi, esi
jl 0x10002bfc
lea edx, [ebp - 0x1038]
push edx
call fcn.10002e00
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10002bde
lea eax, [ebp - 0x1038]
lea ecx, [ebp - 8]
push eax
call fcn.10002ec0
mov esi, eax
test esi, esi
jl 0x10002bfc
cmp byte [ebp - 0x1038], 0x7b
jne 0x10002bde
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x10002bae
mov edi, dword [ebp - 8]
push 0
push eax
lea ecx, [ebp - 0x1038]
push ebx
push ecx
lea ecx, [ebp - 8]
call fcn.10003020
mov esi, eax
test esi, esi
jl 0x10002be5
jmp 0x10002bc8
push 0
push 0
lea edx, [ebp - 0x1038]
push ebx
push edx
lea ecx, [ebp - 8]
call fcn.10003020
mov esi, eax
test esi, esi
jl 0x10002bfc
lea ecx, [ebp - 8]
call fcn.10002e70
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x10002b3d
jmp 0x10002bfc
mov esi, 0x80020009
jmp 0x10002bfc
push 0
push 0
lea ecx, [ebp - 0x1038]
push ebx
push ecx
lea ecx, [ebp - 8]
mov dword [ebp - 8], edi
call fcn.10003020
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov edi, dword [ebp - 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea esp, [ebp - 0x1044]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10