Function at 0x100ae790
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f9c30
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x1013c014]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], edx
mov esi, ecx
mov dword [ebp - 0x10], esi
mov ebx, dword [sym.imp.KERNEL32.dll_FindResourceW]
xor edi, edi
mov dword [ebp - 0x14], edi
test esi, esi
je 0x100ae8b7
push str.L10N
push 1
push esi
call ebx
mov edi, eax
test edi, edi
je 0x100ae81a
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push edi
push dword [ebp - 0x10]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x100ae810
push edi
push eax
mov ecx, 0x10148a58
call fcn.100b1ee0
mov ecx, 0x10148a58
call fcn.100b1ff0
mov dword [ebp - 4], 0
mov esi, dword [0x10158a9c]
push dword [esi + 4]
call fcn.100b11a0
mov eax, dword [0x10158a9c]
push 0x10158a9c
push 0x100c22f0
push 6
mov dword [eax + 4], esi
mov eax, dword [0x10158a9c]
mov dword [eax], esi
mov eax, dword [0x10158a9c]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x10]
push esi
mov dword [0x10158aa0], 0
mov dword [0x10158aa4], esi
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
push 0x10
push 1
push esi
call ebx
test eax, eax
jne 0x100ae882
xor edi, edi
jmp 0x100ae8b4
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, eax
test ecx, ecx
jne 0x100ae89b
xor edi, edi
jmp 0x100ae8b4
movzx eax, word [ecx + 0x38]
movzx edi, al
movzx eax, word [ecx + 0x3a]
shl eax, 8
or edi, eax
movzx eax, word [ecx + 0x3e]
shl edi, 0x10
or edi, eax
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x100ae9ce
mov eax, dword [ecx]
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x100ae9ce
mov edx, dword [ecx]
mov ebx, esi
mov dword [ebp - 0x18], eax
test esi, esi
je 0x100ae8f9
cmp edi, dword [ecx + 4]
jb 0x100ae8f9
push 5
movzx eax, dx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
jne 0x100ae916
mov eax, dword [ebp - 0x18]
mov ebx, dword [0x1014be3c]
push 5
movzx eax, ax
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x100ae9b2
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x100ae9b2
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10158aa8]
mov esi, eax
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x100ae960
mov edx, dword [ebp - 0x18]
cmp dword [ecx + 0x10], edx
jge 0x100ae94d
mov ecx, dword [ecx + 8]
jmp 0x100ae951
mov esi, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x100ae943
cmp esi, eax
je 0x100ae960
cmp edx, dword [esi + 0x10]
jge 0x100ae983
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push ecx
push eax
push ecx
call fcn.100b13b0
push eax
add eax, 0x10
push eax
push esi
lea eax, [ebp - 0x28]
push eax
call fcn.100b13f0
mov esi, dword [ebp - 0x28]
push edi
push ebx
add esi, 0x14
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
push eax
mov ecx, esi
call fcn.100b1230
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp ecx, eax
je 0x100ae9af
sub eax, ecx
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.100d7080
add esp, 0xc
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add eax, 2
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
test eax, eax
jne 0x100ae8d3
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret