Function at 0x404ab0
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x41507c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x210], eax
mov dword [0x416ab4], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.00401200
mov esi, dword [sym.imp.ole32.dll_CoCreateGuid]
push 0x415c90
mov dword [0x416ab8], eax
call esi
push 0x415ca0
call esi
push 0x10
mov eax, str.C:Program_Files
mov ecx, 0x415cb0
call fcn.00401c00
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x20a]
push ecx
mov word [ebp - 0x20c], ax
call fcn.0040ca90
push 0
call fcn.004092c5
push eax
call fcn.00409241
add esp, 0x14
xor esi, esi
lea esp, [esp]
call fcn.00409253
cdq
mov ecx, 0xa
idiv ecx
inc esi
add edx, 0x30
mov word [ebp + esi*2 - 0x20e], dx
cmp esi, 4
jl 0x404b40
push str..ime
lea eax, [ebp - 0x20c]
xor edx, edx
push eax
mov word [ebp - 0x204], dx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 4
mov eax, str.Iime
mov ecx, 0x415ccc
call fcn.00401c00
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404b93
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
mov ecx, 0x415ccc
call fcn.00404d50
push 0x412af0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x404c0a
mov ecx, dword [ebp - 0x210]
push ecx
xor esi, esi
xor edi, edi
mov ebx, 0x109
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov ecx, 0xb5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
call fcn.004038e0
add esp, 0x18
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00408d89
mov esp, ebp
pop ebp
ret 0x10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00405650
cmp eax, 2
je 0x404d2d
call fcn.00405870
mov ebx, eax
mov dword [ebp - 0x210], ebx
test ebx, ebx
je 0x404d2d
push 0
push 0
push 0
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
push 0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, dword [eax + 0x3c]
movzx edx, word [ecx + eax + 6]
lea edx, [edx + edx*4]
lea ecx, [ecx + edx*8]
mov edi, dword [ecx + eax + 0xe4]
add edi, dword [ecx + eax + 0xe0]
lea eax, [ecx + eax + 0xd0]
add edi, esi
mov ecx, edi
call fcn.00405a10
test eax, eax
jne 0x404c91
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404d2d
xor ecx, ecx
call fcn.00404ee0
push edi
mov ebx, edi
call fcn.00405c00
add esp, 4
push esi
test eax, eax
jne 0x404cbd
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov edx, dword [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404d2d
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call fcn.00404ee0
call fcn.00406170
xor ecx, ecx
call fcn.00404ee0
call fcn.004062d0
call fcn.00406580
sub esp, 0x74
mov ecx, esp
mov dword [ebp - 0x210], esp
push ecx
mov ecx, 0x415c90
call fcn.00403800
call fcn.004014a0
add esp, 0x74
xor ecx, ecx
call fcn.00404ee0
call fcn.00405e00
test eax, eax
je 0x404d2d
call fcn.00406870
xor ecx, ecx
call fcn.00404ee0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.00408d89
mov esp, ebp
pop ebp
ret 0x10