Function at 0x425640
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x4aa0cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
test eax, eax
je 0x425675
dec dword [esi + 0x1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047dbfe
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi + 0xc]
mov edi, 1
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
sar eax, 2
cmp eax, edi
jbe 0x4256b5
test edi, edi
je 0x4256a7
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x48]
push 0xfffffffffffffffc
mov eax, dword [eax + edi*4]
push dword [eax]
call fcn.00422050
mov eax, dword [esi + 0x10]
inc edi
sub eax, dword [esi + 0xc]
sar eax, 2
cmp edi, eax
jb 0x425691
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x10]
sub eax, dword [esi + 0xb8]
mov edi, dword [0x4af360]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc]
sbb eax, dword [esi + 0xbc]
mov dword [ebp - 0x18], eax
mov eax, edi
or eax, dword [0x4af364]
jne 0x4256f8
push 0x4af360
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edi, dword [0x4af360]
push 0
push 0x3e8
push dword [ebp - 0x18]
push dword [ebp - 0x20]
call fcn.0047e3e0
push dword [0x4af364]
push edi
push edx
push eax
call fcn.00481e70
mov dword [ebx + 0x20], eax
or eax, edx
mov dword [ebx + 0x24], edx
jne 0x42572c
mov dword [ebx + 0x20], 0x1f4
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
test eax, eax
jne 0x425916
lea eax, [esi + 0x68]
push eax
push 0x200002
push dword [ebp - 0x14]
call fcn.004307c0
mov eax, dword [esi + 0xc]
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
cmp eax, dword [esi + 0x94]
jl 0x425773
jg 0x425767
cmp ecx, dword [esi + 0x90]
jbe 0x425773
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], eax
lea ecx, [esi + 0x24]
call fcn.004034a0
test al, al
je 0x4257a6
mov eax, dword [esi + 0x6c]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x90]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x94]
mov dword [ebx + 0xc], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x6c]
mov byte [ecx + eax], 0
jmp 0x4257bf
mov dword [ebx + 4], 0
mov eax, dword [esi + 0x90]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x94]
mov dword [ebx + 0xc], eax
mov edx, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
call fcn.0047eb0f
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
movsd qword [ebp - 0x10], xmm0
call fcn.0047eb0f
divsd xmm0, qword [0x49c810]
movsd xmm1, qword [ebp - 0x10]
divsd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0047e951
push str._r_n_r_n
mov dword [ebx + 0x28], eax
lea edi, [esi + 0x78]
call fcn.00402880
add esp, 4
push eax
push 0xffffffffffffffff
push ecx
mov ecx, edi
call fcn.00426e90
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x4258f9
mov ecx, edi
call fcn.00401e70
sub eax, 4
mov ecx, edi
push eax
call fcn.0040eb30
push str._r_n_r_n
call fcn.00402880
add esp, 4
push eax
push dword [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.00426e90
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x4258f9
mov ecx, edi
call fcn.00405880
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.00401e70
add dword [ebp - 0x18], eax
mov ecx, edi
call fcn.00405880
mov ecx, dword [ebp - 0x14]
add ecx, 4
add eax, ecx
lea ecx, [ebp - 0x1a]
mov dword [ebp - 0x14], eax
call fcn.00402100
push eax
lea ecx, [ebp - 0x38]
call fcn.00402110
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.00402060
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp ecx, eax
je 0x4258b4
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.00402190
lea eax, [ebp - 0x38]
cmp edi, eax
je 0x4258f1
push 0
push 1
mov ecx, edi
call fcn.00402060
lea eax, [ebp - 0x19]
push eax
lea ecx, [ebp - 0x38]
call fcn.00402130
lea eax, [ebp - 0x1b]
mov ecx, edi
push eax
call fcn.00402130
lea eax, [ebp - 0x38]
push eax
call fcn.004026b0
add esp, 4
mov ecx, edi
push eax
call fcn.00405fd0
lea ecx, [ebp - 0x38]
call fcn.00401e50
mov ecx, edi
call fcn.00405880
mov ecx, edi
mov dword [ebx + 0x10], eax
call fcn.00401e70
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], 0
jmp 0x425993
cmp byte [esi + 0xdd], 0
jne 0x42593a
cmp eax, 0xfffffff9
je 0x425929
cmp eax, 0xfffffffa
jne 0x42593a
lea ecx, [esi + 0xe0]
call fcn.00405880
push eax
call fcn.00428cc0
mov dword [esi + 0x68], 0
lea ecx, [esi + 0x78]
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
push 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x28], 0
call fcn.00401f70
cmp byte [esi + 0xdc], 0
je 0x425993
lea ecx, [esi + 0x24]
call fcn.00403480
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0x68]
lea ecx, [esi + 0xe0]
mov dword [ebx + 0x2c], eax
movdqu xmm0, xmmword [ebx]
movdqu xmmword [esi + 0x178], xmm0
movdqu xmm0, xmmword [ebx + 0x10]
movdqu xmmword [esi + 0x188], xmm0
movdqu xmm0, xmmword [ebx + 0x20]
movdqu xmmword [esi + 0x198], xmm0
movdqu xmm0, xmmword [ebx + 0x30]
movdqu xmmword [esi + 0x1a8], xmm0
movdqu xmm0, xmmword [ebx + 0x40]
movdqu xmmword [esi + 0x1b8], xmm0
movdqu xmm0, xmmword [ebx + 0x50]
movdqu xmmword [esi + 0x1c8], xmm0
push dword [esi + 0x1a4]
push dword [esi + 0x178]
call fcn.00405880
push eax
push str.send_finish_to_ui_thread__url_is__s__ret_code_is__d__response_code_is__d
push 0
push str.HttpClient.cpp
call fcn.0040e5a0
add esp, 0x18
push 0
push dword [esi + 0x1f4]
push 0x1425
push dword [esi + 0x160]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047dbfe
mov esp, ebp
pop ebp
ret 8