Function at 0x405bb5
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push 0x54534e49
push 1
push str.install.dat
mov esi, ecx
call fcn.00403756
add esp, 0xc
mov dword [0x45c054], eax
call fcn.004033d2
test eax, eax
je 0x405bf5
xor ebx, ebx
push ebx
push str.Error:_Could_not_find_INSTALL.DAT
push 0x44b300
mov ecx, esi
call fcn.00422b47
push ebx
call fcn.004328eb
push ebp
push edi
push 0x3f3
push dword [0x45c054]
call fcn.00403c89
pop ecx
pop ecx
mov edi, eax
lea ebp, [esi + 0x3bc]
push edi
mov ecx, ebp
call fcn.004050dc
push edi
call fcn.00430bc7
xor ebx, ebx
pop ecx
cmp byte [0x45bf12], bl
je 0x405c31
call fcn.004088ed
jmp 0x405c36
call fcn.00408915
mov dword [0x45c04c], eax
cmp byte [0x459088], bl
jne 0x405c4e
pop edi
pop ebp
mov ecx, esi
pop esi
pop ebx
jmp method.CDialog.virtual_332
mov eax, dword [eax + 4]
mov dword [esi + 0x568], eax
cmp byte [0x45c037], bl
je 0x405c7a
cmp dword [esi + 0x56c], ebx
jne 0x405c7a
lea ecx, [esi + 0x594]
call fcn.0040a08c
mov dword [esi + 0x56c], eax
jmp 0x405c80
mov dword [esi + 0x56c], ebx
cmp dword [esi + 0x56c], ebx
jge 0x405c94
mov byte [0x45907d], bl
mov dword [esi + 0x56c], ebx
lea eax, [esi + 0x579]
push eax
mov ecx, esi
call fcn.00403ef0
mov ecx, dword [esi + 0x56c]
add ecx, eax
add ecx, dword [esi + 0x568]
mov dword [esi + 0x570], eax
test ecx, ecx
jle 0x405cea
push 0x3f2
push dword [0x45c054]
call fcn.00403c89
mov edi, eax
mov eax, dword [0x45c02c]
add eax, 0x40
push eax
push edi
push ebp
call fcn.00405101
push edi
call fcn.00430bc7
add esp, 0x18
jmp 0x405c43
push 0x3f5
push dword [0x45c054]
call fcn.00403c89
pop ecx
pop ecx
mov edi, eax
push edi
mov ecx, ebp
call fcn.004050dc
push edi
call fcn.00430bc7
pop ecx
mov byte [0x459088], bl
jmp 0x405c43
push 0x24
mov eax, 0x449111
call fcn.00433228
mov esi, ecx
mov dword [ebp - 0x20], esi
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x18], eax
call fcn.0042cc81
mov edi, dword [eax + 0xc]
xor ebx, ebx
cmp dword [esi + 0x58], ebx
je 0x428110
call fcn.0042cc81
mov edi, dword [eax + 0xc]
push 5
push dword [esi + 0x58]
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x428121
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x42812e
or eax, 0xffffffff
jmp 0x42828b
mov ecx, esi
call fcn.00427c3a
mov dword [ebp - 0x14], eax
call fcn.00423e06
and dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x14], ebx
je 0x4281ac
call dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp dword [ebp - 0x14], eax
je 0x4281ac
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x4281ac
push 0
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
mov dword [ebp - 0x2c], 1
call fcn.004227a5
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x4281ac
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x128]
test eax, eax
je 0x4281ac
mov ecx, ebx
call fcn.0042755a
test eax, eax
je 0x4281ac
push 0
mov ecx, ebx
call fcn.00427575
mov dword [ebp - 0x28], 1
and dword [ebp - 4], 0
push esi
call fcn.004258e7
push dword [ebp - 0x14]
call fcn.00423d4d
push edi
push eax
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.00427f0a
xor edi, edi
cmp eax, edi
je 0x42820a
test byte [esi + 0x3c], 0x10
je 0x4281f4
push 4
pop edi
mov ecx, esi
call fcn.0042748c
test eax, 0x100
je 0x4281ea
push 5
pop edi
push edi
mov ecx, esi
call fcn.004237d7
xor edi, edi
cmp dword [esi + 0x20], edi
je 0x42820a
push 0x97
push edi
push edi
push edi
push edi
push edi
mov ecx, esi
call fcn.004275e6
or dword [ebp - 4], 0xffffffff
jmp 0x428235
cmp dword [ebp - 0x28], edi
je 0x428243
push 1
mov ecx, ebx
call fcn.00427575
cmp dword [ebp - 0x2c], edi
je 0x428253
push 1
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebp - 0x14], edi
je 0x42826c
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [esi + 0x20]
jne 0x42826c
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
mov ecx, esi
call fcn.00427c76
cmp dword [esi + 0x58], edi
je 0x428288
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [esi + 0x44]
call fcn.004332cd
ret