Function at 0x5901d3b0
Capabilities:
Move file
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5913ba1e
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push ebp
mov ebp, dword [esp + 0xe0]
push esi
test ebp, ebp
push edi
je 0x5901dd4e
mov esi, dword [esp + 0xec]
test esi, esi
je 0x5901dd4e
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x5901d400
mov dword [eax], 0
jmp 0x5901d423
mov eax, dword [0x59194a20]
test eax, eax
je 0x5901d423
push ebp
push str.AnalyseCsxBankEMailAttach___S_
push str.MailLog
push 0xffffffffffffffff
push 0x591949b4
call fcn.59078030
add esp, 0x14
mov eax, dword [esp + 0xf0]
push eax
call fcn.59009800
mov edi, eax
add esp, 4
test edi, edi
je 0x5901dd4e
push 0x59173d00
push esi
push ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x4c], esi
call fcn.5900f220
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x5901dd4e
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
push ecx
push edx
push ebx
lea eax, [esp + 0x30]
push ebp
push eax
call fcn.5901c080
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
push ecx
push edx
push ebx
lea eax, [esp + 0x30]
push ebp
push eax
mov dword [esp + 0x108], 0
call fcn.5901c080
add esp, 0x28
push 0x59174b84
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], 1
call fcn.5909b5f0
test eax, eax
jl 0x5901d4e1
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.5909cb50
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], 2
call fcn.5909a5a0
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.5909a410
mov eax, dword [0x59194a20]
test eax, eax
je 0x5901d508
mov edx, dword [esp + 0x10]
push edx
push str.AnalyseCoreMailAPPEMailAttach_wstrFlag__s_
push str.MailLog
push 0xffffffffffffffff
push 0x591949b4
call fcn.59078030
add esp, 0x14
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
push eax
push ecx
push ebx
lea edx, [esp + 0x3c]
push ebp
push edx
call fcn.5901c080
mov eax, dword [esp + 0x44]
mov byte [esp + 0xf4], 3
push eax
call fcn.5907dbc9
mov ecx, dword [edi + 0x54]
mov edx, dword [edi + 0x50]
push ecx
mov esi, eax
push edx
push ebx
lea eax, [esp + 0x58]
push ebp
push eax
call fcn.5901c080
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x10c], 4
push ecx
call fcn.5907dbc9
mov ecx, dword [esp + 0x120]
lea edx, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
push edx
push esi
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.59009e30
add esp, 0x44
push 0x591732f4
push 0x59174c18
push ebx
lea eax, [esp + 0x28]
push ebp
push eax
mov byte [esp + 0xf4], 5
call fcn.5901bf10
add esp, 0x14
mov edi, 0x59173d00
or ecx, 0xffffffff
xor eax, eax
mov esi, dword [esp + 0xec]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0xe0], 6
add ebx, ecx
mov ecx, dword [esp + 0x1c]
add ebp, ebx
sub esi, ebx
mov eax, dword [ecx - 8]
test eax, eax
je 0x5901d623
push 0x59173d00
push esi
push ebp
call fcn.5900f220
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x5901d623
mov edi, 0x59173d00
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59174c14
add ebx, ecx
or ecx, 0xffffffff
add ebp, ebx
mov edx, dword [edx - 8]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591732f4
neg edx
lea eax, [ecx + ecx*2]
or ecx, 0xffffffff
sub edx, eax
xor eax, eax
sub edx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub edx, ecx
add esi, edx
lea ecx, [esp + 0x70]
call fcn.590a6450
mov ecx, dword [0x5914f84c]
mov byte [esp + 0xe0], 7
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x4c]
mov byte [esp + 0xe0], 8
call fcn.5909fd90
lea ecx, [esp + 0x60]
mov byte [esp + 0xe0], 9
call fcn.5909fd90
mov edx, dword [esp + 0x18]
mov byte [esp + 0xe0], 0xa
mov eax, dword [edx - 8]
test eax, eax
je 0x5901d735
lea eax, [esp + 0x20]
push 0x59173628
push eax
call fcn.5904fff0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe4], 0xb
call fcn.59095210
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 0xa
call fcn.59095090
mov ebx, dword [esp + 0xf8]
test ebx, ebx
jne 0x5901d6e6
mov ecx, dword [esp + 0x14]
push 0x180
push 0x8101
push ecx
call fcn.5907d46d
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x5901d73c
push esi
push ebp
push edi
call fcn.5907d27d
push edi
call fcn.5907d19d
add esp, 0x10
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x74]
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.590a6690
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
call fcn.59099b10
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0xe8], 0xc
call fcn.590a03a0
lea ecx, [esp + 0x28]
mov byte [esp + 0xe0], 0xa
call fcn.5909a410
jmp 0x5901d73c
mov ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x5901dca1
test ebx, ebx
jne 0x5901d839
mov eax, dword [0x59194a20]
test eax, eax
je 0x5901d77c
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
push ecx
push edx
push str.AnalyseCoreMailAPPEMailAttach___s___d_
push str.MailLog
push 0xffffffffffffffff
push 0x591949b4
call fcn.59078030
add esp, 0x18
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.590a03a0
mov ebx, dword [esp + 0xf4]
test ebx, ebx
jne 0x5901d844
lea edx, [esp + 0x3c]
push ebx
push edx
call fcn.5904fff0
lea eax, [esp + 0x68]
mov edx, dword [esp + 0x2c]
push 1
lea ecx, [esp + 0x58]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
push eax
mov byte [esp + 0x114], 0x22
call fcn.5900bf80
add esp, 0x34
test eax, eax
je 0x5901d823
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x3c]
push edi
push esi
push ecx
call fcn.5900bd70
add esp, 0xc
test eax, eax
je 0x5901d823
push ebx
lea edx, [esp + 0x74]
push ebx
lea eax, [esp + 0x68]
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x58]
push eax
push ecx
mov eax, dword [esp + 0x50]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
push 2
push 1
push eax
push edi
push esi
call fcn.5900e040
add esp, 0x44
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe0], 0xa
call fcn.59095090
jmp 0x5901dca1
mov dword [ebx], 1
jmp 0x5901dca1
mov eax, dword [esp + 0x50]
xor ebp, ebp
test eax, eax
jle 0x5901dca1
mov eax, dword [0x5914f850]
mov dword [esp + 0x9c], eax
mov byte [esp + 0xe0], 0xd
mov dword [esp + 0xa0], eax
mov byte [esp + 0xe0], 0xe
mov dword [esp + 0xa4], eax
mov ecx, dword [0x5914f84c]
mov byte [esp + 0xe0], 0xf
mov dword [esp + 0xac], ecx
mov byte [esp + 0xe0], 0x10
mov dword [esp + 0xc4], eax
mov edx, dword [esp + 0xf0]
lea eax, [esp + 0x10]
mov byte [esp + 0xe0], 0x12
push eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0x84], edx
call fcn.5909a5a0
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x94]
mov dword [esp + 0x8c], eax
push edx
mov dword [esp + 0x94], ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0x4c]
lea ecx, [eax + ebp*4]
push ecx
lea ecx, [esp + 0x2c]
call fcn.59099a10
push 0x5c
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe4], 0x13
call fcn.5909b5c0
inc eax
lea edx, [esp + 0x20]
push eax
push edx
lea ecx, [esp + 0x30]
call fcn.5909c700
lea eax, [esp + 0xd4]
mov byte [esp + 0xe0], 0x14
push eax
call fcn.5900d0d0
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0xd0]
push eax
mov byte [esp + 0xe4], 0x15
call fcn.59099b10
lea ecx, [esp + 0x20]
lea edx, [esp + 0x38]
push ecx
push eax
push edx
mov byte [esp + 0xec], 0x16
call fcn.5909a9b0
lea ecx, [esp + 0xd0]
mov byte [esp + 0xe0], 0x19
call fcn.5909a410
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe0], 0x18
call fcn.59095090
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + ebp*4]
push 3
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea edx, [esp + 0x38]
lea ecx, [esp + 0xa4]
push edx
call fcn.5909a5a0
push 0x2e
lea ecx, [esp + 0x3c]
call fcn.5909b5c0
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x40]
call fcn.5909cb50
push 0x59173ecc
lea ecx, [esp + 0x4c]
mov byte [esp + 0xe4], 0x1a
call fcn.5909b060
mov ecx, dword [esp + 0x60]
lea edx, [ecx + ebp*4]
lea ecx, [esp + 0xa0]
push edx
call fcn.5909a5a0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x48]
push edx
mov ecx, dword [eax + ebp*4]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0xcc]
call fcn.59094930
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0xe4], 0x1b
call fcn.59095210
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe0], 0x1a
call fcn.59095090
mov eax, dword [esp + 0xac]
push 0x180
push 0x8101
push eax
call fcn.5907d46d
mov ecx, dword [0x5914f84c]
add esp, 0xc
mov edi, eax
mov dword [esp + 0x2c], ecx
cmp edi, 0xffffffff
mov byte [esp + 0xe0], 0x1c
je 0x5901daeb
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
push edx
push eax
push edi
call fcn.5907d27d
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov eax, dword [ebx + 0xc]
add esp, 0xc
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx]
push ecx
push edx
push eax
lea ecx, [esp + 0x44]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push ecx
call fcn.59097ef0
mov edx, dword [esp + 0x4c]
add esp, 0x20
lea ecx, [esp + 0x2c]
mov eax, dword [edx - 8]
push eax
push 0
call fcn.59095d20
push eax
push edi
call fcn.5907d27d
push edi
call fcn.5907d19d
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
mov esi, dword [0x59195874]
mov eax, dword [eax - 8]
add eax, ecx
cmp esi, esi
mov dword [esp + 0xb0], eax
jl 0x5901db19
lea edx, [esi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x59195870
call fcn.59056c60
mov ecx, dword [0x59195870]
mov edx, dword [esp + 0x80]
lea eax, [esi + esi*8]
lea esi, [esp + 0x84]
lea eax, [ecx + eax*8]
mov ecx, 6
mov dword [esp + 0xcc], eax
lea edi, [eax + 4]
mov dword [eax], edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [eax + 0x1c]
call fcn.5909a5a0
mov esi, dword [esp + 0xcc]
lea edx, [esp + 0xa0]
push edx
lea ecx, [esi + 0x20]
call fcn.5909a5a0
lea eax, [esp + 0xa4]
lea ecx, [esi + 0x24]
push eax
call fcn.5909a5a0
mov ecx, dword [esp + 0xa8]
lea edx, [esp + 0xac]
mov dword [esi + 0x28], ecx
push edx
lea ecx, [esi + 0x2c]
call fcn.59095210
mov eax, dword [esp + 0xb0]
lea ecx, [esi + 0x34]
mov dword [esi + 0x30], eax
mov edx, dword [esp + 0xb4]
mov dword [ecx], edx
mov eax, dword [esp + 0xb8]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0xbc]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0xc0]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esi + 0x44]
call fcn.5909a5a0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe0], 0x1a
call fcn.59095090
lea ecx, [esp + 0x48]
mov byte [esp + 0xe0], 0x18
call fcn.5909a410
lea ecx, [esp + 0x38]
mov byte [esp + 0xe0], 0x14
call fcn.5909a410
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 0x13
call fcn.5909a410
lea ecx, [esp + 0x28]
mov byte [esp + 0xe0], 0x12
call fcn.5909a410
lea ecx, [esp + 0xc4]
mov byte [esp + 0xe0], 0x20
call fcn.5909a410
lea ecx, [esp + 0xac]
mov byte [esp + 0xe0], 0x1f
call fcn.59095090
lea ecx, [esp + 0xa4]
mov byte [esp + 0xe0], 0x1e
call fcn.5909a410
lea ecx, [esp + 0xa0]
mov byte [esp + 0xe0], 0x1d
call fcn.5909a410
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 0xa
call fcn.5909a410
mov eax, dword [esp + 0x50]
inc ebp
cmp ebp, eax
jl 0x5901d852
lea ecx, [esp + 0x60]
mov byte [esp + 0xe0], 9
call fcn.5909fda0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xe0], 8
call fcn.5909fda0
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 7
call fcn.59095090
lea ecx, [esp + 0x70]
mov byte [esp + 0xe0], 6
call fcn.590a6460
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe0], 5
call fcn.59095090
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], 4
call fcn.5909a410
lea ecx, [esp + 0x34]
mov byte [esp + 0xe0], 3
call fcn.5909a410
lea ecx, [esp + 0x30]
mov byte [esp + 0xe0], 1
call fcn.5909a410
lea ecx, [esp + 0x10]
mov byte [esp + 0xe0], 0
call fcn.5909a410
lea ecx, [esp + 0x24]
mov dword [esp + 0xe0], 0xffffffff
call fcn.5909a410
mov ecx, dword [esp + 0xd8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xd4
ret