Function at 0x1002e5f0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x100c
call fcn.1006e670
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 0x1002e63e
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.1006e670
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 ebx, eax
test ebx, ebx
mov dword [ebp - 0xc], ebx
jne 0x1002e68a
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x1002e66f
call esi
lea esp, [ebp - 0x1018]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call esi
and eax, 0xffff
or eax, 0x80070000
lea esp, [ebp - 0x1018]
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 ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
jne 0x1002e6c9
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x1002e6b4
call esi
mov esi, eax
jmp 0x1002e8f4
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
jmp 0x1002e8f4
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x1002e6ec
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x1002e6b4
call esi
mov esi, eax
jmp 0x1002e8f4
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov eax, esi
cmp byte [ebx + esi], 0
je 0x1002e725
lea edi, [ebx + 1]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.1006e670
mov ecx, edi
mov eax, esp
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [eax + ebx], 0
lea ecx, [ebp + 8]
push ecx
push eax
lea ecx, [ebp - 8]
call fcn.1002eb70
mov esi, eax
test esi, esi
jl 0x1002e8f1
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
cmp byte [eax], 0
je 0x1002e8e7
lea ecx, [ebp - 8]
lea esi, [ebp - 0x100c]
call fcn.1002e9c0
mov ecx, dword [ebp - 8]
mov al, byte [ecx]
test al, al
je 0x1002e8c9
cmp al, 0x27
jne 0x1002e7d9
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
push ecx
call ebx
mov dword [ebp - 8], eax
mov cl, byte [eax]
test cl, cl
je 0x1002e8c9
lea ecx, [ebp - 8]
call fcn.1002e910
test eax, eax
mov eax, dword [ebp - 8]
jne 0x1002e7c5
cmp byte [eax], 0x27
jne 0x1002e79a
push eax
call ebx
mov dword [ebp - 8], eax
push eax
mov edi, eax
call ebx
lea edx, [esi + 2]
lea ecx, [ebp - 0xc]
cmp edx, ecx
mov dword [ebp - 8], eax
jae 0x1002e8c9
cmp edi, eax
jae 0x1002e7c0
mov ecx, edi
mov dl, byte [ecx]
inc ecx
mov byte [esi], dl
inc esi
cmp ecx, eax
jb 0x1002e7b6
cmp byte [eax], 0
jne 0x1002e780
cmp byte [eax], 0
je 0x1002e8c9
push eax
mov byte [esi], 0
call ebx
mov dword [ebp - 8], eax
jmp 0x1002e812
push eax
lea ecx, [ebp - 8]
call fcn.1002e970
test eax, eax
jne 0x1002e809
mov edi, dword [ebp - 8]
push edi
call dword [sym.imp.USER32.dll_CharNextA]
cmp edi, eax
mov dword [ebp - 8], eax
jae 0x1002e803
mov ecx, edi
mov dl, byte [ecx]
inc ecx
mov byte [esi], dl
inc esi
cmp ecx, eax
jb 0x1002e7f9
mov al, byte [eax]
test al, al
jne 0x1002e7d9
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
mov byte [esi], 0
lea eax, [ebp - 0x100c]
push eax
call fcn.1002e930
mov edi, eax
add esp, 4
test edi, edi
je 0x1002e8c9
lea ecx, [ebp - 0x100c]
push ecx
lea ecx, [ebp - 8]
call fcn.1002ea10
mov esi, eax
test esi, esi
jl 0x1002e8e7
cmp byte [ebp - 0x100c], 0x7b
jne 0x1002e8c9
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x1002e878
mov ebx, dword [ebp - 8]
push 0
push eax
lea edx, [ebp - 0x100c]
push edi
push edx
lea ecx, [ebp - 8]
call fcn.1002ef20
mov esi, eax
test esi, esi
jl 0x1002e8d0
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
jmp 0x1002e892
push 0
push 0
lea eax, [ebp - 0x100c]
push edi
push eax
lea ecx, [ebp - 8]
call fcn.1002ef20
mov esi, eax
test esi, esi
jl 0x1002e8e7
mov ecx, dword [ebp - 8]
mov dl, byte [ecx]
lea ecx, [ebp - 8]
push edx
call fcn.1002e970
test eax, eax
je 0x1002e8bc
mov eax, dword [ebp - 8]
push eax
call ebx
mov dword [ebp - 8], eax
mov cl, byte [eax]
push ecx
lea ecx, [ebp - 8]
call fcn.1002e970
test eax, eax
jne 0x1002e8a4
mov edx, dword [ebp - 8]
cmp byte [edx], 0
je 0x1002e8e7
jmp 0x1002e74b
mov esi, 0x80020009
jmp 0x1002e8e7
push 0
push 0
lea eax, [ebp - 0x100c]
push edi
push eax
lea ecx, [ebp - 8]
mov dword [ebp - 8], ebx
call fcn.1002ef20
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ebx, dword [ebp - 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea esp, [ebp - 0x1018]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10