Function at 0x40aa73
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x13c
mov eax, 0x48302a
call fcn.0044bb29
mov esi, ecx
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0xec], eax
xor eax, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
call fcn.0041dd90
push ecx
mov eax, esp
mov byte [ebp - 4], 1
push ecx
lea ecx, [ebp - 0xe4]
mov dword [eax], str.LAYOUT.XML
mov eax, esp
mov dword [eax], 0x492770
call fcn.00406f0a
test al, al
je 0x40ad0a
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x40ad0a
push dword [ebp - 0xe0]
push dword [0x4a7a98]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
je 0x40ad0a
sub esp, 0x10
lea ecx, [ebp - 0xd8]
push eax
push dword [ebp - 0xdc]
lea eax, [ebp - 0xf8]
push eax
call fcn.0041de90
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x40ab6b
cmp ecx, 0xe
ja 0x40ab47
call fcn.0041dce0
jmp 0x40ab4c
mov eax, str.Unknown_error
push eax
lea ecx, [ebp - 0xdc]
call fcn.00406ebb
mov ecx, dword [ebp - 0xdc]
lea ecx, [ecx - 0x10]
call fcn.00401aec
jmp 0x40ad0a
push str.InfoTipDlg
push ecx
push ecx
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0041db20
mov ecx, eax
call fcn.0041db40
cmp dword [ebp - 0xe8], 0
jne 0x40abcd
push 0x21
push 0x49309c
push 0x4930a4
push dword [esi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40ace8
push 0
push 2
push 0x10
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x40ace8
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x148]
call fcn.0040426f
push ecx
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 2
call fcn.004050c8
push ecx
mov ecx, esp
push 0x4930a4
call fcn.00401de7
lea ecx, [ebp - 0x148]
call fcn.00405099
push dword [esi + 4]
lea ecx, [ebp - 0x148]
call fcn.004050d2
push 0
push 0
lea ecx, [ebp - 0x140]
call fcn.00406a39
test eax, eax
jne 0x40ac3d
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x40ac6e
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.004069e9
push 0
push 0x40689d
push 0
push 0x81
push dword [0x4a7a98]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
test eax, eax
jne 0x40ac7e
lea ecx, [ebp - 0x148]
call fcn.00404359
jmp 0x40ad0a
push dword [esi + 4]
lea ecx, [ebp - 0x144]
call fcn.00403a87
push 1
push dword [ebp - 0x144]
call dword [sym.imp.USER32.dll_ShowWindow]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.00403df5
test eax, eax
je 0x40acc5
mov ecx, eax
call fcn.00406bff
cmp eax, 1
jne 0x40acc5
push 0
push 2
push 0x10
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
push 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_BringWindowToTop]
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 1
call fcn.00404359
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
push dword [ebp - 0xec]
mov eax, dword [edi]
mov ecx, edi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [eax + 0x30]
lea ecx, [ebp - 0xd8]
call fcn.0041de20
cmp dword [ebp - 0xe4], 0
je 0x40ad2a
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
call fcn.0044bae4
ret 0x10