Function at 0x45ac50
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, 0x46056c
call fcn.00444db8
sub esp, 0x2c
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push dword [ebp + 0xc]
call fcn.00416bfa
cmp eax, 0xd
jne 0x45ae7f
push esi
push 0xb
push dword [ebp + 8]
call fcn.0040daff
push 1
mov dword [ebp - 0x14], eax
pop ebx
push ebx
push eax
call fcn.0040b46b
mov edi, eax
mov dword [ebp - 0x2c], edi
cmp dword [edi + 0x2c], esi
je 0x45ae95
push 4
push dword [ebp - 0x14]
call fcn.0040b46b
push ebx
push eax
mov dword [ebp - 0x20], eax
call fcn.0043a445
push eax
mov dword [ebp - 0x10], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45ae7f
lea eax, [ebp - 0x18]
push eax
push esi
push 0x22
push dword [ebp - 0x14]
call fcn.0040b5d8
cmp dword [ebp - 0x18], ebx
jne 0x45acdb
push dword [ebp - 0x10]
jmp 0x45acdc
push esi
push esi
push 0x15
push dword [ebp + 0xc]
call fcn.00416bd5
lea eax, [ebp - 0x1c]
mov dword [edi + 0x2c], esi
push eax
push esi
push 0x10
push dword [ebp + 0xc]
call fcn.00416bfa
cmp dword [ebp - 0x1c], ebx
jne 0x45ad3b
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push dword [ebp + 0xc]
mov esi, eax
push esi
call fcn.0045aea6
pop ecx
test eax, eax
pop ecx
jne 0x45ad24
push esi
mov dword [edi + 0x2c], ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp 0x45ae95
push dword [ebp + 0xc]
push dword [ebp + 8]
push esi
push dword [ebp - 0x10]
push dword [ebp - 0x20]
call fcn.0043a031
jmp 0x45ae95
push 5
push 0x2c39
push dword [0x46f8a8]
mov dword [ebp - 0x28], 2
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, esi
mov dword [ebp - 0x20], eax
je 0x45ae74
push eax
push dword [0x46f8a8]
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, esi
mov dword [ebp - 0x24], eax
je 0x45ae74
push dword [ebp - 0x20]
push dword [0x46f8a8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, esi
mov dword [ebp - 0x14], eax
je 0x45ae74
mov edi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call edi
mov ebx, eax
cmp ebx, esi
je 0x45ae5d
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
push ebx
call fcn.00444e70
add esp, 0xc
lea ecx, [ebp - 0x38]
push ebx
call fcn.004126e9
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
movzx eax, ax
sub eax, 0x404
je 0x45ae1a
sub eax, 0xd
je 0x45ae11
dec eax
je 0x45ae08
sub eax, 0x3f2
je 0x45adff
push 8
push str.MS_Sans_Serif
jmp 0x45ae21
push 9
push 0x46894c
jmp 0x45ae21
push 9
push 0x468944
jmp 0x45ae21
push 9
push 0x468934
jmp 0x45ae21
push 9
push 0x46892c
lea ecx, [ebp - 0x38]
call fcn.00412894
push dword [ebp + 0xc]
push sym.DEMO32.EXE_DemoMenuDialog
push dword [ebp - 0x10]
push dword [ebp - 0x38]
call edi
push eax
push dword [0x46f8a8]
call dword [sym.imp.USER32.dll_DialogBoxIndirectParamA]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.00412778
jmp 0x45ae60
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp esi, 2
jne 0x45ae83
mov edi, dword [ebp - 0x2c]
push 1
pop ebx
push dword [ebp + 8]
call fcn.0040dc01
mov dword [edi + 0x2c], ebx
xor eax, eax
jmp 0x45ae97
add esi, 0xffffff9b
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0045ab42
push 1
pop ebx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret