Function at 0x401405
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, 0x45ad58
call fcn.0044c66c
sub esp, 0x1c
push ebx
push esi
push edi
xor edi, edi
cmp dword [0x4693fc], edi
mov dword [ebp - 0x10], edi
jne 0x401431
push 0x23c
call fcn.00433852
mov dword [0x4693fc], eax
mov al, byte [0x469194]
mov ebx, 0x469194
neg al
sbb eax, eax
and eax, ebx
cmp dword [0x469170], edi
mov esi, eax
jne 0x401467
push str.demo.bmp
push sym.DEMO32.EXE_DemoSplashDialog
push edi
push 0x5f
push dword [0x46950c]
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [ebp - 0x10], eax
push dword [0x469184]
push dword [0x469190]
push dword [ebp - 0x10]
push 1
push esi
mov esi, 0x469299
push esi
call fcn.00402eeb
cmp eax, edi
mov dword [0x469188], eax
jne 0x4014da
push esi
push ebx
call fcn.00402883
pop ecx
pop ecx
mov cl, byte [0x469194]
neg cl
sbb ecx, ecx
and ecx, ebx
cmp eax, edi
je 0x4014ce
push dword [0x469184]
cmp dword [0x469170], edi
push dword [0x469190]
jne 0x4014bf
push dword [ebp - 0x10]
jmp 0x4014c0
push edi
push 1
push ecx
push esi
call fcn.00402eeb
mov dword [0x469188], eax
cmp dword [0x469188], edi
je 0x401639
mov esi, 0x46940c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x4014fd
push esi
push 0xc
push dword [0x469188]
call fcn.0040379e
jmp 0x40166e
lea eax, [ebp - 0x14]
push eax
push edi
push 0x3d
push dword [0x469188]
call fcn.0040382e
cmp dword [ebp - 0x14], 1
jne 0x40166e
push 5
push 0x65
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
cmp esi, edi
je 0x40166e
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x40166e
push esi
push edi
xor bl, bl
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, edi
mov dword [ebp - 0x18], eax
je 0x401639
mov esi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call esi
mov edi, eax
test edi, edi
je 0x40162a
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
push edi
call fcn.0044bf60
add esp, 0xc
lea ecx, [ebp - 0x28]
push edi
call fcn.00404dca
and dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
movzx eax, ax
sub eax, 0x404
je 0x4015df
sub eax, 0xd
je 0x4015d6
dec eax
je 0x4015cd
sub eax, 0x3f2
je 0x4015c4
push 8
push str.MS_Sans_Serif
jmp 0x4015e6
push 9
push 0x46415c
jmp 0x4015e6
push 9
push 0x464154
jmp 0x4015e6
push 9
push 0x464144
jmp 0x4015e6
push 9
push 0x46413c
lea ecx, [ebp - 0x28]
call fcn.00404f75
push dword [0x469188]
push 0x40508f
push dword [ebp - 0x10]
push dword [ebp - 0x28]
call esi
push eax
push dword [0x46950c]
call dword [sym.imp.USER32.dll_DialogBoxIndirectParamA]
mov ebx, eax
push edi
dec ebx
neg ebx
sbb bl, bl
inc bl
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00404e59
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test bl, bl
jne 0x40166c
xor edi, edi
mov eax, dword [0x4693a0]
cmp eax, edi
je 0x401659
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x401659
push dword [0x4693a0]
call dword [sym.imp.USER32.dll_DestroyWindow]
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4
xor edi, edi
mov eax, dword [0x469710]
or esi, 0xffffffff
cmp eax, esi
je 0x40168c
push eax
push edi
push str.Number1_Global_
push dword [0x469188]
call fcn.004038f3
mov eax, dword [0x469714]
cmp eax, esi
je 0x4016a7
push eax
push edi
push str.Number2_Global_
push dword [0x469188]
call fcn.004038f3
mov eax, dword [0x469718]
cmp eax, esi
je 0x4016c2
push eax
push edi
push str.Number3_Global_
push dword [0x469188]
call fcn.004038f3
mov eax, dword [0x46971c]
cmp eax, esi
je 0x4016dd
push eax
push edi
push str.Number4_Global_
push dword [0x469188]
call fcn.004038f3
mov eax, dword [0x469720]
cmp eax, esi
je 0x4016f8
push eax
push edi
push str.Number5_Global_
push dword [0x469188]
call fcn.004038f3
mov eax, dword [0x469724]
cmp eax, esi
je 0x401713
push eax
push edi
push str.Number6_Global_
push dword [0x469188]
call fcn.004038f3
cmp byte [0x469530], 0
je 0x401732
push edi
push 0x469530
push str.String1_Global_
push dword [0x469188]
call fcn.004038f3
cmp byte [0x469580], 0
je 0x401751
push edi
push 0x469580
push str.String2_Global_
push dword [0x469188]
call fcn.004038f3
cmp byte [0x4695d0], 0
je 0x401770
push edi
push 0x4695d0
push str.String3_Global_
push dword [0x469188]
call fcn.004038f3
cmp byte [0x469620], 0
je 0x40178f
push edi
push 0x469620
push str.String4_Global_
push dword [0x469188]
call fcn.004038f3
cmp byte [0x469670], 0
je 0x4017ae
push edi
push 0x469670
push str.String5_Global_
push dword [0x469188]
call fcn.004038f3
cmp byte [0x4696c0], 0
je 0x4017cd
push edi
push 0x4696c0
push str.String6_Global_
push dword [0x469188]
call fcn.004038f3
push dword [0x469188]
call fcn.00403450
test eax, eax
je 0x401639
lea eax, [ebp - 0x14]
push eax
push edi
push 0x36
push dword [0x469188]
call fcn.0040382e
mov eax, dword [ebp - 0x14]
and eax, 1
push eax
push 0xd
push dword [0x469184]
call fcn.00402c3d
push dword [0x469184]
call fcn.00402c78
push dword [0x469190]
push dword [0x469184]
call fcn.00402d4c
mov eax, sym.DEMO32.EXE_EventProcDll
push eax
mov dword [0x46918c], eax
push dword [0x469190]
call fcn.004350bc
push 1
call fcn.00434f9b
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x401855
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_DestroyWindow]
push 1
pop eax
jmp 0x40165b