Function at 0x4104c4
Capabilities:
Read file via mapping

Disassembly:
mov eax, 0x4161af
call fcn.00414110
sub esp, 0xc8
mov eax, dword [0x422a68]
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp dword [esi + 0xe0], ebx
mov dword [ebp - 0x10], eax
push edi
je 0x41050e
push 0x336
push 0x41b7b0
push 0x41b7d8
call fcn.00411378
xor edi, edi
inc edi
push edi
call fcn.0040aff2
add esp, 0x10
jmp 0x410511
xor edi, edi
inc edi
cmp dword [esi + 0x1c], 0x10
jb 0x41051c
mov eax, dword [esi + 8]
jmp 0x41051f
lea eax, [esi + 8]
push eax
push str.Loading__s_n
push 3
call fcn.004113d7
push dword [esi + 0xdc]
mov eax, dword [esi + 0xd8]
push eax
push str.__file_size___I64u_n
push 4
call fcn.004113d7
add esp, 0x1c
cmp dword [esi + 0x1c], 0x10
jb 0x410553
mov eax, dword [esi + 8]
jmp 0x410556
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004014ff
lea eax, [ebp - 0xb8]
push eax
mov dword [ebp - 4], ebx
call fcn.0040b2e6
pop ecx
test al, al
push ebx
setne byte [ebp + 0xb]
or dword [ebp - 4], 0xffffffff
push edi
lea ecx, [ebp - 0xb8]
call fcn.004010eb
cmp byte [ebp + 0xb], bl
je 0x4105ab
push 0x341
push 0x41b818
push 0x41b840
call fcn.00411378
push edi
call fcn.0040aff2
add esp, 0x10
mov eax, dword [esi + 0xdc]
cmp eax, ebx
mov ecx, dword [esi + 0xd8]
mov dword [ebp - 0x9c], ecx
jb 0x4105ea
ja 0x4105c7
cmp ecx, ecx
jbe 0x4105ea
cmp dword [esi + 0x1c], 0x10
jb 0x4105d2
mov esi, dword [esi + 8]
jmp 0x4105d5
add esi, 8
push eax
push ecx
push esi
push str.File__s_is_too_large___I64u_bytes_:_unable_to_map_it_into_memory_n
call fcn.004110c4
add esp, 0x10
jmp 0x410809
push 0x41b8a4
lea ecx, [ebp - 0xb8]
call fcn.004014ff
cmp dword [0x422e18], 2
lea ecx, [ebp - 0x90]
sbb al, al
inc al
mov dword [ebp - 4], edi
push eax
push edi
lea eax, [ebp - 0xb8]
push eax
call fcn.00407c05
push ebx
push edi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call fcn.004010eb
cmp dword [esi + 0x1c], 0x10
jb 0x410638
mov eax, dword [esi + 8]
jmp 0x41063b
lea eax, [esi + 8]
push ebx
push 0x8000080
push 3
push ebx
push 7
push bind
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x410687
cmp dword [esi + 0x1c], 0x10
jb 0x410664
mov esi, dword [esi + 8]
jmp 0x410667
add esi, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x41b8b0
call fcn.004110c4
add esp, 0xc
lea ecx, [ebp - 0x90]
jmp 0x41078e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.00408ab1
push 2
push str.__cfmFlags___08x__n
push 5
call fcn.004113d7
push 4
push str.__mapAccess___08x__n
push 5
call fcn.004113d7
add esp, 0x18
push str.Map_time
lea ecx, [ebp - 0xd4]
call fcn.004014ff
cmp dword [0x422e18], 2
lea ecx, [ebp - 0x50]
sbb al, al
inc al
mov dword [ebp - 4], 4
push eax
push 1
lea eax, [ebp - 0xd4]
push eax
call fcn.00407c05
push ebx
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 6
call fcn.004010eb
push ebx
push ebx
push ebx
push 2
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
cmp eax, ebx
jne 0x410738
cmp dword [esi + 0x1c], 0x10
jb 0x410717
mov esi, dword [esi + 8]
jmp 0x41071a
add esi, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.Could_not_create_file_mapping___s_:_error__d_n
call fcn.004110c4
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41078b
mov dword [ebp + 8], eax
push ebx
push ebx
push ebx
push 4
push eax
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
mov dword [ebp - 0x94], eax
jne 0x410799
cmp dword [esi + 0x1c], 0x10
jb 0x410760
mov esi, dword [esi + 8]
jmp 0x410763
add esi, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.Could_not_map_view_of_file___s_:_error__d_n
call fcn.004110c4
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 6
call fcn.0040ae02
lea ecx, [ebp - 0x50]
or dword [ebp - 4], 0xffffffff
call fcn.00408ab1
jmp 0x410809
lea ecx, [ebp + 8]
mov byte [ebp - 4], 6
call fcn.0040ae02
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00408ab1
mov dword [esi + 0x24], edi
cmp byte [0x422db0], bl
je 0x4107c0
xor eax, eax
jmp 0x4107d7
cmp dword [esi + 0x1c], 0x10
jb 0x4107cb
mov eax, dword [esi + 8]
jmp 0x4107ce
lea eax, [esi + 8]
push eax
push edi
call fcn.004120fd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x9c]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x94]
push eax
push ecx
push str.__mapped__u_bytes_at_0x_08x_n
push 4
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], ecx
call fcn.004113d7
push esi
call fcn.0040ff0f
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.00414215
leave
ret