Function at 0x43add3
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x180
mov eax, 0x4c8ca2
call fcn.004981ed
mov ebx, ecx
mov edi, dword [ebp + 8]
and dword [ebp - 4], 0
and dword [ebp - 0x18], 0
cmp dword [ebx + 0x18], 8
jb 0x43adfa
mov ecx, dword [ebx + 4]
jmp 0x43adfd
lea ecx, [ebx + 4]
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 8
jb 0x43ae0b
mov eax, dword [eax + 4]
jmp 0x43ae0e
add eax, 4
push ecx
push eax
push dword [ebp + 0xc]
call dword [0x50ca9c]
mov esi, eax
test esi, esi
jne 0x43aedb
lea eax, [ebp - 0x18c]
push eax
call fcn.00405267
mov dword [ebp - 4], 1
push dword [ebp + 0x10]
lea eax, [ebp - 0x184]
push ecx
push 0x4e5b98
push ecx
push ebx
push ecx
push str.Invalid
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.0040c2c5
add esp, 0xc
push eax
call fcn.00405eb8
pop ecx
pop ecx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x18c]
call fcn.004052f9
mov byte [ebp - 4], 2
cmp dword [eax + 0x18], 8
jb 0x43ae8e
mov eax, dword [eax + 4]
jmp 0x43ae91
add eax, 4
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 3
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 0x10
jb 0x43aebb
mov eax, dword [eax + 4]
jmp 0x43aebe
add eax, 4
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.0048ec72
push 0x4f7698
lea eax, [ebp - 0x28]
push eax
call fcn.0048febc
push esi
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x43af82
lea eax, [ebp - 0x104]
push eax
call fcn.00405267
mov dword [ebp - 4], 5
push dword [ebp + 0x10]
lea eax, [ebp - 0xfc]
push ecx
push 0x4e5b98
push ecx
push ebx
push ecx
push str.Missing
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.0040c2c5
add esp, 0xc
push eax
call fcn.00405eb8
pop ecx
pop ecx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], 8
jb 0x43af5b
mov eax, dword [eax + 4]
jmp 0x43af5e
add eax, 4
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 7
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 8
jmp 0x43aeb0
push esi
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push dword [ebp - 0x14]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x43b037
lea eax, [ebp - 0x104]
push eax
call fcn.00405267
mov dword [ebp - 4], 9
push dword [ebp + 0x10]
lea eax, [ebp - 0xfc]
push ecx
push 0x4e5b98
push ecx
push ebx
push ecx
push str.Cannot_lock
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.0040c2c5
add esp, 0xc
push eax
call fcn.00405eb8
pop ecx
pop ecx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x18], 8
jb 0x43b010
mov eax, dword [eax + 4]
jmp 0x43b013
add eax, 4
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0xb
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 0xc
jmp 0x43aeb0
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
shr esi, 1
push esi
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x18], 1
call fcn.00417cc9
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x43b05f
and dword [ebp + 0x10], ecx
jmp 0x43b069
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 1
mov dword [ebp + 0x10], eax
mov ebx, ecx
lea esi, [ebp - 0x1c]
call fcn.00418b5e
mov eax, dword [ebp + 0x10]
add eax, eax
push eax
push dword [ebp - 0x14]
call fcn.00417dd0
push eax
call fcn.00496160
add esp, 0xc
mov eax, edi
call fcn.004982c5
ret