Function at 0x40b060
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x100c
call fcn.0041e780
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 0x40b0ae
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.0041e780
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 0x40b0fa
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x40b0df
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 0x40b139
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x40b124
call esi
mov esi, eax
jmp 0x40b364
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
jmp 0x40b364
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x40b15c
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x40b124
call esi
mov esi, eax
jmp 0x40b364
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov eax, esi
cmp byte [ebx + esi], 0
je 0x40b195
lea edi, [ebx + 1]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.0041e780
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.0040b5e0
mov esi, eax
test esi, esi
jl 0x40b361
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
cmp byte [eax], 0
je 0x40b357
lea ecx, [ebp - 8]
lea esi, [ebp - 0x100c]
call fcn.0040b430
mov ecx, dword [ebp - 8]
mov al, byte [ecx]
test al, al
je 0x40b339
cmp al, 0x27
jne 0x40b249
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 0x40b339
lea ecx, [ebp - 8]
call fcn.0040b380
test eax, eax
mov eax, dword [ebp - 8]
jne 0x40b235
cmp byte [eax], 0x27
jne 0x40b20a
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 0x40b339
cmp edi, eax
jae 0x40b230
mov ecx, edi
mov dl, byte [ecx]
inc ecx
mov byte [esi], dl
inc esi
cmp ecx, eax
jb 0x40b226
cmp byte [eax], 0
jne 0x40b1f0
cmp byte [eax], 0
je 0x40b339
push eax
mov byte [esi], 0
call ebx
mov dword [ebp - 8], eax
jmp 0x40b282
push eax
lea ecx, [ebp - 8]
call fcn.0040b3e0
test eax, eax
jne 0x40b279
mov edi, dword [ebp - 8]
push edi
call dword [sym.imp.USER32.dll_CharNextA]
cmp edi, eax
mov dword [ebp - 8], eax
jae 0x40b273
mov ecx, edi
mov dl, byte [ecx]
inc ecx
mov byte [esi], dl
inc esi
cmp ecx, eax
jb 0x40b269
mov al, byte [eax]
test al, al
jne 0x40b249
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
mov byte [esi], 0
lea eax, [ebp - 0x100c]
push eax
call fcn.0040b3a0
mov edi, eax
add esp, 4
test edi, edi
je 0x40b339
lea ecx, [ebp - 0x100c]
push ecx
lea ecx, [ebp - 8]
call fcn.0040b480
mov esi, eax
test esi, esi
jl 0x40b357
cmp byte [ebp - 0x100c], 0x7b
jne 0x40b339
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x40b2e8
mov ebx, dword [ebp - 8]
push 0
push eax
lea edx, [ebp - 0x100c]
push edi
push edx
lea ecx, [ebp - 8]
call fcn.0040b990
mov esi, eax
test esi, esi
jl 0x40b340
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
jmp 0x40b302
push 0
push 0
lea eax, [ebp - 0x100c]
push edi
push eax
lea ecx, [ebp - 8]
call fcn.0040b990
mov esi, eax
test esi, esi
jl 0x40b357
mov ecx, dword [ebp - 8]
mov dl, byte [ecx]
lea ecx, [ebp - 8]
push edx
call fcn.0040b3e0
test eax, eax
je 0x40b32c
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.0040b3e0
test eax, eax
jne 0x40b314
mov edx, dword [ebp - 8]
cmp byte [edx], 0
je 0x40b357
jmp 0x40b1bb
mov esi, 0x80020009
jmp 0x40b357
push 0
push 0
lea eax, [ebp - 0x100c]
push edi
push eax
lea ecx, [ebp - 8]
mov dword [ebp - 8], ebx
call fcn.0040b990
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