Function at 0x443375
Capabilities:
Read file via mapping

Disassembly:
push 0x28
mov eax, 0x47cd6e
call fcn.0046436b
mov ebx, ecx
lea eax, [ebx + 0x104]
push eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [ebx + 0x23c], 0xffffffff
je 0x4433b6
xor esi, esi
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
jmp 0x4435e3
lea eax, [ebx + 0xac]
lea esi, [ebp - 0x2c]
call fcn.00405054
mov byte [ebp - 4], 1
cmp dword [ebx + 0xc0], edi
je 0x4435ad
cmp dword [ebx + 0xdc], edi
je 0x4435ad
mov edi, dword [ebp - 0x18]
dec edi
mov eax, esi
call fcn.0040b056
cmp word [eax], 0x5c
je 0x4433fe
push 0x485248
mov eax, esi
push eax
call fcn.00405073
push 0xffffffffffffffff
push 0
lea eax, [ebx + 0xc8]
lea esi, [ebp - 0x2c]
call fcn.00405091
push 0xffffffffffffffff
add ebx, 0xe4
push ebx
xor ebx, ebx
mov eax, esi
call fcn.00404c2a
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x44342e
lea eax, [ebp - 0x28]
xor edi, edi
push edi
push 0x80
push 2
push edi
push edi
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov esi, dword [ebp - 0x30]
mov dword [esi + 0x23c], eax
jne 0x4434bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x70
je 0x443480
cmp eax, 0x7b
je 0x443480
cmp eax, 3
je 0x443480
cmp eax, 0x20
je 0x443480
cmp eax, 5
je 0x443480
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x44349a
push eax
jmp 0x443495
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x44349a
xor ebx, ebx
cmp eax, 0x70
sete bl
inc ebx
inc ebx
push ebx
mov edx, dword [ecx]
call dword [edx + 8]
add esi, 4
push esi
call fcn.0044368b
call fcn.00443a80
push edi
push 1
lea esi, [ebp - 0x2c]
call fcn.004049f4
push 2
pop esi
jmp 0x4433a6
mov ecx, dword [esi + 0x4c]
cmp ecx, edi
mov edx, dword [esi + 0x48]
ja 0x4434cd
cmp edx, edi
jbe 0x443550
push edi
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x30]
push ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x4434f2
push dword [esi + 0x23c]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x443550
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x70
je 0x44351e
cmp eax, 0x7b
je 0x44351e
cmp eax, 3
je 0x44351e
cmp eax, 0x20
je 0x44351e
cmp eax, 5
je 0x44351e
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x443538
push eax
jmp 0x443533
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x443538
xor ebx, ebx
cmp eax, 0x70
sete bl
inc ebx
inc ebx
push ebx
mov edx, dword [ecx]
call dword [edx + 8]
push dword [esi + 0x23c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [esi + 0x23c], 0xffffffff
jmp 0x44349a
test byte [esi + 0x100], 1
je 0x443595
cmp dword [esi + 0x4c], edi
ja 0x443563
cmp dword [esi + 0x48], edi
jbe 0x443595
push edi
push dword [esi + 0x48]
push edi
push 4
push edi
push dword [esi + 0x23c]
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
cmp eax, edi
mov dword [esi + 0x240], eax
je 0x443595
push dword [esi + 0x48]
push edi
push edi
push 6
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [esi + 0x244], eax
push edi
push 1
lea esi, [ebp - 0x2c]
call fcn.004049f4
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x4435e3
mov ecx, dword [ebx + 0x11c]
cmp ecx, edi
je 0x4435be
mov eax, dword [ecx]
push 6
call dword [eax + 8]
add ebx, 4
push ebx
call fcn.0044368b
call fcn.00443a80
push edi
push 1
lea esi, [ebp - 0x2c]
call fcn.004049f4
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 6
pop eax
call fcn.004643ee
ret