Function at 0x590389c0
Capabilities:
Move file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x591515a2
push eax
mov eax, dword [esp + 0x20]
mov dword fs:[0], esp
sub esp, 0xb8
test eax, eax
je 0x590389e9
mov dword [eax], 0
mov eax, dword [0x591ae1c8]
push ebx
push ebp
mov ebp, dword [esp + 0xd4]
push esi
mov esi, dword [esp + 0xd4]
test eax, eax
push edi
je 0x59038a1f
push ebp
push esi
push str.AnalyseGMailEMailAttach__data_:__08x___len_:__d_
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x18
test esi, esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ebp
je 0x5903926f
test ebp, ebp
je 0x5903926f
push 0x5918a2d4
push ebp
push esi
call fcn.5900f7b0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x5903926f
push 0x5918986c
push str.X_Goog_Upload_File_Name:
push ebp
lea eax, [esp + 0x20]
push esi
push eax
call fcn.5901c1f0
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xd0], 0
mov eax, dword [ecx - 8]
test eax, eax
je 0x5903925b
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x591ae1c8]
not ecx
dec ecx
add ebx, ecx
add esi, ebx
sub ebp, ebx
test eax, eax
je 0x59038abd
push ebp
push ebx
push str.AnalyseGMailEMailAttach____d__d_
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x18
lea edx, [esp + 0x20]
push 0x59189be8
push edx
call fcn.590593f0
add esp, 8
push 0x591af1e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd4], 1
call fcn.590a6ec0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xd0], 2
call fcn.590b4e60
lea ecx, [esp + 0x40]
mov byte [esp + 0xd0], 3
call fcn.590acfe0
lea ecx, [esp + 0x50]
mov byte [esp + 0xd0], 4
call fcn.590acfe0
mov eax, dword [esp + 0x14]
mov byte [esp + 0xd0], 5
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59038c85
mov eax, dword [0x591ae1c8]
test eax, eax
je 0x59038b54
push str.AnalyseGMailEMailAttach_4
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x10
mov ecx, dword [esp + 0x14]
push 0
lea edx, [esp + 0x18]
mov eax, dword [ecx - 8]
push eax
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.590320b0
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd4], 6
call fcn.590a77f0
lea ecx, [esp + 0x24]
mov byte [esp + 0xd0], 5
call fcn.590a7660
mov ebx, dword [esp + 0xe8]
test ebx, ebx
jne 0x59038bf4
mov ecx, dword [esp + 0x20]
push 0x180
push 0x8101
push ecx
call fcn.5908a6ad
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x59038c9b
push ebp
push esi
push edi
call fcn.5908a4bd
push edi
call fcn.5908a3dd
mov eax, dword [0x591ae1c8]
add esp, 0x10
test eax, eax
je 0x59038bf4
push ebp
push str.AnalyseGMailEMailAttach__len_:__d_
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x14
mov edx, dword [esp + 0xb4]
push ebp
push edx
lea ecx, [esp + 0xb8]
call fcn.590b50a0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.590a6d60
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x10]
push ecx
push edx
lea ecx, [esp + 0x48]
mov byte [esp + 0xd8], 7
call fcn.590ad5f0
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.590ad5f0
mov eax, dword [0x591ae1c8]
test eax, eax
je 0x59038c72
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
push str.AnalyseGMailEMailAttach__len_:__d___wstrTemp:_s___wstrAttachFile:_s_
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x1c
lea ecx, [esp + 0x10]
mov byte [esp + 0xd0], 5
call fcn.590a7660
jmp 0x59038c8c
mov ebx, dword [esp + 0xe8]
test ebx, ebx
je 0x59038c9b
mov dword [ebx], 1
jmp 0x59039203
mov eax, dword [0x591ae1c8]
mov ebp, dword [esp + 0xe4]
test eax, eax
je 0x59038ccd
mov ecx, dword [esp + 0xe0]
push ebp
push ecx
push str.AnalyseGMailEMailAttach_3___08x____08x_
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x18
mov eax, dword [0x591638c0]
mov dword [esp + 0x2c], eax
test ebp, ebp
mov byte [esp + 0xd0], 8
je 0x5903912e
mov ecx, dword [esp + 0x44]
xor ebx, ebx
test ecx, ecx
jle 0x590391f2
jmp 0x59038cfb
mov eax, dword [0x591638c0]
mov dword [esp + 0x7c], eax
mov byte [esp + 0xd0], 9
mov dword [esp + 0x80], eax
mov byte [esp + 0xd0], 0xa
mov dword [esp + 0x84], eax
mov edx, dword [0x591638bc]
mov byte [esp + 0xd0], 0xb
mov dword [esp + 0x8c], edx
mov byte [esp + 0xd0], 0xc
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0xd4], 0xe
lea ecx, [esp + 0x80]
mov dword [esp + 0x64], eax
call fcn.590a77f0
mov eax, dword [ebp + 4]
mov edx, dword [ebp]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x74]
mov dword [esp + 0x6c], ecx
push eax
mov dword [esp + 0x74], edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ebx*4]
lea ecx, [esp + 0x38]
push edx
call fcn.590a6c60
push 0x5c
lea ecx, [esp + 0x3c]
mov byte [esp + 0xd4], 0xf
call fcn.590a8810
inc eax
lea ecx, [esp + 0x38]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.590a9950
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 0x10
push ecx
call fcn.5900d660
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0xc0]
push eax
mov byte [esp + 0xd4], 0x11
call fcn.590a6d60
lea edx, [esp + 0x24]
mov byte [esp + 0xd0], 0x12
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.590a7c00
lea ecx, [esp + 0xc0]
mov byte [esp + 0xd0], 0x15
call fcn.590a7660
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 0x14
call fcn.590a22e0
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + ebx*4]
mov edx, dword [esp + 0x10]
push 3
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x84]
push eax
call fcn.590a77f0
push 0x2e
lea ecx, [esp + 0x14]
call fcn.590a8810
lea ecx, [esp + 0x30]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.590a9da0
push 0x5918a4a0
lea ecx, [esp + 0x34]
mov byte [esp + 0xd4], 0x16
call fcn.590a82b0
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x80]
lea eax, [edx + ebx*4]
push eax
call fcn.590a77f0
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x30]
push eax
mov edx, dword [ecx + ebx*4]
lea ecx, [esp + 0xb0]
mov dword [esp + 0x8c], edx
call fcn.590a1b80
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0x17
call fcn.590a2460
lea ecx, [esp + 0xac]
mov byte [esp + 0xd0], 0x16
call fcn.590a22e0
mov ecx, dword [esp + 0x8c]
push 0x180
push 0x8101
push ecx
call fcn.5908a6ad
mov edx, dword [0x591638bc]
add esp, 0xc
mov edi, eax
mov dword [esp + 0x1c], edx
cmp edi, 0xffffffff
mov byte [esp + 0xd0], 0x18
je 0x59038f7f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push edi
call fcn.5908a4bd
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [ebp + 0xc]
add esp, 0xc
push edx
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [ebp]
push edx
push eax
push ecx
lea edx, [esp + 0x34]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push edx
call fcn.590a5140
mov eax, dword [esp + 0x3c]
add esp, 0x20
lea ecx, [esp + 0x1c]
mov eax, dword [eax - 8]
push eax
push 0
call fcn.590a2f70
push eax
push edi
call fcn.5908a4bd
push edi
call fcn.5908a3dd
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov esi, dword [0x591af024]
mov eax, dword [ecx - 8]
add eax, edx
cmp esi, esi
mov dword [esp + 0x90], eax
jl 0x59038fad
lea eax, [esi + 1]
push 0xffffffffffffffff
push eax
mov ecx, 0x591af020
call fcn.590603e0
mov edx, dword [0x591af020]
lea ecx, [esi + esi*8]
lea esi, [esp + 0x64]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x7c]
mov dword [esp + 0xc4], eax
mov dword [eax], ecx
lea edi, [eax + 4]
mov ecx, 6
push edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [eax + 0x1c]
call fcn.590a77f0
mov esi, dword [esp + 0xc4]
lea eax, [esp + 0x80]
push eax
lea ecx, [esi + 0x20]
call fcn.590a77f0
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esi + 0x24]
call fcn.590a77f0
mov edx, dword [esp + 0x88]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esi + 0x2c]
mov dword [esi + 0x28], edx
call fcn.590a2460
mov ecx, dword [esp + 0x90]
lea edx, [esi + 0x34]
mov dword [esi + 0x30], ecx
mov eax, dword [esp + 0x94]
mov dword [edx], eax
mov ecx, dword [esp + 0x98]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x9c]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0xa0]
mov dword [edx + 0xc], ecx
lea edx, [esp + 0xa4]
push edx
lea ecx, [esi + 0x44]
call fcn.590a77f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 0x16
call fcn.590a22e0
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x14
call fcn.590a7660
lea ecx, [esp + 0x10]
mov byte [esp + 0xd0], 0x10
call fcn.590a7660
lea ecx, [esp + 0x24]
mov byte [esp + 0xd0], 0xf
call fcn.590a7660
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0xe
call fcn.590a7660
lea ecx, [esp + 0xa4]
mov byte [esp + 0xd0], 0x1c
call fcn.590a7660
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 0x1b
call fcn.590a22e0
lea ecx, [esp + 0x84]
mov byte [esp + 0xd0], 0x1a
call fcn.590a7660
lea ecx, [esp + 0x80]
mov byte [esp + 0xd0], 0x19
call fcn.590a7660
lea ecx, [esp + 0x7c]
mov byte [esp + 0xd0], 8
call fcn.590a7660
mov eax, dword [esp + 0x44]
inc ebx
cmp ebx, eax
jl 0x59038cf6
jmp 0x590391f2
mov eax, dword [0x591ae1c8]
test eax, eax
je 0x59039150
push 0x5918dd48
push str.MailLog
push 0xffffffffffffffff
push 0x591ae15c
call fcn.590851e0
add esp, 0x10
lea eax, [esp + 0x28]
push 0
push eax
call fcn.590593f0
lea ecx, [esp + 0x58]
push 1
lea edx, [esp + 0x4c]
mov eax, dword [esp + 0x34]
push ecx
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov byte [esp + 0x104], 0x1e
call fcn.5900c510
add esp, 0x34
test eax, eax
je 0x590391e1
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
push edi
push esi
push ecx
call fcn.5900c300
add esp, 0xc
test eax, eax
je 0x590391e1
push 0
lea edx, [esp + 0xb4]
push 0
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x4c]
push eax
push ecx
mov edx, dword [esp + 0x3c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 2
push 1
push edx
push edi
push esi
call fcn.5900e5d0
add esp, 0x44
lea ecx, [esp + 0x28]
mov byte [esp + 0xd0], 8
call fcn.590a22e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 5
call fcn.590a7660
lea ecx, [esp + 0x50]
mov byte [esp + 0xd0], 4
call fcn.590acff0
lea ecx, [esp + 0x40]
mov byte [esp + 0xd0], 3
call fcn.590acff0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xd0], 2
call fcn.590b4e70
lea ecx, [esp + 0x18]
mov byte [esp + 0xd0], 1
call fcn.590a7660
lea ecx, [esp + 0x20]
mov byte [esp + 0xd0], 0
call fcn.590a22e0
lea ecx, [esp + 0x14]
mov dword [esp + 0xd0], 0xffffffff
call fcn.590a22e0
mov ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xc4
ret