Function at 0x43e810
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1480
call fcn.004f7350
mov eax, dword [0x639ac0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x1470], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x1474], eax
mov eax, dword [ebp + 0x18]
push 0x408
mov dword [ebp - 0x1478], eax
lea eax, [ebp - 0x438]
push 0
push eax
mov dword [ebp - 0x147c], esi
mov dword [ebp - 0x1480], edi
call fcn.004ff750
add esp, 0xc
mov dword [esi], 0
lea eax, [ebp - 0x438]
mov dword [ebp - 0x143c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x146c], 0
movq qword [ebp - 0x1444], xmm0
push 0x204
push eax
push 0
mov dword [edi], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x43e8c8
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 0x1c
lea eax, [ebp - 0x438]
push 0x5c
push eax
call fcn.004fe47b
add esp, 8
test eax, eax
je 0x43e8e2
xor ecx, ecx
mov word [eax], cx
push 0x56a7e4
lea eax, [ebp - 0x438]
push 0x204
push eax
call fcn.00535dbd
mov esi, dword [ebp + 0x20]
add esp, 0xc
mov ecx, ebx
push esi
call fcn.00446a70
mov edi, eax
test edi, edi
jne 0x43eaa5
push esi
lea eax, [ebp - 0x1464]
mov dword [ebp - 0x1464], 0x15
push eax
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.00441e00
mov esi, eax
test esi, esi
je 0x43e973
push esi
push 0x30e
push str.CSMARTInfo::ExportTECData
lea eax, [ebp - 0x1438]
push str.Error___s:_d___GetDeviceSerialNumber_err___d
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
add esp, 0x18
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [ebp - 0x1464]
add eax, eax
cmp eax, 0x2a
jae 0x43eea8
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 0x43e991
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 0x43ea0b
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffb1dc
call esi
push eax
call fcn.0043ddd0
add esp, 4
push eax
call esi
push eax
push 0x31d
jmp 0x43ea80
lea eax, [ebp - 0x438]
push 4
push eax
call fcn.0052ad4b
add esp, 8
test eax, eax
je 0x43ea41
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffec12
call esi
push eax
call fcn.0043ddd0
add esp, 4
push eax
call esi
push eax
push 0x326
jmp 0x43ea80
lea eax, [ebp - 0x438]
push 0x5bf29c
push eax
call fcn.0052e599
mov esi, eax
add esp, 8
mov dword [ebp - 0x1464], esi
test esi, esi
jne 0x43eaba
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffec77
call esi
push eax
call fcn.0043ddd0
add esp, 4
push eax
call esi
push eax
push 0x32f
push str.CSMARTInfo::ExportTECData
lea eax, [ebp - 0x1438]
push str.Error___s:_d___error_code:__d___s_
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
add esp, 0x1c
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f66cd
mov esp, ebp
pop ebp
ret 0x1c
push esi
push 1
lea eax, [ebp - 0x1444]
push 0xc
push eax
call fcn.0052fa66
add esp, 0x10
cmp eax, 1
je 0x43eaf7
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffec77
call esi
push eax
call fcn.0043ddd0
add esp, 4
push eax
call esi
push eax
push 0x339
jmp 0x43ebad
cmp byte [ebp - 0x1444], 0x53
je 0x43eb35
cmp byte [ebp - 0x1443], 0x4d
je 0x43eb35
cmp byte [ebp - 0x1442], 0x44
je 0x43eb35
cmp byte [ebp - 0x1441], 0x4c
je 0x43eb35
cmp word [ebp - 0x1440], 1
je 0x43eb35
mov edi, 0xffffb1de
push edi
push 0x342
jmp 0x43ec2e
push esi
call fcn.00536f24
push 2
push 0xfffffffffffffffc
push esi
mov dword [ebp - 0x1468], eax
call fcn.00529eba
mov edi, eax
add esp, 0x10
test edi, edi
je 0x43eb75
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffebaf
call esi
push eax
call fcn.0043ddd0
add esp, 4
push eax
call esi
push eax
push 0x34c
jmp 0x43ebad
push esi
push 1
lea eax, [ebp - 0x146c]
push 4
push eax
call fcn.0052fa66
add esp, 0x10
cmp eax, 1
je 0x43ebe5
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffec75
call esi
push eax
call fcn.0043ddd0
add esp, 4
push eax
call esi
push eax
push 0x355
push str.CSMARTInfo::ExportTECData
lea eax, [ebp - 0x1438]
push str.Error___s:_d___error_code:__d___s_
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
add esp, 0x1c
push dword [ebp - 0x1464]
call fcn.0052767d
add esp, 4
jmp 0x43eaa5
mov eax, dword [ebp - 0x146c]
cmp al, 0x4c
je 0x43ec13
cmp ah, 0x44
je 0x43ec13
cmp byte [ebp - 0x146a], 0x4d
je 0x43ec13
cmp byte [ebp - 0x1469], 0x53
je 0x43ec13
mov edi, 0xffffb1dd
push edi
push 0x35d
jmp 0x43ec2e
mov ecx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x143c]
cmp dword [ecx], eax
jae 0x43ec66
mov edi, 0xfffff82f
push edi
push 0x366
push str.CSMARTInfo::ExportTECData
lea eax, [ebp - 0x1438]
push str.Error___s:_d___error_code:__d
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
add esp, 0x18
push dword [ebp - 0x1464]
call fcn.0052767d
add esp, 4
jmp 0x43eaa5
mov dword [ecx], eax
mov dword [ebp - 0x1478], 0
test eax, eax
je 0x43ee95
mov eax, dword [ebp - 0x147c]
sub eax, dword [ebp - 0x1474]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x1468]
mov dword [ebp - 0x147c], eax
mov eax, dword [ebp - 0x1480]
sub eax, dword [ebp - 0x1470]
mov dword [ebp - 0x1480], eax
nop word [eax + eax]
push 0
push ecx
push esi
call fcn.00529eba
mov edi, eax
add esp, 0xc
test edi, edi
je 0x43ecdd
mov edi, 0xffffebaf
call ebx
push eax
call fcn.0043ddd0
add esp, 4
push eax
call ebx
push eax
push 0x372
jmp 0x43ed19
push esi
push 1
lea eax, [ebp - 0x1460]
xorps xmm0, xmm0
push 0x10
push eax
movups xmmword [ebp - 0x1460], xmm0
call fcn.0052fa66
add esp, 0x10
cmp eax, 1
je 0x43ed49
mov edi, 0xffffec75
call ebx
push eax
call fcn.0043ddd0
add esp, 4
push eax
call ebx
push eax
push 0x37c
push str.CSMARTInfo::ExportTECData
lea eax, [ebp - 0x1438]
push str.Error___s:_d___error_code:__d___s_
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
mov ecx, dword [ebp - 0x1468]
add esp, 0x1c
jmp 0x43ee6e
mov eax, dword [ebp - 0x1460]
xor esi, esi
test eax, eax
je 0x43ee53
nop dword [eax]
push dword [ebp - 0x1464]
lea eax, [ebp - 0x1450]
mov word [ebp - 0x1448], 0
push 1
xorps xmm0, xmm0
push 0xa
push eax
movq qword [ebp - 0x1450], xmm0
call fcn.0052fa66
add esp, 0x10
cmp eax, 1
je 0x43edd2
mov edi, 0xffffec75
call ebx
push eax
call fcn.0043ddd0
add esp, 4
push eax
call ebx
push eax
push 0x388
push str.CSMARTInfo::ExportTECData
lea eax, [ebp - 0x1438]
push str.Error___s:_d___error_code:__d___s_
push eax
call fcn.00438870
lea eax, [ebp - 0x1438]
push eax
call fcn.004397c0
add esp, 0x1c
jmp 0x43edde
movzx eax, byte [ebp - 0x1450]
cmp eax, dword [ebp + 0x1c]
je 0x43edef
mov eax, dword [ebp - 0x1460]
inc esi
cmp esi, eax
jb 0x43ed60
jmp 0x43ee53
mov edx, dword [ebp - 0x1474]
mov esi, dword [ebp - 0x147c]
mov eax, dword [ebp - 0x145c]
mov ecx, dword [ebp - 0x1458]
mov dword [edx + esi], eax
movzx eax, byte [ebp - 0x144f]
mov dword [edx + esi + 4], ecx
mov ecx, dword [ebp - 0x1470]
mov esi, dword [ebp - 0x1480]
mov dword [ecx + esi], eax
movzx eax, byte [ebp - 0x1448]
mov dword [ecx], eax
mov eax, dword [ebp - 0x144e]
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx], eax
mov ax, word [ebp - 0x144a]
mov word [edx + 4], ax
mov eax, dword [ebp - 0x1460]
mov ecx, dword [ebp - 0x1468]
lea eax, [eax + eax*4]
mov esi, dword [ebp - 0x1464]
lea ecx, [ecx + eax*2]
add ecx, 0x10
mov dword [ebp - 0x1468], ecx
mov eax, dword [ebp - 0x1478]
add dword [ebp - 0x1470], 4
inc eax
add dword [ebp - 0x1474], 8
mov dword [ebp - 0x1478], eax
cmp eax, dword [ebp - 0x143c]
jb 0x43ecb0
push dword [ebp - 0x1464]
call fcn.0052767d
add esp, 4
jmp 0x43eaa5
call fcn.004f67fd
int3