Function at 0x40aaf0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov dword [ebp - 0x1c], 0xc20b
mov dword [ebp - 0x34], 0xa5334
mov dword [ebp - 0x60], 0x373ef
mov dword [ebp - 0x58], 0x6f967
mov dword [ebp - 0x3c], 0xe053a
mov dword [ebp - 0x54], 0x92e5d
mov dword [ebp - 0x44], 0xd2a85
mov dword [ebp - 8], 0xed82e
mov dword [ebp - 0x14], 0x8354c
mov dword [ebp - 0x10], 0xecde9
mov dword [ebp - 0x38], 0x539ff
mov dword [ebp - 0x18], 0xa013a
mov dword [ebp - 0x48], 0x3851b
mov dword [ebp - 0x24], 0x7b369
mov dword [ebp - 0x50], 0xf1ebc
mov dword [ebp - 4], 0x94a5b
mov dword [ebp - 0x40], 0x8b588
mov dword [ebp - 0x5c], 0x4ce6b
mov dword [ebp - 0x28], 0x933a8
mov dword [ebp - 0x2c], 0x34501
mov dword [ebp - 0x4c], 0x621e2
mov dword [ebp - 0x30], 0x9ede8
mov dword [ebp - 0x20], 0x47c7b
mov dword [ebp - 0xc], 0xd9e0b
mov eax, dword [ebp - 0x28]
add eax, 0x9e507
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x14]
xor ecx, 0x2305b
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x18]
xor edx, 0x90471
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x2c]
sub eax, 0xa538f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x18], 0xa636d
je 0x40ada8
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x34]
or edx, 0x5dcd2
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x2c], 0x6c58a
jne 0x40ada8
mov eax, dword [ebp - 0x50]
sub eax, 0x399e0
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x54]
xor ecx, dword [ebp - 0x58]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 4]
or edx, 0xd64b7
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x34]
add eax, 0x33398
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0xc562b
jle 0x40ada8
mov edx, dword [ebp - 0x38]
xor edx, 0xb7fc2
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x24]
and eax, 0x7a9de
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
or ecx, 0xae452
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x3c], 0x88716
jne 0x40ada8
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 4]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x85141
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x6b1af
jne 0x40ada8
mov eax, dword [ebp - 0x50]
add eax, 0x6a9b6
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x44]
or ecx, 0x26f32
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x18]
or edx, 0x650ea
mov dword [ebp - 0x18], edx
cmp dword [ebp - 8], 0x4fbf0
jge 0x40ada8
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x38]
and ecx, dword [ebp - 0x54]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 8]
and edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
or eax, 0x1f02d
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
or ecx, 0x3cfc
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
and edx, 0xecdc
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x24], 0xede8
jle 0x40ada8
mov ecx, dword [ebp - 0x44]
and ecx, 0xd9ba1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x28]
and edx, 0xf211d
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov ecx, dword [ebp - 0x30]
xor ecx, 0xe1767
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x48], 0x87d02
je 0x40ada8
mov edx, dword [ebp - 0x10]
or edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x5c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x14]
or edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x30]
sub eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 8]
add ecx, 0xebbf0
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
xor eax, 0x10417
mov dword [ebp - 4], eax
cmp dword [ebp - 0x60], 0x6a6d5
jle 0x40ae3e
mov ecx, dword [ebp - 0x20]
add ecx, 0xb7287
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x30]
and edx, 0x120a7
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
xor ecx, 0x298b1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x5f78e
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x1c]
or eax, 0x5548c
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, 0x24ac2
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x30]
add edx, 0xe37c0
mov dword [ebp - 0x30], edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x34]
or eax, 0x1d929
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, 0x3da6d
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x48]
add edx, 0xedfc
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x18]
xor eax, 0x37804
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x3c], 0x515f5
jne 0x40af4b
mov ecx, dword [ebp - 0x48]
xor ecx, 0xed3d1
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x84936
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x20]
xor eax, 0x87c6
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x38]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 4], 0xd6b25
jge 0x40af44
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
or ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x68e7a
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x24]
or eax, 0x1e7c
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
or ecx, 0xaa1d9
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 8]
or eax, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3e9a5
je 0x40af44
mov ecx, dword [ebp - 0x20]
or ecx, 0x3f482
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
and edx, 0xdbe02
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
add eax, 0x796a5
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x44]
sub ecx, 0x6c0cf
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x40]
sub edx, 0x4d8fc
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
nop
cmp dword [ebp - 0x14], 0xa0518
jge 0x40b16d
mov ecx, dword [ebp - 0x2c]
add ecx, 0x3a23a
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x20]
or edx, 0x93cda
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x10]
or eax, 0x94410
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
or edx, 0x2b641
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
add eax, 0xd7107
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x4c], 0x9de59
je 0x40b168
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x2c]
and ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x50]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0x58]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0xc1ff9
mov dword [ebp - 4], edx
cmp dword [ebp - 0xc], 0x128bc
jge 0x40b168
mov eax, dword [ebp - 0xc]
or eax, 0xdf149
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
or ecx, 0x541e7
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x24]
or edx, 0xa5595
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0xc]
or eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x44]
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x30], 0xa2d3e
je 0x40b168
mov edx, dword [ebp - 4]
and edx, 0x753b2
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x18]
sub eax, 0xaab10
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 4]
and edx, 0x853ae
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x54]
xor eax, 0xdb2e1
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x10], 0xbefd1
jle 0x40b168
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x24]
add eax, 0xd4c26
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x44]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x8c7dc
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x6372
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
xor edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], edx
cmp dword [ebp - 4], 0x70ab0
jge 0x40b168
mov eax, dword [ebp - 4]
or eax, 0xd0f3e
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_InterlockedPopEntrySList]
mov ecx, dword [ebp - 0x54]
xor ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x40]
sub edx, 0x835f3
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x18], 0x9dd03
jle 0x40b168
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0xe5e42
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x2c], 0xe5c07
je 0x40b168
mov edx, dword [ebp - 0x50]
or edx, 0x1b689
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x4c]
and eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x40af4b
mov esp, ebp
pop ebp
ret