Function at 0x443368
Capabilities:
Read file via mapping

Disassembly:
push 0x28
mov eax, 0x47cd5e
call fcn.0046435b
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 0x4433a9
xor esi, esi
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
jmp 0x4435d6
lea eax, [ebx + 0xac]
lea esi, [ebp - 0x2c]
call fcn.00405054
mov byte [ebp - 4], 1
cmp dword [ebx + 0xc0], edi
je 0x4435a0
cmp dword [ebx + 0xdc], edi
je 0x4435a0
mov edi, dword [ebp - 0x18]
dec edi
mov eax, esi
call fcn.0040b056
cmp word [eax], 0x5c
je 0x4433f1
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 0x443421
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 0x4434ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x70
je 0x443473
cmp eax, 0x7b
je 0x443473
cmp eax, 3
je 0x443473
cmp eax, 0x20
je 0x443473
cmp eax, 5
je 0x443473
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x44348d
push eax
jmp 0x443488
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x44348d
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.0044367e
call fcn.00443a73
push edi
push 1
lea esi, [ebp - 0x2c]
call fcn.004049f4
push 2
pop esi
jmp 0x443399
mov ecx, dword [esi + 0x4c]
cmp ecx, edi
mov edx, dword [esi + 0x48]
ja 0x4434c0
cmp edx, edi
jbe 0x443543
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 0x4434e5
push dword [esi + 0x23c]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x443543
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x70
je 0x443511
cmp eax, 0x7b
je 0x443511
cmp eax, 3
je 0x443511
cmp eax, 0x20
je 0x443511
cmp eax, 5
je 0x443511
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x44352b
push eax
jmp 0x443526
mov ecx, dword [esi + 0x11c]
cmp ecx, edi
je 0x44352b
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 0x44348d
test byte [esi + 0x100], 1
je 0x443588
cmp dword [esi + 0x4c], edi
ja 0x443556
cmp dword [esi + 0x48], edi
jbe 0x443588
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 0x443588
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 0x4435d6
mov ecx, dword [ebx + 0x11c]
cmp ecx, edi
je 0x4435b1
mov eax, dword [ecx]
push 6
call dword [eax + 8]
add ebx, 4
push ebx
call fcn.0044367e
call fcn.00443a73
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.004643de
ret