Function at 0x44d8a0
Capabilities:
Read file via mapping

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cd308
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x78
mov eax, dword [0x505034]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x58], edi
mov esi, 0x490
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x78], esi
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x80], eax
xor al, al
mov byte [ebp - 0x51], al
mov byte [ebp - 0x59], al
mov byte [ebp - 0x52], al
mov byte [ebp - 0x5a], al
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x74], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx eax, ax
mov dword [ebp - 0x6c], 0
test edi, edi
jne 0x44d938
lea esi, [edi + 0x57]
jmp 0x44e040
mov ecx, 0x105
cmp ax, cx
je 0x44da02
push str.GetSystemFirmwareTable
push 0x4e64d4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x44e040
push 0
push 0
push 0
push 0x52534d42
call eax
mov esi, eax
test esi, esi
je 0x44e03b
xor ecx, ecx
add eax, 0x400
setb cl
neg ecx
or ecx, eax
push ecx
call fcn.0049b1eb
add esp, 4
mov ecx, eax
mov dword [ebp - 0x70], ecx
test ecx, ecx
jne 0x44d9a7
lea esi, [eax + 8]
jmp 0x44e040
lea eax, [esi + 0x400]
push eax
push 0
push ecx
call fcn.004928b0
add esp, 0xc
push esi
mov esi, dword [ebp - 0x70]
push esi
push 0
push 0x52534d42
call dword [ebp - 0x24]
test eax, eax
je 0x44e03b
mov al, byte [esi + 1]
mov byte [ebp - 0x51], al
mov cl, byte [esi + 2]
mov byte [ebp - 0x52], cl
cmp al, 2
jae 0x44d9ea
mov esi, 0x718
jmp 0x44e040
lea eax, [esi + 8]
mov dword [ebp - 0x64], eax
mov ecx, dword [esi + 4]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x68], 0
jmp 0x44dc8a
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x50], 0x2e002c
mov dword [ebp - 0x4c], str.DevicePhysicalMemory
mov dword [ebp - 4], 0
push str.NtOpenSection
push 0x4ebb68
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x44dc28
mov dword [ebp - 0x3c], 0x18
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0x40
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x3c]
push ecx
push 4
lea ecx, [ebp - 0x24]
push ecx
call eax
test eax, eax
js 0x44dc28
push 0x10000
push 0xf0000
push 0
push 4
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov dword [ebp - 0x6c], ecx
test ecx, ecx
je 0x44dc28
mov esi, ecx
mov dword [ebp - 0x84], esi
mov eax, esi
sub eax, ecx
cmp eax, 0x10000
jae 0x44dac3
cmp dword [esi], 0x5f4d535f
je 0x44dabe
add esi, 0x10
jmp 0x44daa0
cmp eax, 0x10000
je 0x44dc23
mov al, byte [esi + 5]
cmp al, 0x1f
ja 0x44dc23
cmp al, 0x1e
je 0x44dae0
cmp al, 0x1f
jne 0x44dc23
movzx eax, al
sub eax, ecx
add eax, esi
cmp eax, 0x10000
ja 0x44dc23
movzx edx, word [esi + 0x16]
mov dword [ebp - 0x20], edx
test dx, dx
je 0x44dc23
mov eax, 0x494d445f
cmp eax, dword [esi + 0x10]
jne 0x44dc23
mov eax, 0x5f
cmp al, byte [esi + 0x14]
jne 0x44dc23
mov al, byte [esi + 6]
mov byte [ebp - 0x51], al
mov byte [ebp - 0x59], al
mov ah, byte [esi + 7]
mov byte [ebp - 0x52], ah
mov byte [ebp - 0x5a], ah
cmp al, 2
jb 0x44dc23
mov esi, dword [esi + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ecx, esi
and ecx, 0xfff
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x20]
movzx eax, dx
add eax, 0xfff
add eax, ecx
and eax, 0xfffff000
push eax
sub esi, ecx
push esi
push 0
push 4
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
mov dword [ebp - 0x6c], esi
test esi, esi
je 0x44dc23
xor ecx, ecx
mov edx, dword [ebp - 0x20]
movzx eax, dx
add eax, 0x400
setb cl
neg ecx
or ecx, eax
push ecx
call fcn.0049b1eb
add esp, 4
mov edx, eax
mov dword [ebp - 0x74], edx
test edx, edx
jne 0x44dbbd
mov esi, 8
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x44dc6e
mov ecx, dword [ebp - 0x20]
movzx eax, cx
add eax, 0x400
push eax
push 0
push edx
call fcn.004928b0
add esp, 0xc
mov ecx, dword [ebp - 0x20]
movzx eax, cx
push eax
mov eax, dword [ebp - 0x88]
add eax, esi
push eax
push dword [ebp - 0x74]
call fcn.00491db0
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x20]
movzx eax, cx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x80], eax
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0x6c], 0
xor esi, esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x44dc6e
mov esi, 0x490
mov dword [ebp - 4], 0xffffffff
jmp 0x44dc6e
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x44dc7c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
jne 0x44e02b
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
push 1
lea edx, [ebp - 0x58]
push edx
push 0
mov edx, ecx
mov ecx, eax
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44dd58
mov dword [ebp - 0x24], eax
call fcn.0044ee70
mov ecx, eax
test ecx, ecx
je 0x44e082
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 3
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x58]
mov dl, byte [ecx + 8]
call fcn.0044d7a0
add esp, 4
mov esi, dword [ebp - 0x24]
test eax, eax
jne 0x44dd39
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x38]
push eax
push str._d__d__d
push esi
call fcn.0042ad90
add esp, 0x14
cmp eax, 3
jne 0x44dd39
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp eax, 0x76c
jl 0x44dd27
sub eax, 0x76c
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x48]
push eax
call fcn.004a45bc
add esp, 4
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], edx
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44dd58
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
push 1
lea eax, [ebp - 0x58]
push eax
push 1
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44dd9c
lea eax, [edi + 4]
push eax
mov esi, dword [ebp - 0x58]
mov dl, byte [esi + 7]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
cmp byte [ebp - 0x51], 2
ja 0x44dd94
jne 0x44dd9c
cmp byte [ebp - 0x52], 1
jb 0x44dd9c
movups xmm0, xmmword [esi + 8]
movups xmmword [edi + 8], xmm0
push 1
lea eax, [ebp - 0x58]
push eax
push 2
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44dddb
lea eax, [edi + 0x18]
push eax
mov esi, dword [ebp - 0x58]
mov dl, byte [esi + 7]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
lea eax, [edi + 0x1c]
push eax
mov dl, byte [esi + 8]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
push 1
lea eax, [ebp - 0x58]
push eax
push 3
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44de1a
lea eax, [edi + 0x20]
push eax
mov esi, dword [ebp - 0x58]
mov dl, byte [esi + 7]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
lea eax, [edi + 0x24]
push eax
mov dl, byte [esi + 8]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
push 1
lea eax, [ebp - 0x58]
push eax
push 4
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44de73
mov esi, dword [ebp - 0x58]
mov eax, dword [esi + 8]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x2c], eax
cmp byte [ebp - 0x51], 2
ja 0x44de51
jne 0x44de73
cmp byte [ebp - 0x52], 3
jb 0x44de73
lea eax, [edi + 0x30]
push eax
mov dl, byte [esi + 0x20]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
lea eax, [edi + 0x34]
push eax
mov dl, byte [esi + 0x21]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
mov byte [ebp - 0x24], 1
or esi, 0xffffffff
nop word [eax + eax]
mov dword [ebp - 0x20], 0
call fcn.0044ee70
mov ecx, eax
test ecx, ecx
je 0x44e082
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 6
push dword [ebp - 0x24]
lea eax, [ebp - 0x58]
push eax
push 0x11
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44df6d
cmp byte [ebp - 0x51], 2
ja 0x44ded7
jne 0x44df40
cmp byte [ebp - 0x52], 3
jb 0x44df40
lea eax, [ebp - 0x20]
push eax
mov esi, dword [ebp - 0x58]
mov dl, byte [esi + 0x1a]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
test eax, eax
jne 0x44defb
lea eax, [ebp - 0x20]
push eax
lea ecx, [edi + 0x38]
call fcn.0044e540
lea eax, [ebp - 0x20]
push eax
mov dl, byte [esi + 0x18]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
test eax, eax
jne 0x44df1c
lea eax, [ebp - 0x20]
push eax
lea ecx, [edi + 0x3c]
call fcn.0044e540
lea eax, [ebp - 0x20]
push eax
mov dl, byte [esi + 0x19]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
test eax, eax
jne 0x44df3d
lea eax, [ebp - 0x20]
push eax
lea ecx, [edi + 0x40]
call fcn.0044e540
or esi, 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44df61
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
add byte [ebp - 0x24], 1
jne 0x44de80
jmp 0x44df8c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x44df8c
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov al, byte [ebp - 0x51]
cmp al, 2
ja 0x44df9c
jne 0x44dfcd
mov al, byte [ebp - 0x52]
cmp al, 1
jb 0x44dfd4
push 1
lea eax, [ebp - 0x58]
push eax
push 0x16
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44dfc8
lea eax, [edi + 0x44]
push eax
mov ecx, dword [ebp - 0x58]
mov dl, byte [ecx + 7]
call fcn.0044d7a0
add esp, 4
mov al, byte [ebp - 0x51]
cmp al, 2
ja 0x44dfd8
jne 0x44e028
mov al, byte [ebp - 0x52]
cmp al, 3
jb 0x44e028
push 1
lea eax, [ebp - 0x58]
push eax
push 0x27
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.0044d830
add esp, 0xc
test eax, eax
jne 0x44e028
lea eax, [edi + 0x48]
push eax
mov esi, dword [ebp - 0x58]
mov dl, byte [esi + 0xa]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
lea eax, [edi + 0x4c]
push eax
mov dl, byte [esi + 8]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
lea eax, [edi + 0x50]
push eax
mov dl, byte [esi + 9]
mov ecx, esi
call fcn.0044d7a0
add esp, 4
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x44e040
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
jmp 0x44e040
mov esi, 0x490
push 0
call fcn.0049b1f6
add esp, 4
push dword [ebp - 0x70]
call fcn.0049b1f6
add esp, 4
push dword [ebp - 0x74]
call fcn.0049b1f6
add esp, 4
mov dword [edi], esi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00479e61
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x80004005
call fcn.0044ec30
int3