Function at 0x48a905
Capabilities:
Move file

Disassembly:
mov eax, 0x4981f7
call fcn.00497cb0
sub esp, 0xd4
mov eax, dword [0x4b8484]
push ebx
push esi
push edi
xor edi, edi
cmp byte [0x4b99a1], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esp
je 0x48b24d
push edi
push edi
push 0xffff
push 0x400
mov dword [ebp - 4], edi
call dword [0x4b9bd0]
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0xa8], eax
jne 0x48a979
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x91], al
push 0x4a81a8
lea eax, [ebp - 0x91]
jmp 0x48b0c7
call dword [0x4b9b48]
cmp eax, edi
mov dword [ebp - 0xa4], eax
jne 0x48a9ae
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x9c], al
push 0x4a81a8
lea eax, [ebp - 0x9c]
jmp 0x48b0c7
lea ecx, [ebp - 0x38]
call fcn.00483344
push dword [ebp + 8]
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call dword [eax + 8]
mov eax, dword [ebp - 0x38]
push str..new
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
push str..key
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
lea ecx, [ebp - 0x34]
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 0x4a4fbc
push eax
call dword [0x4b9a74]
mov ebx, eax
cmp ebx, edi
pop ecx
pop ecx
jne 0x48aa24
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x9e], al
push 0x4a81a8
lea eax, [ebp - 0x9e]
jmp 0x48b0c7
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x18]
lea ecx, [eax + 4]
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 edi
push edi
push esi
push eax
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push ebx
call dword [0x4b9b30]
add esp, 0x1c
push ebx
mov esi, eax
call dword [0x4b9a54]
cmp esi, edi
pop ecx
jne 0x48aa80
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x97], al
push 0x4a81a8
lea eax, [ebp - 0x97]
jmp 0x48b0c7
call dword [0x4b9b40]
cmp eax, edi
mov dword [ebp - 0xa4], eax
jne 0x48aab5
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x93], al
push 0x4a81a8
lea eax, [ebp - 0x93]
jmp 0x48b0c7
push dword [ebp - 0xa8]
push 6
push eax
call dword [0x4b9b4c]
add esp, 0xc
cmp eax, edi
jne 0x48aaf0
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x85], al
push 0x4a81a8
lea eax, [ebp - 0x85]
jmp 0x48b0c7
call dword [0x4b9b08]
cmp eax, edi
mov dword [ebp - 0xa8], eax
jne 0x48ab25
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x96], al
push 0x4a81a8
lea eax, [ebp - 0x96]
jmp 0x48b0c7
mov eax, dword [eax]
mov ebx, dword [eax + 0x10]
cmp ebx, edi
jne 0x48ab53
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x87], al
push 0x4a81a8
lea eax, [ebp - 0x87]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0x28
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 0
or edi, 0xffffffff
push edi
push edi
push eax
mov esi, 0x1001
push esi
push 0xd
push ebx
call dword [0x4b9b0c]
add esp, 0x1c
test eax, eax
jne 0x48aba0
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x95], al
push 0x4a81a8
lea eax, [ebp - 0x95]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0x70
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 0
push edi
push edi
push eax
push esi
push 0xf
push ebx
call dword [0x4b9b0c]
add esp, 0x1c
test eax, eax
jne 0x48abe5
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x89], al
push 0x4a81a8
lea eax, [ebp - 0x89]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0x94
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 0
push edi
push edi
push eax
push esi
push 0x10
push ebx
call dword [0x4b9b0c]
add esp, 0x1c
test eax, eax
jne 0x48ac2d
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x98], al
push 0x4a81a8
lea eax, [ebp - 0x98]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0xdc
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 0
push edi
push edi
push eax
push esi
push 0x11
push ebx
call dword [0x4b9b0c]
add esp, 0x1c
test eax, eax
jne 0x48ac75
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x8b], al
push 0x4a81a8
lea eax, [ebp - 0x8b]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0xb8
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 0
push edi
push edi
push eax
push esi
push 0xe
push ebx
call dword [0x4b9b0c]
add esp, 0x1c
test eax, eax
jne 0x48acbd
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x9a], al
push 0x4a81a8
lea eax, [ebp - 0x9a]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0x4c
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 0
push edi
push edi
push eax
push esi
push 0x30
push ebx
call dword [0x4b9b0c]
add esp, 0x1c
test eax, eax
jne 0x48ad02
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x8d], al
push 0x4a81a8
lea eax, [ebp - 0x8d]
jmp 0x48b0c7
mov ecx, dword [ebp + 0xc]
add ecx, 0x100
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 0
push edi
push edi
push eax
push esi
push 0x12
push ebx
call dword [0x4b9b0c]
xor ebx, ebx
add esp, 0x1c
cmp eax, ebx
jne 0x48ad4e
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x9b], al
push 0x4a81a8
lea eax, [ebp - 0x9b]
jmp 0x48b0c7
push dword [ebp - 0xa4]
mov esi, dword [ebp - 0xa8]
push esi
call dword [0x4b9b10]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48ad8c
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x8f], al
push 0x4a81a8
lea eax, [ebp - 0x8f]
jmp 0x48b0c7
push ebx
push ebx
push esi
push ebx
lea eax, [ebp - 0xc4]
push ebx
push eax
call dword [0x4b9afc]
add esp, 0x18
call dword [0x4b9b50]
push eax
push dword [ebp - 0xa4]
push esi
call dword [0x4b9b14]
add esp, 0xc
cmp eax, ebx
jne 0x48ade1
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x99], al
push 0x4a81a8
lea eax, [ebp - 0x99]
jmp 0x48b0c7
call dword [0x4b9ae0]
mov edi, eax
push 2
push edi
call dword [0x4b9ae4]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48ae1d
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x82], al
push 0x4a81a8
lea eax, [ebp - 0x82]
jmp 0x48b0c7
push edi
call dword [0x4b9b18]
pop ecx
push ebx
push eax
call dword [0x4b9b58]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48ae58
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x9d], al
push 0x4a81a8
lea eax, [ebp - 0x9d]
jmp 0x48b0c7
mov eax, dword [esi]
push dword [eax + 0x10]
push edi
call dword [0x4b9ae8]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48ae8f
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x83], al
push 0x4a81a8
lea eax, [ebp - 0x83]
jmp 0x48b0c7
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
push ebx
push dword [eax]
call dword [0x4b9aec]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48aec8
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x84], al
push 0x4a81a8
lea eax, [ebp - 0x84]
jmp 0x48b0c7
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
push 0x12cc0300
push dword [eax + 4]
call dword [0x4b9aec]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48af06
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x86], al
push 0x4a81a8
lea eax, [ebp - 0x86]
jmp 0x48b0c7
mov eax, dword [esi]
push dword [eax + 0x10]
push edi
call dword [0x4b9af0]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48af3d
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x88], al
push 0x4a81a8
lea eax, [ebp - 0x88]
jmp 0x48b0c7
push esi
call dword [0x4b9af4]
mov esi, eax
cmp esi, ebx
pop ecx
jne 0x48af70
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x8a], al
push 0x4a81a8
lea eax, [ebp - 0x8a]
jmp 0x48b0c7
push esi
push edi
call dword [0x4b9af8]
cmp eax, ebx
pop ecx
pop ecx
jne 0x48afa3
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x8c], al
push 0x4a81a8
lea eax, [ebp - 0x8c]
jmp 0x48b0c7
push esi
call dword [0x4b9b44]
pop ecx
push ebx
push ebx
push ebx
push edi
lea eax, [ebp - 0xe0]
push edi
push eax
call dword [0x4b9afc]
add esp, 0x18
call dword [0x4b9b50]
cmp eax, ebx
jne 0x48afef
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x8e], al
push 0x4a81a8
lea eax, [ebp - 0x8e]
jmp 0x48b0c7
push eax
push dword [ebp - 0xa4]
push edi
call dword [0x4b9b00]
add esp, 0xc
cmp eax, ebx
jne 0x48b029
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x90], al
push 0x4a81a8
lea eax, [ebp - 0x90]
jmp 0x48b0c7
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
push ebx
lea ecx, [ebp - 0x38]
call dword [eax + 8]
mov eax, dword [ebp - 0x38]
push str..new
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
push str..crt
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
lea ecx, [ebp - 0x34]
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 0x4a4fbc
push eax
call dword [0x4b9a74]
mov esi, eax
test esi, esi
pop ecx
pop ecx
jne 0x48b08f
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x92], al
push 0x4a81a8
lea eax, [ebp - 0x92]
jmp 0x48b0c7
push edi
push esi
call dword [0x4b9b38]
pop ecx
pop ecx
push esi
mov edi, eax
call dword [0x4b9a54]
test edi, edi
pop ecx
jne 0x48b0cd
xor eax, eax
lea edi, [ebp - 0x81]
stosb byte es:[edi], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x94], al
push 0x4a81a8
lea eax, [ebp - 0x94]
push eax
call sub.MSVCR71.dll__CxxThrowException
lea ecx, [ebp - 0x80]
call fcn.00483344
mov eax, dword [ebp - 0x80]
push ebx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov esi, str..key
push esi
lea ecx, [ebp - 0x80]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
push ebx
lea ecx, [ebp - 0x38]
call dword [eax + 8]
mov eax, dword [ebp - 0x38]
push str..new
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
push esi
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
lea ecx, [ebp - 0x7c]
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]
mov edi, dword [sym.imp.MSVCR71.dll__unlink]
push eax
call edi
pop ecx
lea ecx, [ebp - 0x7c]
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]
lea ecx, [ebp - 0x34]
mov esi, eax
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 esi
mov esi, dword [sym.imp.MSVCR71.dll_rename]
push eax
call esi
mov eax, dword [ebp - 0x80]
pop ecx
pop ecx
push ebx
lea ecx, [ebp - 0x80]
call dword [eax + 8]
mov eax, dword [ebp - 0x80]
push str..crt
lea ecx, [ebp - 0x80]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
push ebx
lea ecx, [ebp - 0x38]
call dword [eax + 8]
mov eax, dword [ebp - 0x38]
push str..new
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x38]
push str..crt
lea ecx, [ebp - 0x38]
call dword [eax + 0x14]
lea ecx, [ebp - 0x7c]
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 edi
pop ecx
lea ecx, [ebp - 0x7c]
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]
lea ecx, [ebp - 0x34]
mov edi, eax
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 edi
push eax
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.004835c3
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.004835c3
xor eax, eax
jmp 0x48b250
push 6
pop eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.00497c9c
pop edi
pop esi
pop ebx
leave
ret