Function at 0x447160
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov edi, ecx
mov eax, dword [0x540010]
xor eax, ebp
mov dword [esp + 0x128], eax
push 0x28
call fcn.004dfb05
add esp, 4
mov esi, eax
mov ecx, eax
push 1
call fcn.00448580
movzx eax, byte [edi + 0xb]
mov edx, edi
test al, al
jns 0x4471ab
mov eax, dword [edi + 4]
test eax, eax
js 0x447bc6
mov edx, dword [edi]
test edx, edx
jne 0x4471b7
test eax, eax
jne 0x447bbf
lea ebx, [esp + 0x90]
mov ecx, ebx
push eax
push edx
call fcn.00493e00
mov ecx, esi
push ebx
call fcn.00448600
mov byte [esp + 0xc], al
mov ecx, ebx
call fcn.00493ef0
cmp byte [esp + 0xc], 0
je 0x4472f2
mov dword [esp + 0x18], esi
xor eax, eax
dec eax
lea esi, [esp + 0x60]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
mov ecx, esi
call fcn.00449120
movzx eax, byte [edi + 0x35]
mov ecx, esi
push eax
call fcn.004492f0
mov ebx, dword [edi + 0x38]
mov dword [esp + 0x14], edi
lea eax, [edi + 0x3c]
mov dword [esp + 0x10], eax
cmp ebx, eax
je 0x44742f
lea edi, [esp + 0x90]
jmp 0x44734d
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x48]
push eax
call fcn.0044a9f0
pxor xmm0, xmm0
movq qword [esp + 0x90], xmm0
mov dword [esp + 0x98], 0
mov esi, dword [esp + 0x44]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x53a380]
mov ecx, esi
push ebx
call edi
mov ebx, eax
mov esi, dword [esp + 0x18]
mov ecx, esi
call fcn.00448690
test bl, bl
je 0x447298
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xb], 0
jns 0x447291
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [esp + 0x9b], 0
jns 0x4472b1
push dword [esp + 0x90]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x53], 0
jns 0x4472c4
push dword [esp + 0x48]
call fcn.004dfb35
add esp, 4
lea ecx, [esp + 0x54]
push dword [ecx + 4]
call fcn.00415580
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x44], 0
test ecx, ecx
je 0x4472e7
push 1
call fcn.0044ab20
lea ecx, [esp + 0x60]
call fcn.004492c0
jmp 0x4472f4
xor ebx, ebx
test esi, esi
je 0x447301
mov ecx, esi
push 1
call fcn.00448700
mov ecx, dword [esp + 0x128]
xor ecx, ebp
call fcn.004e0685
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx + 8]
cmp dword [eax], ebx
mov ebx, eax
jne 0x447319
jmp 0x447341
lea eax, [ebx + 0x1c]
lea ecx, [esp + 0x60]
push eax
push esi
call fcn.00449300
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x447319
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x447339
mov ebx, eax
cmp eax, dword [esp + 0x10]
je 0x44742f
lea esi, [ebx + 0x10]
movzx ecx, byte [ebx + 0x1b]
mov eax, esi
test cl, cl
jns 0x447360
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
test ecx, ecx
js 0x447bc6
je 0x447372
test eax, eax
je 0x447bbf
cmp ecx, 0x14
jne 0x447324
movdqu xmm0, xmmword [eax]
pcmpeqb xmm0, xmmword [str.upload_file_miniImpl]
movd xmm1, dword [eax + 0x10]
pcmpeqb xmm1, xmmword [str.dump]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x447324
mov ecx, edi
push 0x14e
push str.SendReport
push 2
call fcn.00455190
lea ecx, [esp + 0xcc]
push 0x5253fb
push str.reserved_key
call fcn.004147c0
movzx eax, byte [ebx + 0x1b]
test al, al
jns 0x4473d6
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
add eax, esi
lea edi, [esp + 0xcc]
mov ecx, edi
push eax
push esi
call fcn.004147c0
mov ecx, edi
push 0x52540f
push str.__discarding_value
call fcn.004147c0
movzx eax, byte [ebx + 0x27]
test al, al
js 0x447406
lea edx, [ebx + 0x1c]
jmp 0x44740c
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
lea edi, [esp + 0x90]
add eax, edx
lea ecx, [esp + 0xcc]
push eax
push edx
call fcn.004147c0
mov ecx, edi
call fcn.004553c0
jmp 0x447332
push 0x20
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], 0x80000020
mov dword [esp + 0x94], 0x18
cmp eax, str.application_octet_stream
ja 0x44746c
lea ecx, [eax + 0x18]
cmp ecx, str.application_octet_stream
ja 0x447bb8
movsd xmm0, qword [0x525420]
movsd qword [eax + 0x10], xmm0
movdqu xmm0, xmmword [str.application_octet_stream]
movdqu xmmword [eax], xmm0
mov byte [eax + 0x18], 0
lea esi, [esp + 0x54]
mov byte [esi + 0xb], 3
cmp esi, 0x522574
ja 0x4474a8
lea eax, [esp + 0x57]
cmp eax, 0x522574
ja 0x447bb8
mov eax, dword [esp + 0x14]
lea ecx, [eax + 0x38]
mov al, byte [0x522576]
mov byte [esp + 0x56], al
movzx eax, word [0x522574]
mov word [esp + 0x54], ax
mov byte [esp + 0x57], 0
lea eax, [esp + 0x48]
mov dword [eax], esi
lea edx, [esp + 0x30]
lea edi, [esp + 0x110]
push edx
push eax
push 0x521940
push esi
push edi
call fcn.004155d0
mov eax, edi
mov edi, dword [edi]
movzx edx, byte [edi + 0x27]
mov ecx, edx
test dl, dl
jns 0x4474f9
mov ecx, dword [edi + 0x20]
mov dword [esp + 0xc], ecx
xor ecx, ecx
dec ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + 4]
cmp ebx, 0x7ffffff8
jae 0x447bd5
cmp ebx, 0xa
ja 0x44754e
pxor xmm0, xmm0
movq qword [esp + 0x110], xmm0
mov dword [esp + 0x118], 0
mov byte [esp + 0x11b], bl
jmp 0x44757f
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004dfb05
mov ecx, dword [esp + 0x10]
add esp, 4
or esi, 0x80000000
mov dword [esp + 0x118], esi
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ebx
mov dl, byte [edi + 0x27]
add edi, 0x1c
test dl, dl
lea ebx, [esp + 0x90]
jns 0x44758f
mov edi, dword [edi]
lea esi, [eax + ecx]
cmp edi, eax
jb 0x44759e
cmp esi, edi
ja 0x447bb8
test ecx, ecx
je 0x4475ad
push ecx
push edi
push eax
call fcn.004e3510
add esp, 0xc
cmp esi, str..dmp
ja 0x4475c3
lea eax, [esi + 4]
cmp eax, str..dmp
ja 0x447bb8
mov dword [esi], 0x706d642e
mov byte [esi + 4], 0
push 0x18
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 0x80000018
mov dword [esp + 0x4c], 0x14
cmp eax, str.upload_file_minidump
ja 0x447601
lea ecx, [eax + 0x14]
cmp ecx, str.upload_file_minidump
ja 0x447bb8
movdqu xmm0, xmmword [str.upload_file_minidump]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0x706d7564
mov byte [eax + 0x14], 0
lea eax, [esp + 0x110]
lea ecx, [esp + 0x60]
push ebx
push dword [esp + 0x1c]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00449550
cmp byte [esp + 0x53], 0
jns 0x447646
push dword [esp + 0x48]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x11b], 0
jns 0x44765f
push dword [esp + 0x110]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x5f], 0
jns 0x447672
push dword [esp + 0x54]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x9b], 0
jns 0x44768b
push dword [esp + 0x90]
call fcn.004dfb35
add esp, 4
lea eax, [esp + 0x44]
mov dword [eax], 0xffffffff
push eax
call fcn.0050dd00
add esp, 4
lea esi, [esp + 0x58]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi - 4], esi
lea ecx, [esp + 0x60]
lea eax, [esp + 0x54]
push eax
call fcn.0044a570
mov edi, dword [esi - 4]
cmp edi, esi
jne 0x447769
mov edi, dword [esp + 0x44]
lea esi, [esp + 0x40]
lea ecx, [esp + 0x60]
push esi
call fcn.004499a0
mov eax, dword [esi]
mov ecx, edi
push eax
call fcn.0044aad0
mov ecx, dword [esp + 0x44]
push 0x404e0000
push 0
call fcn.0044ab00
push 0x30
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 0x80000030
mov dword [esp + 0x4c], 0x2f
cmp eax, str.https:__crash_reports.browser.yandex.net_submit
ja 0x447725
lea ecx, [eax + 0x2f]
cmp ecx, str.https:__crash_reports.browser.yandex.net_submit
ja 0x447bb8
movups xmm0, xmmword [0x52544d]
movups xmmword [eax + 0x1f], xmm0
movups xmm0, xmmword [0x52543e]
movups xmmword [eax + 0x10], xmm0
movdqu xmm0, xmmword [str.https:__crash_reports.browser.yandex.net_submit]
movdqu xmmword [eax], xmm0
mov byte [eax + 0x2f], 0
mov ecx, 0x525460
xor eax, eax
jmp 0x447904
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x447757
mov edi, eax
cmp eax, esi
je 0x4476c5
lea eax, [edi + 0x10]
mov ecx, dword [esp + 0x44]
lea edx, [edi + 0x1c]
push edx
push eax
call fcn.0044aa40
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x447757
mov eax, dword [edi + 8]
cmp dword [eax], edi
mov edi, eax
jne 0x447781
jmp 0x44775f
cmp byte [esp + 0x3b], 0
lea esi, [esp + 0x30]
jns 0x44779b
mov esi, dword [esp + 0x30]
movzx ecx, byte [esp + 0x53]
mov eax, ecx
test cl, cl
jns 0x4477aa
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
mov edi, dword [edx + 4]
test eax, eax
je 0x4477dd
lea ebx, [esp + 0x48]
test cl, cl
jns 0x4477c1
mov ebx, dword [esp + 0x48]
push eax
push 0x3f
push ebx
call fcn.004e1de0
add esp, 0xc
test eax, eax
je 0x4477dd
sub eax, ebx
mov ecx, 0x26
cmp eax, 0xffffffff
jne 0x4477e2
mov ecx, 0x3f
push esi
push edi
push ecx
push str._c_s_s
push 0x80
lea esi, [esp + 0xa4]
push esi
call fcn.0050dca0
add esp, 0x18
cmp byte [esp + 0x3b], 0
jns 0x447812
push dword [esp + 0x30]
call fcn.004dfb35
add esp, 4
push esi
call fcn.004fb1c0
add esp, 4
mov edi, eax
movzx ecx, byte [esp + 0x53]
mov eax, 0xa
mov ebx, ecx
test cl, cl
jns 0x44783d
mov eax, dword [esp + 0x50]
mov edx, 0x7fffffff
and eax, edx
dec eax
mov ebx, dword [esp + 0x4c]
mov edx, eax
sub edx, ebx
cmp edx, edi
jb 0x4478a0
test edi, edi
je 0x4478be
lea esi, [esp + 0x48]
test cl, cl
jns 0x447855
mov esi, dword [esp + 0x48]
lea eax, [esi + ebx]
lea ecx, [eax + edi]
lea edx, [esp + 0x90]
cmp ecx, edx
seta cl
cmp eax, edx
ja 0x447873
test cl, cl
jne 0x447bb8
push edi
lea ecx, [esp + 0x94]
push ecx
push eax
call fcn.004e3510
add esp, 0xc
add ebx, edi
cmp byte [esp + 0x53], 0
js 0x447baf
mov eax, ebx
and al, 0x7f
mov byte [esp + 0x53], al
mov byte [esi + ebx], 0
jmp 0x4478be
mov edx, edi
add edx, ebx
sub edx, eax
lea ecx, [esp + 0x48]
lea esi, [esp + 0x90]
push esi
push edi
push 0
push ebx
push ebx
push edx
push eax
call fcn.00477c80
lea ebx, [esp + 0x90]
jmp 0x4478ee
mov edi, eax
cmp byte [esp + 0x9b], 0
jns 0x4478e6
push dword [esp + 0x90]
call fcn.004dfb35
mov eax, dword [esp + 0x14]
add esp, 4
cmp edi, eax
jne 0x44798f
mov eax, dword [esp + 0x28]
lea ecx, [eax + 0x525468]
add eax, 8
cmp eax, 0x18
je 0x447238
mov dword [esp + 0x24], ecx
mov ecx, ebx
mov dword [esp + 0x28], eax
push dword [eax + 0x525460]
call fcn.00414e50
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
test edi, edi
je 0x4478c7
mov esi, ebx
mov ebx, eax
lea eax, [edi + 0x10]
push esi
push eax
lea eax, [esp + 0x118]
push eax
call fcn.004156f0
add esp, 0xc
lea eax, [edi + 4]
cmp byte [esp + 0x110], 0
cmovns eax, edi
cmovns ebx, edi
mov edi, dword [eax]
test edi, edi
jne 0x447927
mov eax, dword [esp + 0x10]
cmp ebx, eax
mov edi, ebx
mov ebx, esi
lea ecx, [esp + 0x110]
je 0x4478c7
lea eax, [edi + 0x10]
push eax
push ebx
push ecx
call fcn.004156f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp byte [esp + 0x110], 0
jns 0x4478c9
jmp 0x4478c7
pxor xmm0, xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
pxor xmm0, xmm0
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x38], 0
movzx eax, byte [edi + 0x27]
test al, al
jns 0x4479f8
mov eax, dword [edi + 0x20]
lea ecx, [esp + 0x30]
push eax
call fcn.00478110
movzx ecx, byte [edi + 0x27]
test cl, cl
js 0x447a13
add edi, 0x1c
mov dword [esp + 0xc], edi
jmp 0x447a1d
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0xc], eax
test ecx, ecx
je 0x44778c
xor edi, edi
mov dword [esp + 0x2c], ecx
jmp 0x447a75
mov esi, dword [esp + 0x38]
mov eax, 0x7fffffff
and esi, eax
dec esi
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x447a55
lea ecx, [esp + 0x30]
xor eax, eax
push eax
push eax
push esi
push esi
push 1
push esi
call fcn.00414960
mov eax, esi
mov ecx, dword [esp + 0x30]
lea edx, [eax + 1]
mov dword [esp + 0x34], edx
mov byte [ecx + eax], bl
mov byte [ecx + eax + 1], 0
inc edi
mov ecx, dword [esp + 0x2c]
cmp ecx, edi
je 0x44778c
mov eax, dword [esp + 0xc]
mov bl, byte [eax + edi]
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x447aa5
mov eax, ebx
and al, 0xdf
add al, 0xbf
cmp al, 0x1a
jb 0x447aa5
movzx esi, bl
push 5
push esi
push 0x525491
call fcn.004e1de0
add esp, 0xc
test eax, eax
je 0x447acd
movzx eax, byte [esp + 0x3b]
test al, al
js 0x447a2d
mov esi, 0xa
cmp eax, 0xa
je 0x447a41
mov ecx, eax
inc cl
and cl, 0x7f
mov byte [esp + 0x3b], cl
lea ecx, [esp + 0x30]
jmp 0x447a60
pxor xmm0, xmm0
movdqa xmmword [esp + 0x110], xmm0
push esi
push str.___02X
push 0x10
lea esi, [esp + 0x11c]
push esi
call fcn.0050dca0
add esp, 0x10
push esi
call fcn.004fb1c0
add esp, 4
mov esi, eax
movzx ecx, byte [esp + 0x3b]
mov eax, 0xa
mov ebx, ecx
test cl, cl
jns 0x447b1d
mov eax, dword [esp + 0x38]
mov edx, 0x7fffffff
and eax, edx
dec eax
mov ebx, dword [esp + 0x34]
mov edx, eax
sub edx, ebx
cmp edx, esi
jae 0x447b4f
mov dword [esp + 0x20], esi
mov edx, esi
add edx, ebx
sub edx, eax
lea ecx, [esp + 0x30]
lea esi, [esp + 0x110]
push esi
push dword [esp + 0x24]
push 0
push ebx
push ebx
push edx
push eax
call fcn.00477c80
jmp 0x447a68
test esi, esi
je 0x447a68
lea eax, [esp + 0x30]
test cl, cl
jns 0x447b63
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
add eax, ebx
lea ecx, [eax + esi]
lea edx, [esp + 0x110]
cmp ecx, edx
seta cl
cmp eax, edx
ja 0x447b80
test cl, cl
jne 0x447bb8
push esi
push edx
push eax
call fcn.004e3510
add esp, 0xc
add ebx, esi
cmp byte [esp + 0x3b], 0
js 0x447ba9
mov eax, ebx
and al, 0x7f
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x1c]
mov byte [eax + ebx], 0
jmp 0x447a68
mov dword [esp + 0x34], ebx
jmp 0x447b9c
mov dword [esp + 0x4c], ebx
jmp 0x44789a
push str....._third_partylibc_srcinclude__stringchar_traits.h:245:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
jmp 0x447bcb
push str....._third_partylibc_srcinclude_string_view:313:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
jmp 0x447bcb
push str....._third_partylibc_srcinclude_string_view:311:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
push 0x521354
call fcn.0044d640
lea ecx, [esp + 0x110]
call fcn.004147a0
int3