Function at 0x43447d
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x180
mov eax, 0x4c8fbd
call fcn.004981ed
mov ebx, ecx
mov edi, dword [ebp + 8]
and dword [ebp - 4], 0
and dword [ebp - 0x24], 0
cmp dword [ebx + 0x18], 8
jb 0x4344a4
mov ecx, dword [ebx + 4]
jmp 0x4344a7
lea ecx, [ebx + 4]
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 8
jb 0x4344b5
mov eax, dword [eax + 4]
jmp 0x4344b8
add eax, 4
push ecx
push eax
push dword [ebp + 0xc]
call dword [0x50ca9c]
mov esi, eax
test esi, esi
jne 0x434585
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 - 0x40]
push eax
lea ecx, [ebp - 0x18c]
call fcn.004052f9
mov byte [ebp - 4], 2
cmp dword [eax + 0x18], 8
jb 0x434538
mov eax, dword [eax + 4]
jmp 0x43453b
add eax, 4
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 3
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 0x10
jb 0x434565
mov eax, dword [eax + 4]
jmp 0x434568
add eax, 4
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x20]
call fcn.0048ec72
push 0x4f7698
lea eax, [ebp - 0x20]
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 0x43462c
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 - 0x5c]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], 8
jb 0x434605
mov eax, dword [eax + 4]
jmp 0x434608
add eax, 4
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 7
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 8
jmp 0x43455a
push esi
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_LockResource]
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x14], eax
jne 0x4346e1
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 - 0x5c]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x18], 8
jb 0x4346ba
mov eax, dword [eax + 4]
jmp 0x4346bd
add eax, 4
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0xb
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 0xc
jmp 0x43455a
mov dword [edi + 4], esi
mov dword [edi + 8], esi
mov dword [edi + 0xc], esi
mov dword [ebp - 4], esi
push dword [ebp - 0x18]
mov dword [ebp - 0x24], 1
push edi
call fcn.00417ded
mov ebx, dword [edi + 4]
cmp ebx, esi
jne 0x434709
mov dword [ebp + 0x10], esi
jmp 0x434711
mov eax, dword [edi + 8]
sub eax, ebx
mov dword [ebp + 0x10], eax
lea esi, [ebp - 0x1c]
call fcn.00418dc9
push dword [ebp + 0x10]
push dword [ebp - 0x14]
call fcn.00417ee0
push eax
call fcn.00496160
add esp, 0xc
mov eax, edi
call fcn.004982c5
ret