Function at 0x453564
Capabilities:
Contain obfuscated stackstrings
Read file on windows

Disassembly:
mov eax, 0x4aff7e
call fcn.0049f0d0
mov eax, 0x235c
call fcn.0049f1f0
mov eax, dword [0x4f0dd0]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
xor eax, ebp
push edi
lea ecx, [esi + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20d0], esi
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
lea ecx, [ebp - 0x20ac]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
xor ebx, ebx
push ebx
lea eax, [ebp - 0x2090]
push 0x100000
push eax
mov dword [ebp - 4], ebx
call fcn.0043cfda
add esp, 0xc
push eax
lea ecx, [ebp - 0x20ac]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [ebp - 0x2090]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esi + 0x28]
push eax
push dword [ebp - 0x2098]
lea ecx, [ebp - 0x20ac]
call dword [sym.imp.MSVCP71.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 fcn.0043c7c9
push edi
call fcn.0043c8ca
add esp, 0x10
test al, al
je 0x4538c4
mov esi, 0x2000
push esi
lea eax, [ebp - 0x2020]
push ebx
push eax
call sub.MSVCR71.dll_memset
push 0x4b8894
push edi
call dword [sym.imp.MSVCR71.dll__wfopen]
mov edi, eax
add esp, 0x14
cmp edi, ebx
mov dword [ebp - 0x20d8], edi
je 0x4538c4
push edi
push esi
lea eax, [ebp - 0x2020]
push 1
push eax
call dword [sym.imp.MSVCR71.dll_fread]
mov esi, eax
mov eax, dword [edi + 0xc]
add esp, 0x10
test al, 0x20
jne 0x4538bc
test al, 0x10
je 0x4538bc
lea ecx, [ebp - 0x2368]
call fcn.0049ef50
lea ecx, [ebp - 0x20c8]
mov byte [ebp - 4], 2
mov byte [ebp - 0x20], 0x22
mov byte [ebp - 0x1f], 0x41
mov byte [ebp - 0x1e], 0x27
mov byte [ebp - 0x1d], 0x34
mov byte [ebp - 0x1c], 0x59
mov byte [ebp - 0x1b], 0x64
mov byte [ebp - 0x1a], 0x25
mov byte [ebp - 0x19], 0x5e
mov byte [ebp - 0x18], 0x62
mov byte [ebp - 0x17], 0x16
mov byte [ebp - 0x16], 0x22
mov byte [ebp - 0x15], 0x5e
mov byte [ebp - 0x14], 0x20
mov byte [ebp - 0x13], 0x21
mov byte [ebp - 0x12], 0x7d
mov byte [ebp - 0x11], 0x86
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push 0x80
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x2368]
mov byte [ebp - 4], 3
call fcn.004a1ae9
lea ecx, [ebp - 0x2090]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push esi
lea eax, [ebp - 0x2020]
push eax
lea ecx, [ebp - 0x2090]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea eax, [ebp - 0x20c8]
push eax
push ebx
lea eax, [ebp - 0x2090]
push eax
lea ecx, [ebp - 0x2368]
call fcn.004a1c40
test al, al
je 0x45388e
lea ecx, [ebp - 0x2058]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea eax, [ebp - 0x2058]
push eax
push dword [ebp - 0x20b4]
lea ecx, [ebp - 0x20c8]
mov byte [ebp - 4], 5
call dword [sym.imp.MSVCP71.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 fcn.0043c417
add esp, 0xc
cmp dword [ebp - 0x2044], ebx
jbe 0x45387e
lea ecx, [ebp - 0x2074]
mov byte [ebp - 0x20c9], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
push ebx
push 0x3f
lea ecx, [ebp - 0x2058]
mov byte [ebp - 4], 6
xor edi, edi
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t__unsigned_int_const]
mov esi, eax
lea ecx, [ebp - 0x203c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov eax, dword [sym.imp.MSVCP71.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
cmp esi, dword [eax]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2058]
je 0x4537f2
mov eax, esi
sub eax, edi
push eax
push edi
lea eax, [ebp - 0x2138]
push eax
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0x203c]
mov byte [ebp - 4], 8
call dword [0x4b743c]
lea ecx, [ebp - 0x2138]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea edi, [esi + 1]
push edi
push 0x3f
lea ecx, [ebp - 0x2058]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t__unsigned_int_const]
mov esi, eax
jmp 0x453825
push dword [eax]
lea eax, [ebp - 0x211c]
push edi
push eax
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0x203c]
mov byte [ebp - 4], 9
call dword [0x4b743c]
lea ecx, [ebp - 0x211c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov edi, esi
cmp byte [ebp - 0x20c9], bl
je 0x4538ef
mov eax, dword [ebp - 0x20d0]
add eax, 0x28
push eax
lea eax, [ebp - 0x203c]
push eax
mov byte [ebp - 0x20c9], bl
call dword [sym.imp.MSVCP71.dll_bool___cdecl_std::operator__wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
test al, al
pop ecx
pop ecx
je 0x453989
lea ecx, [ebp - 0x203c]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x2074]
mov byte [ebp - 4], 5
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov edi, dword [ebp - 0x20d8]
lea ecx, [ebp - 0x2058]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x2090]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x20c8]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x2368]
mov byte [ebp - 4], bl
call fcn.00401095
push edi
call dword [sym.imp.MSVCR71.dll_fclose]
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20ac]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
xor ecx, ebp
pop ebx
call fcn.0049f127
leave
ret 4
cmp dword [ebp - 0x2060], ebx
jne 0x45390c
lea eax, [ebp - 0x203c]
push eax
lea ecx, [ebp - 0x2074]
call dword [0x4b743c]
jmp 0x453989
cmp dword [ebp - 0x2028], ebx
lea ecx, [ebp - 0x203c]
je 0x45385e
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call sub.MSVCR71.dll__wtol
pop ecx
mov dword [ebp - 0x20d4], eax
lea eax, [ebp - 0x2074]
push eax
lea ecx, [ebp - 0x2100]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov eax, dword [ebp - 0x20d4]
mov dword [ebp - 0x20e4], eax
mov ecx, dword [ebp - 0x20d0]
lea eax, [ebp - 0x2100]
push eax
lea eax, [ebp - 0x20e0]
push eax
mov byte [ebp - 4], 0xa
call fcn.0042ff82
lea ecx, [ebp - 0x2100]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x2074]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void_]
lea ecx, [ebp - 0x203c]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, dword [sym.imp.MSVCP71.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
cmp edi, dword [eax]
jne 0x453789
jmp 0x453868