Function at 0x42dd75
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43485f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x526c
call fcn.00430950
mov dword [ebp - 0x521c], ecx
mov eax, dword [ebp - 0x521c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x521c]
mov eax, dword [edx + 0x14]
mov edx, dword [eax]
call dword [edx + 4]
and eax, 0xff
test eax, eax
je 0x42ddc4
xor al, al
jmp 0x42e791
push 0x29
mov eax, dword [ebp + 8]
push eax
push 0x441b54
push 0x10c
lea ecx, [ebp - 0x5150]
push ecx
call fcn.0042155e
add esp, 8
mov dword [ebp - 0x5220], eax
mov edx, dword [ebp - 0x5220]
mov dword [ebp - 0x5224], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x5224]
push eax
lea ecx, [ebp - 0x5160]
push ecx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
add esp, 0xc
mov dword [ebp - 0x5228], eax
mov edx, dword [ebp - 0x5228]
mov dword [ebp - 0x522c], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x522c]
push eax
lea ecx, [ebp - 0x5170]
push ecx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
mov dword [ebp - 0x5230], eax
mov edx, dword [ebp - 0x5230]
mov dword [ebp - 0x5234], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x5234]
push eax
lea ecx, [ebp - 0x5180]
push ecx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_
add esp, 0xc
mov dword [ebp - 0x5238], eax
mov edx, dword [ebp - 0x5238]
mov dword [ebp - 0x523c], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x523c]
push eax
mov ecx, dword [ebp - 0x521c]
call fcn.004226c7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5180]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5170]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5160]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5150]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0
push 0x8000080
push 3
push 0
push 1
push connect
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x5190]
push edx
mov ecx, dword [ebp - 0x521c]
call fcn.0042637e
mov dword [ebp - 0x5240], eax
mov eax, dword [ebp - 0x5240]
mov dword [ebp - 0x5244], eax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x5244]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x5034], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5190]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [ebp - 0x5034]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.0042fcf0
mov dword [ebp - 4], 5
cmp dword [ebp - 0x5034], 0xffffffff
jne 0x42dfd4
push 0x101
lea edx, [ebp - 0x51a0]
push edx
call fcn.0042155e
add esp, 8
mov dword [ebp - 0x5248], eax
mov eax, dword [ebp - 0x5248]
mov dword [ebp - 0x524c], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x524c]
push ecx
mov ecx, dword [ebp - 0x521c]
call fcn.004225c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x51a0]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 0x51a4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51a4]
jmp 0x42e791
push 0
lea edx, [ebp - 0x1014]
push edx
push 0x4000
lea eax, [ebp - 0x5028]
push eax
mov ecx, dword [ebp - 0x5034]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42e006
cmp dword [ebp - 0x1014], 0x12f
jae 0x42e076
push 0x102
lea edx, [ebp - 0x51b4]
push edx
call fcn.0042155e
add esp, 8
mov dword [ebp - 0x5250], eax
mov eax, dword [ebp - 0x5250]
mov dword [ebp - 0x5254], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x5254]
push ecx
mov ecx, dword [ebp - 0x521c]
call fcn.004225c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x51b4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 0x51b8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51b8]
jmp 0x42e791
lea edx, [ebp - 0x5028]
mov dword [ebp - 0x1010], edx
lea eax, [ebp - 0x5134]
mov dword [ebp - 0x1020], eax
mov ecx, dword [ebp - 0x1020]
mov byte [ecx], 0x6a
push 3
push 0x441b58
mov edx, dword [ebp - 0x1020]
add edx, 1
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
push 0x67
mov eax, dword [ebp - 0x1010]
add eax, 7
push eax
mov ecx, dword [ebp - 0x1020]
add ecx, 4
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
push 0x14
push 0
mov edx, dword [ebp - 0x1020]
add edx, 0x6b
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x1020]
mov byte [eax + 0x7f], 0xbc
push 0x80
mov ecx, dword [ebp - 0x1010]
add ecx, 0x99
push ecx
lea edx, [ebp - 0x50b4]
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x521c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x521c]
mov eax, dword [edx + 0x14]
mov edx, dword [eax]
call dword [edx + 4]
and eax, 0xff
test eax, eax
je 0x42e153
mov byte [ebp - 0x51bc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51bc]
jmp 0x42e791
push 0x1000
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x100c]
push ecx
lea edx, [ebp - 0x5134]
push edx
push 2
mov ecx, dword [ebp - 0x521c]
call fcn.004275f8
and eax, 0xff
test eax, eax
jne 0x42e1a7
mov byte [ebp - 0x51c0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51c0]
jmp 0x42e791
mov al, byte [ebp - 0x1008]
push eax
mov cl, byte [ebp - 0x1007]
push ecx
call fcn.004211b0
add esp, 8
cmp eax, 0x7fd
jae 0x42e1e2
mov dl, byte [ebp - 0x1008]
push edx
mov al, byte [ebp - 0x1007]
push eax
call fcn.004211b0
add esp, 8
mov dword [ebp - 0x5258], eax
jmp 0x42e1ec
mov dword [ebp - 0x5258], 0x7fd
mov ecx, dword [ebp - 0x5258]
mov dword [ebp - 0x1024], ecx
mov dword [ebp - 0x5030], 1
mov dword [ebp - 0x502c], 0
cmp dword [ebp - 0x1014], 0
je 0x42e4ba
mov edx, dword [ebp - 0x1014]
add edx, dword [ebp - 0x502c]
mov dword [ebp - 0x1014], edx
mov dword [ebp - 0x5138], 0
jmp 0x42e249
mov eax, dword [ebp - 0x5138]
add eax, dword [ebp - 0x1024]
mov dword [ebp - 0x5138], eax
mov ecx, dword [ebp - 0x1014]
sub ecx, dword [ebp - 0x1024]
add ecx, 1
cmp dword [ebp - 0x5138], ecx
jge 0x42e40f
mov edx, dword [ebp - 0x521c]
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp - 0x521c]
mov edx, dword [eax + 0x14]
mov eax, dword [edx]
call dword [eax + 4]
and eax, 0xff
test eax, eax
je 0x42e2a8
mov byte [ebp - 0x51c4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51c4]
jmp 0x42e791
push 0x1000
lea ecx, [ebp - 0x1018]
push ecx
lea edx, [ebp - 0x100c]
push edx
mov eax, dword [ebp - 0x1024]
push eax
mov ecx, dword [ebp - 0x5138]
lea edx, [ebp + ecx - 0x5028]
push edx
mov eax, dword [ebp - 0x5030]
push eax
mov ecx, dword [ebp - 0x521c]
call fcn.0042766f
and eax, 0xff
test eax, eax
jne 0x42e30f
mov byte [ebp - 0x51c8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51c8]
jmp 0x42e791
mov cl, byte [ebp - 0x1008]
push ecx
mov dl, byte [ebp - 0x1007]
push edx
call fcn.004211b0
add esp, 8
mov dword [ebp - 0x513c], eax
mov eax, dword [ebp - 0x513c]
cmp eax, dword [ebp - 0x5030]
je 0x42e3a9
push 0x100
lea ecx, [ebp - 0x51d8]
push ecx
call fcn.0042155e
add esp, 8
mov dword [ebp - 0x525c], eax
mov edx, dword [ebp - 0x525c]
mov dword [ebp - 0x5260], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x5260]
push eax
mov ecx, dword [ebp - 0x521c]
call fcn.004225c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x51d8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 0x51dc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51dc]
jmp 0x42e791
mov ecx, dword [ebp - 0x1014]
sub ecx, dword [ebp - 0x5138]
cmp dword [ebp - 0x1024], ecx
jge 0x42e3cb
mov edx, dword [ebp - 0x1024]
mov dword [ebp - 0x5264], edx
jmp 0x42e3dd
mov eax, dword [ebp - 0x1014]
sub eax, dword [ebp - 0x5138]
mov dword [ebp - 0x5264], eax
mov ecx, dword [ebp - 0x5264]
push ecx
mov edx, dword [ebp - 0x521c]
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp - 0x521c]
mov edx, dword [eax + 0x14]
mov eax, dword [edx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x5030]
add ecx, 1
mov dword [ebp - 0x5030], ecx
jmp 0x42e237
mov edx, dword [ebp - 0x1014]
sub edx, dword [ebp - 0x5138]
test edx, edx
jge 0x42e42b
mov dword [ebp - 0x5268], 0
jmp 0x42e43d
mov eax, dword [ebp - 0x1014]
sub eax, dword [ebp - 0x5138]
mov dword [ebp - 0x5268], eax
mov ecx, dword [ebp - 0x5268]
mov dword [ebp - 0x502c], ecx
cmp dword [ebp - 0x502c], 0
je 0x42e477
mov edx, dword [ebp - 0x502c]
push edx
mov eax, dword [ebp - 0x5138]
lea ecx, [ebp + eax - 0x5028]
push ecx
lea edx, [ebp - 0x5028]
push edx
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
push 0
lea eax, [ebp - 0x1014]
push eax
mov ecx, 0x4000
sub ecx, dword [ebp - 0x502c]
push ecx
mov edx, dword [ebp - 0x502c]
lea eax, [ebp + edx - 0x5028]
push eax
mov ecx, dword [ebp - 0x5034]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x42e4b5
mov dword [ebp - 0x1014], 0
jmp 0x42e20c
cmp dword [ebp - 0x502c], 0
je 0x42e632
mov edx, dword [ebp - 0x521c]
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp - 0x521c]
mov edx, dword [eax + 0x14]
mov eax, dword [edx]
call dword [eax + 4]
and eax, 0xff
test eax, eax
je 0x42e50b
mov byte [ebp - 0x51e0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51e0]
jmp 0x42e791
push 0x1000
lea ecx, [ebp - 0x1018]
push ecx
lea edx, [ebp - 0x100c]
push edx
mov eax, dword [ebp - 0x502c]
push eax
lea ecx, [ebp - 0x5028]
push ecx
mov edx, dword [ebp - 0x5030]
push edx
mov ecx, dword [ebp - 0x521c]
call fcn.0042766f
and eax, 0xff
test eax, eax
jne 0x42e56b
mov byte [ebp - 0x51e4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51e4]
jmp 0x42e791
mov al, byte [ebp - 0x1008]
push eax
mov cl, byte [ebp - 0x1007]
push ecx
call fcn.004211b0
add esp, 8
mov dword [ebp - 0x5140], eax
mov edx, dword [ebp - 0x5140]
cmp edx, dword [ebp - 0x5030]
je 0x42e605
push 0x100
lea eax, [ebp - 0x51f4]
push eax
call fcn.0042155e
add esp, 8
mov dword [ebp - 0x526c], eax
mov ecx, dword [ebp - 0x526c]
mov dword [ebp - 0x5270], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x5270]
push edx
mov ecx, dword [ebp - 0x521c]
call fcn.004225c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x51f4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 0x51f8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51f8]
jmp 0x42e791
mov eax, dword [ebp - 0x502c]
push eax
mov ecx, dword [ebp - 0x521c]
mov ecx, dword [ecx + 0x14]
mov edx, dword [ebp - 0x521c]
mov eax, dword [edx + 0x14]
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x5030]
add eax, 1
mov dword [ebp - 0x5030], eax
mov ecx, dword [ebp - 0x521c]
mov ecx, dword [ecx + 0x14]
mov edx, dword [ebp - 0x521c]
mov eax, dword [edx + 0x14]
mov edx, dword [eax]
call dword [edx + 4]
and eax, 0xff
test eax, eax
je 0x42e676
mov byte [ebp - 0x51fc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x51fc]
jmp 0x42e791
mov dword [ebp - 0x5030], 0
push 0x1000
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x100c]
push ecx
push 0
lea edx, [ebp - 0x5028]
push edx
mov eax, dword [ebp - 0x5030]
push eax
mov ecx, dword [ebp - 0x521c]
call fcn.0042766f
and eax, 0xff
test eax, eax
jne 0x42e6db
mov byte [ebp - 0x5200], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x5200]
jmp 0x42e791
mov cl, byte [ebp - 0x1008]
push ecx
mov dl, byte [ebp - 0x1007]
push edx
call fcn.004211b0
add esp, 8
mov dword [ebp - 0x101c], eax
mov eax, dword [ebp - 0x101c]
cmp eax, dword [ebp - 0x5030]
je 0x42e772
push 0x100
lea ecx, [ebp - 0x5210]
push ecx
call fcn.0042155e
add esp, 8
mov dword [ebp - 0x5274], eax
mov edx, dword [ebp - 0x5274]
mov dword [ebp - 0x5278], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x5278]
push eax
mov ecx, dword [ebp - 0x521c]
call fcn.004225c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5210]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 0x5214], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x5214]
jmp 0x42e791
mov byte [ebp - 0x5218], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1028]
call fcn.0042fd10
mov al, byte [ebp - 0x5218]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4