Function at 0x446160
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x144c
call fcn.004f7350
mov eax, dword [0x639ac0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x438]
push edi
push 0x204
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x144c], 0x15
push 0
mov edi, ecx
movq qword [ebp - 0x1444], xmm0
mov dword [ebp - 0x143c], 0
mov dword [ebp - 0x1448], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4461d4
pop edi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x438]
push 0x5c
push eax
call fcn.004fe47b
add esp, 8
test eax, eax
je 0x4461ee
xor ecx, ecx
mov word [eax], cx
push esi
push 0x56a7e4
lea eax, [ebp - 0x438]
push 0x204
push eax
call fcn.00535dbd
mov esi, dword [ebp + 0xc]
add esp, 0xc
mov ecx, edi
push esi
call fcn.00446a70
test eax, eax
jne 0x4463a3
push esi
lea eax, [ebp - 0x144c]
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00441e00
mov esi, eax
test esi, esi
je 0x446274
push esi
push 0x13a
push 0x56a7e8
lea eax, [ebp - 0x1438]
push str.Error___s:_d___GetDeviceSerialNumber:__d
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
add esp, 0x18
mov eax, esi
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x144c]
add eax, eax
cmp eax, 0x2a
jae 0x4465a0
xor ecx, ecx
mov word [ebp + eax - 0x30], cx
lea ecx, [ebp - 0x30]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x446292
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
call fcn.00449580
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x438]
push 0x204
push eax
call fcn.00535dbd
push str..bin
lea eax, [ebp - 0x438]
push 0x204
push eax
call fcn.00535dbd
lea eax, [ebp - 0x438]
push 0
push eax
call fcn.0052ad4b
add esp, 0x28
test eax, eax
je 0x44631f
push 0xffffb1dc
push 0x14a
push 0x56a7e8
push str.Func__s:_Line__d_for__waccess____err___d
call fcn.004493c0
add esp, 0x10
mov eax, 0xffffb1dc
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x438]
push 4
push eax
call fcn.0052ad4b
add esp, 8
test eax, eax
je 0x446368
push 0xffffec12
push 0x151
push 0x56a7e8
push str.Func__s:_Line__d_for__waccess____err___d
call fcn.004493c0
add esp, 0x10
mov eax, 0xffffec12
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x438]
push 0x5bf29c
push eax
call fcn.0052e599
mov esi, eax
add esp, 8
test esi, esi
jne 0x4463b6
push 0xffffec77
push 0x158
push 0x56a7e8
push str.Func__s:_Line__d_for_fopen____err___d
call fcn.004493c0
add esp, 0x10
mov eax, 0xffffec77
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
push esi
push 1
lea eax, [ebp - 0x1444]
push 0xc
push eax
call fcn.0052fa66
add esp, 0x10
cmp eax, 1
je 0x4463f3
push 0xffffec77
push 0x161
push 0x56a7e8
push str.Func__s:_Line__d_for_fopen____err___d
call fcn.004493c0
push esi
call fcn.0052767d
add esp, 0x14
jmp 0x44639e
cmp byte [ebp - 0x1444], 0x53
je 0x44646e
cmp byte [ebp - 0x1443], 0x4d
je 0x44646e
cmp byte [ebp - 0x1442], 0x44
je 0x44646e
cmp byte [ebp - 0x1441], 0x4c
je 0x44646e
cmp word [ebp - 0x1440], 1
je 0x44646e
push 0xffffb1de
push 0x169
push 0x56a7e8
lea eax, [ebp - 0x1438]
push str.Error___s:_d___Header_not_SMDL:__d
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
push esi
call fcn.0052767d
add esp, 0x1c
mov eax, 0xffffb1de
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
push 2
push 0xfffffffffffffffc
push esi
call fcn.00529eba
add esp, 0xc
test eax, eax
je 0x4464b9
push 0xffffebaf
push 0x174
push 0x56a7e8
push str.Func__s:_Line__d_for_fseek____err___d
call fcn.004493c0
push esi
call fcn.0052767d
add esp, 0x14
mov eax, 0xffffebaf
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
push esi
push 1
lea eax, [ebp - 0x1448]
push 4
push eax
call fcn.0052fa66
add esp, 0x10
cmp eax, 1
je 0x44650c
push 0xffffec75
push 0x17d
push 0x56a7e8
push str.Func__s:_Line__d_for_fseek____err___d
call fcn.004493c0
push esi
call fcn.0052767d
add esp, 0x14
mov eax, 0xffffec75
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x1448]
cmp al, 0x4c
je 0x44657a
cmp ah, 0x44
je 0x44657a
cmp byte [ebp - 0x1446], 0x4d
je 0x44657a
cmp byte [ebp - 0x1445], 0x53
je 0x44657a
push 0xffffb1dd
push 0x185
push 0x56a7e8
lea eax, [ebp - 0x1438]
push str.Error___s:_d___FOOTER_not_LDMS:__d
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
push esi
call fcn.0052767d
add esp, 0x1c
mov eax, 0xffffb1dd
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x143c]
push esi
mov dword [ebx], eax
call fcn.0052767d
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
xor eax, eax
pop esi
pop edi
pop ebx
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 8
call fcn.004f67fd
int3