Function at 0x12ddc
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x10
add esp, 0xfffff004
push eax
dec eax
jne 0x12de5
mov eax, dword [ebp - 4]
add esp, 0xffffffe4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x1001c], eax
mov dword [ebp - 0x10020], eax
xor eax, eax
push ebp
push 0x13086
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x13061
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x14078]
xor edx, edx
mov dword [eax], edx
push 0xa
push 0x13098
mov eax, dword [0x15060]
push eax
call sub.kernel32.dll_FindResourceA
mov ebx, eax
test ebx, ebx
jne 0x12e51
call fcn.00011628
jmp 0x13068
push ebx
mov eax, dword [0x15060]
push eax
call sub.kernel32.dll_LoadResource
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x12e70
call fcn.00011628
jmp 0x13068
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_LockResource
mov edx, dword [0x1406c]
mov dword [edx], eax
push ebx
mov eax, dword [0x15060]
push eax
call sub.kernel32.dll_SizeofResource
mov edx, dword [0x14078]
mov dword [edx], eax
mov eax, dword [0x14078]
cmp dword [eax], 0xa
jge 0x12ea9
call fcn.00011628
jmp 0x13068
lea edx, [ebp - 0x10020]
mov eax, 0x130a4
call fcn.00012ba4
mov eax, dword [ebp - 0x10020]
lea edx, [ebp - 0x1001c]
call fcn.00012d20
mov edx, dword [ebp - 0x1001c]
mov eax, dword [0x14070]
call fcn.00011894
mov eax, dword [0x14070]
mov eax, dword [eax]
call fcn.00012cc8
mov esi, eax
mov dl, 1
mov eax, dword [0x11dac]
call fcn.00012048
mov edi, eax
mov eax, dword [0x14074]
mov dword [eax], 2
mov eax, dword [0x1406c]
mov eax, dword [eax]
mov edx, dword [0x14074]
add eax, dword [edx]
lea edx, [ebp - 0xc]
mov ecx, 4
call fcn.0001118c
mov eax, dword [0x14074]
mov dword [eax], 6
mov eax, dword [0x1406c]
mov eax, dword [eax]
mov edx, dword [0x14074]
add eax, dword [edx]
lea edx, [ebp - 0x10]
mov ecx, 4
call fcn.0001118c
mov eax, dword [0x14074]
mov dword [eax], 0xe
mov byte [ebp - 0x11], 0
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, 0x10000
cmp ebx, dword [ebp - 0xc]
jbe 0x12f65
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x12fa9
lea edx, [ebp - 0x10018]
mov ecx, ebx
mov eax, edi
call fcn.00011ff0
test al, al
jne 0x12f82
mov byte [ebp - 0x11], 1
jmp 0x12fa9
lea eax, [ebp - 0x10018]
mov ecx, dword [ebp - 0x18]
mov edx, ebx
call fcn.00011e40
add dword [ebp - 0x18], ebx
lea edx, [ebp - 0x10018]
mov ecx, ebx
mov eax, esi
call fcn.00012cec
sub dword [ebp - 0xc], ebx
jmp 0x12f58
cmp byte [ebp - 0x11], 0
je 0x12fb9
call fcn.00011628
jmp 0x13068
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [0x14078]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x10]
cdq
xor eax, edx
sub eax, edx
sub ecx, eax
mov eax, dword [0x14074]
mov dword [eax], ecx
mov eax, dword [0x14074]
cmp dword [eax], 0
jge 0x12fef
call fcn.00011628
jmp 0x13068
mov ebx, 0x10000
cmp ebx, dword [ebp - 0xc]
jbe 0x12ffc
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x13023
lea edx, [ebp - 0x10018]
mov ecx, ebx
mov eax, edi
call fcn.00011dfc
lea edx, [ebp - 0x10018]
mov ecx, ebx
mov eax, esi
call fcn.00012cec
sub dword [ebp - 0xc], ebx
jmp 0x12fef
mov eax, esi
call fcn.00012d18
mov eax, edi
call fcn.00011284
mov eax, dword [ebp - 8]
call fcn.00011d38
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_FreeResource
cmp byte [ebp - 0x11], 0
je 0x1304f
call fcn.00011628
jmp 0x13068
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x13068
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1308d
lea eax, [ebp - 0x10020]
mov edx, 2
call fcn.00011864
ret