Function at 0x403932
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
and byte [ebp - 0xc], 0
push 0
push 0x41b440
call fcn.004099d0
pop ecx
pop ecx
test eax, eax
je 0x40398f
cmp dword [0x42bee4], 0
je 0x40396c
push 0
push dword [0x42bee4]
call dword [sym.imp.USER32.dll_EndDialog]
and dword [0x42bee4], 0
cmp dword [0x42b598], 0
je 0x403988
push dword [0x42b598]
call fcn.0040eed0
pop ecx
and dword [0x42b598], 0
xor eax, eax
jmp 0x403bec
and dword [0x42bee8], 0
cmp dword [0x42d331], 0
je 0x4039da
movzx eax, byte [0x42d339]
test eax, eax
jne 0x4039da
push 0
push 0x4026c3
push dword [0x42d350]
push 0x12c
push dword [0x42c66c]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
jne 0x4039da
and byte [0x42d339], 0
xor eax, eax
jmp 0x403bec
cmp dword [0x42bf48], 0
je 0x403abe
push 1
push dword [0x42b488]
call fcn.00409930
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x403a11
push str.not_enough_memory_to_store_header
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x403bec
mov byte [ebp - 0xc], 1
mov eax, dword [0x42b488]
mov dword [ebp - 0x18], eax
push 0x8000
push dword [0x42bf48]
call fcn.00410100
pop ecx
pop ecx
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1c]
cmp eax, 0xffffffff
jne 0x403a65
push str.could_not_open_header
call fcn.00401222
pop ecx
movzx eax, byte [ebp - 0xc]
test eax, eax
je 0x403a5e
cmp dword [ebp - 0x10], 0
je 0x403a5e
push dword [ebp - 0x10]
call fcn.004098e0
pop ecx
xor eax, eax
jmp 0x403bec
movzx eax, word [ebp - 0x18]
push eax
push dword [ebp - 0x10]
movzx eax, word [ebp - 0x1c]
push eax
call fcn.00411190
add esp, 0xc
movzx eax, ax
movzx ecx, word [ebp - 0x18]
cmp eax, ecx
je 0x403aae
push str.error_reading_external_header
call fcn.00401222
pop ecx
movzx eax, byte [ebp - 0xc]
test eax, eax
je 0x403aa7
cmp dword [ebp - 0x10], 0
je 0x403aa7
push dword [ebp - 0x10]
call fcn.004098e0
pop ecx
xor eax, eax
jmp 0x403bec
movzx eax, word [ebp - 0x1c]
push eax
call fcn.0040eed0
pop ecx
jmp 0x403b62
and byte [ebp - 0xc], 0
movsx eax, word [0x42d324]
cmp eax, 1
jne 0x403ae9
push str.SFXLITEHEADER
push 0x416f64
push dword [0x42c66c]
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 8], eax
jmp 0x403b02
push 0x416f6c
push 0x416f7c
push dword [0x42c66c]
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x403b1a
push str.Internal_error_1
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x403bec
push dword [ebp - 8]
push dword [0x42c66c]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x18], eax
push dword [ebp - 8]
push dword [0x42c66c]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x403b56
push str.Internal_error_2
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x403bec
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x10], eax
cmp dword [0x42d331], 0
je 0x403b8e
cmp dword [ebp + 8], 0
jne 0x403b8e
call fcn.004075bb
test eax, eax
jne 0x403b89
push str.Unable_to_create_DLG
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x403bec
call section..text
push dword [ebp + 8]
push 0x42c680
push dword [0x42bf30]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
call fcn.00404441
mov dword [ebp - 4], eax
cmp dword [0x42d331], 0
je 0x403bbe
cmp dword [ebp + 8], 0
jne 0x403bbe
call fcn.0040760f
cmp dword [0x42bf48], 0
je 0x403be0
movzx eax, byte [ebp - 0xc]
test eax, eax
je 0x403bde
cmp dword [ebp - 0x10], 0
je 0x403bde
push dword [ebp - 0x10]
call fcn.004098e0
pop ecx
jmp 0x403be9
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [ebp - 4]
leave
ret 4