Function at 0x59038f30
Capabilities:
Move file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x59150762
push eax
mov eax, dword [esp + 0x20]
mov dword fs:[0], esp
sub esp, 0xb8
test eax, eax
je 0x59038f59
mov dword [eax], 0
mov eax, dword [0x591ac718]
push ebx
push ebp
mov ebp, dword [esp + 0xd4]
push esi
mov esi, dword [esp + 0xd4]
test eax, eax
push edi
je 0x59038f8f
push ebp
push esi
push str.AnalyseGMailEMailAttach__data_:__08x___len_:__d_
push str.MailLog
push 0xffffffffffffffff
push 0x591ac6ac
call fcn.59083dc0
add esp, 0x18
test esi, esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ebp
je 0x590397df
test ebp, ebp
je 0x590397df
push 0x591892bc
push ebp
push esi
call fcn.5900f930
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x590397df
push 0x59188854
push str.X_Goog_Upload_File_Name:
push ebp
lea eax, [esp + 0x20]
push esi
push eax
call fcn.5901c620
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xd0], 0
mov eax, dword [ecx - 8]
test eax, eax
je 0x590397cb
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x591ac718]
not ecx
dec ecx
add ebx, ecx
add esi, ebx
sub ebp, ebx
test eax, eax
je 0x5903902d
push ebp
push ebx
push str.AnalyseGMailEMailAttach____d__d_
push str.MailLog
push 0xffffffffffffffff
push 0x591ac6ac
call fcn.59083dc0
add esp, 0x18
lea edx, [esp + 0x20]
push 0x59188bd0
push edx
call fcn.59059db0
add esp, 8
push 0x591ad730
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd4], 1
call fcn.590a5aa0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xd0], 2
call fcn.590b3a40
lea ecx, [esp + 0x40]
mov byte [esp + 0xd0], 3
call fcn.590abbc0
lea ecx, [esp + 0x50]
mov byte [esp + 0xd0], 4
call fcn.590abbc0
mov eax, dword [esp + 0x14]
mov byte [esp + 0xd0], 5
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590391f5
mov eax, dword [0x591ac718]
test eax, eax
je 0x590390c4
push str.AnalyseGMailEMailAttach_4
push str.MailLog
push 0xffffffffffffffff
push 0x591ac6ac
call fcn.59083dc0
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.59032600
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd4], 6
call fcn.590a63d0
lea ecx, [esp + 0x24]
mov byte [esp + 0xd0], 5
call fcn.590a6240
mov ebx, dword [esp + 0xe8]
test ebx, ebx
jne 0x59039164
mov ecx, dword [esp + 0x20]
push 0x180
push 0x8101
push ecx
call fcn.5908928d
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x5903920b
push ebp
push esi
push edi
call fcn.5908909d
push edi
call fcn.59088fbd
mov eax, dword [0x591ac718]
add esp, 0x10
test eax, eax
je 0x59039164
push ebp
push str.AnalyseGMailEMailAttach__len_:__d_
push str.MailLog
push 0xffffffffffffffff
push 0x591ac6ac
call fcn.59083dc0
add esp, 0x14
mov edx, dword [esp + 0xb4]
push ebp
push edx
lea ecx, [esp + 0xb8]
call fcn.590b3c80
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.590a5940
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x10]
push ecx
push edx
lea ecx, [esp + 0x48]
mov byte [esp + 0xd8], 7
call fcn.590ac1d0
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.590ac1d0
mov eax, dword [0x591ac718]
test eax, eax
je 0x590391e2
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 0x591ac6ac
call fcn.59083dc0
add esp, 0x1c
lea ecx, [esp + 0x10]
mov byte [esp + 0xd0], 5
call fcn.590a6240
jmp 0x590391fc
mov ebx, dword [esp + 0xe8]
test ebx, ebx
je 0x5903920b
mov dword [ebx], 1
jmp 0x59039773
mov eax, dword [0x591ac718]
mov ebp, dword [esp + 0xe4]
test eax, eax
je 0x5903923d
mov ecx, dword [esp + 0xe0]
push ebp
push ecx
push str.AnalyseGMailEMailAttach_3___08x____08x_
push str.MailLog
push 0xffffffffffffffff
push 0x591ac6ac
call fcn.59083dc0
add esp, 0x18
mov eax, dword [0x59162880]
mov dword [esp + 0x2c], eax
test ebp, ebp
mov byte [esp + 0xd0], 8
je 0x5903969e
mov ecx, dword [esp + 0x44]
xor ebx, ebx
test ecx, ecx
jle 0x59039762
jmp 0x5903926b
mov eax, dword [0x59162880]
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 [0x5916287c]
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.590a63d0
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.590a5840
push 0x5c
lea ecx, [esp + 0x3c]
mov byte [esp + 0xd4], 0xf
call fcn.590a73f0
inc eax
lea ecx, [esp + 0x38]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.590a8530
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 0x10
push ecx
call fcn.5900d7e0
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0xc0]
push eax
mov byte [esp + 0xd4], 0x11
call fcn.590a5940
lea edx, [esp + 0x24]
mov byte [esp + 0xd0], 0x12
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.590a67e0
lea ecx, [esp + 0xc0]
mov byte [esp + 0xd0], 0x15
call fcn.590a6240
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 0x14
call fcn.590a0ec0
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.590a63d0
push 0x2e
lea ecx, [esp + 0x14]
call fcn.590a73f0
lea ecx, [esp + 0x30]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.590a8980
push 0x59189488
lea ecx, [esp + 0x34]
mov byte [esp + 0xd4], 0x16
call fcn.590a6e90
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x80]
lea eax, [edx + ebx*4]
push eax
call fcn.590a63d0
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.590a0760
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0x17
call fcn.590a1040
lea ecx, [esp + 0xac]
mov byte [esp + 0xd0], 0x16
call fcn.590a0ec0
mov ecx, dword [esp + 0x8c]
push 0x180
push 0x8101
push ecx
call fcn.5908928d
mov edx, dword [0x5916287c]
add esp, 0xc
mov edi, eax
mov dword [esp + 0x1c], edx
cmp edi, 0xffffffff
mov byte [esp + 0xd0], 0x18
je 0x590394ef
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push edi
call fcn.5908909d
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.590a3d20
mov eax, dword [esp + 0x3c]
add esp, 0x20
lea ecx, [esp + 0x1c]
mov eax, dword [eax - 8]
push eax
push 0
call fcn.590a1b50
push eax
push edi
call fcn.5908909d
push edi
call fcn.59088fbd
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov esi, dword [0x591ad574]
mov eax, dword [ecx - 8]
add eax, edx
cmp esi, esi
mov dword [esp + 0x90], eax
jl 0x5903951d
lea eax, [esi + 1]
push 0xffffffffffffffff
push eax
mov ecx, 0x591ad570
call fcn.59060d10
mov edx, dword [0x591ad570]
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.590a63d0
mov esi, dword [esp + 0xc4]
lea eax, [esp + 0x80]
push eax
lea ecx, [esi + 0x20]
call fcn.590a63d0
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esi + 0x24]
call fcn.590a63d0
mov edx, dword [esp + 0x88]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esi + 0x2c]
mov dword [esi + 0x28], edx
call fcn.590a1040
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.590a63d0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 0x16
call fcn.590a0ec0
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x14
call fcn.590a6240
lea ecx, [esp + 0x10]
mov byte [esp + 0xd0], 0x10
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0xd0], 0xf
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0xe
call fcn.590a6240
lea ecx, [esp + 0xa4]
mov byte [esp + 0xd0], 0x1c
call fcn.590a6240
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 0x1b
call fcn.590a0ec0
lea ecx, [esp + 0x84]
mov byte [esp + 0xd0], 0x1a
call fcn.590a6240
lea ecx, [esp + 0x80]
mov byte [esp + 0xd0], 0x19
call fcn.590a6240
lea ecx, [esp + 0x7c]
mov byte [esp + 0xd0], 8
call fcn.590a6240
mov eax, dword [esp + 0x44]
inc ebx
cmp ebx, eax
jl 0x59039266
jmp 0x59039762
mov eax, dword [0x591ac718]
test eax, eax
je 0x590396c0
push 0x5918cd24
push str.MailLog
push 0xffffffffffffffff
push 0x591ac6ac
call fcn.59083dc0
add esp, 0x10
lea eax, [esp + 0x28]
push 0
push eax
call fcn.59059db0
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.5900c690
add esp, 0x34
test eax, eax
je 0x59039751
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
push edi
push esi
push ecx
call fcn.5900c480
add esp, 0xc
test eax, eax
je 0x59039751
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.5900e750
add esp, 0x44
lea ecx, [esp + 0x28]
mov byte [esp + 0xd0], 8
call fcn.590a0ec0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 5
call fcn.590a6240
lea ecx, [esp + 0x50]
mov byte [esp + 0xd0], 4
call fcn.590abbd0
lea ecx, [esp + 0x40]
mov byte [esp + 0xd0], 3
call fcn.590abbd0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xd0], 2
call fcn.590b3a50
lea ecx, [esp + 0x18]
mov byte [esp + 0xd0], 1
call fcn.590a6240
lea ecx, [esp + 0x20]
mov byte [esp + 0xd0], 0
call fcn.590a0ec0
lea ecx, [esp + 0x14]
mov dword [esp + 0xd0], 0xffffffff
call fcn.590a0ec0
mov ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xc4
ret