Function at 0x421a30
Capabilities:
Contain obfuscated stackstrings
Parse url

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x10c4
call fcn.004e0fd0
mov eax, dword [0x540010]
xor eax, ebp
mov dword [ebp - 0x10], eax
mfence
mov eax, dword [ecx + 0xcc]
test eax, eax
jle 0x421a6e
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004e0685
add esp, 0x10c4
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
lea eax, [ebp - 0x10b0]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax - 4], eax
lea eax, [ebp - 0x1052]
mov byte [eax + 5], 6
lea ebx, [ebp - 0x1058]
cmp ebx, str.action
ja 0x421aa1
cmp eax, str.action
ja 0x4226c3
mov dword [ebp - 0x10d0], ecx
mov esi, dword [ebp + 0xc]
mov word [ebp - 0x1054], 0x6e6f
mov dword [ebp - 0x1058], 0x69746361
mov byte [ebp - 0x1052], 0
lea edx, [ebp - 0x106c]
mov dword [edx], ebx
lea eax, [ebp - 0x10c0]
lea edi, [ebp - 0x10a8]
lea ecx, [ebp - 0x10b4]
push eax
push edx
push 0x521940
push ebx
push edi
call fcn.004155d0
mov ecx, dword [edi]
add ecx, 0x1c
push 0x10
push str.download_attempt
call fcn.004293b0
cmp byte [ebp - 0x104d], 0
jns 0x421b14
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
xor edi, edi
dec edi
mov dword [ebp - 0x10c0], edi
mov dword [ebp - 0x10bc], edi
mov dword [ebp - 0x10b8], edi
movzx eax, byte [esi + 0xb]
test al, al
jns 0x421b36
mov eax, dword [esi + 4]
mov esi, dword [esi]
test eax, eax
js 0x4226b5
je 0x421b48
test esi, esi
je 0x4226bc
push eax
push esi
push ebx
call fcn.004db310
add esp, 0xc
movzx eax, byte [ebp - 0x104d]
test al, al
jns 0x421b6a
mov eax, dword [ebp - 0x1054]
mov ebx, dword [ebp - 0x1058]
test eax, eax
lea esi, [ebp - 0x10c0]
js 0x4226b5
je 0x421b82
test ebx, ebx
je 0x4226bc
push eax
push ebx
push esi
call fcn.0050fb40
add esp, 0xc
cmp byte [ebp - 0x104d], 0
jns 0x421ba4
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
movzx eax, byte [ebp - 0x10b5]
test al, al
cmovs eax, dword [ebp - 0x10bc]
mov ecx, dword [ebp - 0x10c0]
cmovns ecx, esi
test eax, eax
js 0x4226b5
je 0x421bcf
test ecx, ecx
je 0x4226bc
mov esi, dword [ebp + 0x20]
lea edx, [ebp - 0x1058]
push eax
push ecx
push edx
call fcn.0050fb40
add esp, 0xc
cmp byte [ebp - 0x10b5], 0
jns 0x421bfa
push dword [ebp - 0x10c0]
call fcn.004dfb35
add esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [ebp - 0x10b8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [ebp - 0x10c0], xmm0
mov dword [ebp - 0x10cc], edi
mov dword [ebp - 0x10c8], edi
mov dword [ebp - 0x10c4], edi
mov dword [ebp - 0x106c], edi
mov dword [ebp - 0x1068], edi
mov dword [ebp - 0x1064], edi
movzx ebx, byte [esi + 0xb]
mov eax, ebx
test bl, bl
jns 0x421c47
mov eax, dword [esi + 4]
test eax, eax
je 0x421cb7
push 0x1048
push 0xff
lea eax, [ebp - 0x1058]
push eax
call fcn.004e3a90
add esp, 0xc
mov dword [ebp - 0x10a8], 0x824
test bl, bl
jns 0x421c74
mov esi, dword [esi]
lea eax, [ebp - 0x10a8]
push 0x2000000
push eax
lea eax, [ebp - 0x1058]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
test eax, eax
je 0x421cb7
cmp dword [ebp - 0x10a8], 0
je 0x421cb7
lea edi, [ebp - 0x106c]
mov ecx, edi
lea eax, [ebp - 0x1058]
push eax
call fcn.0041e1b0
mov bl, byte [edi + 0xb]
mov eax, dword [edi + 4]
jmp 0x421cd0
xorps xmm0, xmm0
movsd qword [ebp - 0x106c], xmm0
mov dword [ebp - 0x1064], 0
xor eax, eax
xor ebx, ebx
test bl, bl
movzx esi, bl
cmovs esi, eax
test esi, esi
je 0x421d71
push 0x1048
push 0xff
lea edi, [ebp - 0x1058]
push edi
call fcn.004e3a90
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [ebp - 0x10a4], xmm0
movups xmmword [ebp - 0x1094], xmm0
xorps xmm1, xmm1
movsd qword [ebp - 0x1074], xmm1
movups xmmword [ebp - 0x1084], xmm0
mov dword [ebp - 0x10a8], 0x3c
mov dword [ebp - 0x1098], edi
mov dword [ebp - 0x1094], 0x824
test bl, bl
lea ecx, [ebp - 0x106c]
jns 0x421d46
mov ecx, dword [ebp - 0x106c]
lea eax, [ebp - 0x10a8]
push eax
push 0x10000000
push esi
push ecx
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x421d71
lea ecx, [ebp - 0x10cc]
push dword [ebp - 0x1098]
call fcn.0041e1b0
jmp 0x421d86
xorps xmm0, xmm0
movsd qword [ebp - 0x10cc], xmm0
mov dword [ebp - 0x10c4], 0
mov bl, byte [ebp + 8]
cmp byte [ebp - 0x1061], 0
jns 0x421da0
push dword [ebp - 0x106c]
call fcn.004dfb35
add esp, 4
mov edi, dword [ebp + 0x10]
test bl, bl
je 0x421eb5
mov byte [ebp - 0x104d], 6
lea eax, [ebp - 0x1058]
cmp eax, str.status
ja 0x421dd0
lea eax, [ebp - 0x1052]
cmp eax, str.status
ja 0x4226c3
mov word [ebp - 0x1054], 0x7375
mov dword [ebp - 0x1058], 0x74617473
mov byte [ebp - 0x1052], 0
lea eax, [ebp - 0x106c]
lea esi, [ebp - 0x1058]
mov dword [eax], esi
lea edx, [ebp - 0x1060]
lea ecx, [ebp - 0x10b4]
push edx
push eax
push 0x521940
push esi
lea esi, [ebp - 0x10a8]
push esi
call fcn.004155d0
mov ecx, dword [ebp - 0x10a8]
add ecx, 0x1c
push 7
push str.success
call fcn.004293b0
cmp byte [ebp - 0x104d], 0
jns 0x422050
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x422050
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
lea esi, [ebp - 0x10a8]
jns 0x422032
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x422032
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
lea ebx, [ebp - 0x10a8]
jns 0x422130
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x422130
mov byte [ebp - 0x104d], 6
lea eax, [ebp - 0x1058]
cmp eax, str.status
ja 0x421eda
lea eax, [ebp - 0x1052]
cmp eax, str.status
ja 0x4226c3
mov edi, dword [ebp + 0x1c]
mov word [ebp - 0x1054], 0x7375
mov dword [ebp - 0x1058], 0x74617473
mov byte [ebp - 0x1052], 0
lea ebx, [ebp - 0x106c]
lea eax, [ebp - 0x1058]
mov dword [ebx], eax
lea esi, [ebp - 0x1060]
lea ecx, [ebp - 0x10b4]
push esi
push ebx
push 0x521940
push eax
lea eax, [ebp - 0x10a8]
push eax
call fcn.004155d0
mov ecx, dword [ebp - 0x10a8]
add ecx, 0x1c
push 6
push str.failed
call fcn.004293b0
cmp byte [ebp - 0x104d], 0
jns 0x421f51
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
movzx eax, byte [edi + 0xb]
mov ecx, edi
test al, al
jns 0x421f60
mov eax, dword [edi + 4]
mov ecx, dword [edi]
test eax, eax
js 0x4226b5
je 0x421f72
test ecx, ecx
je 0x4226bc
push eax
push ecx
lea eax, [ebp - 0x1058]
push eax
call fcn.00488750
add esp, 0xc
mov byte [ebp - 0x109d], 5
lea eax, [ebp - 0x10a8]
cmp eax, str.error
ja 0x421fa8
lea eax, [ebp - 0x10a3]
cmp eax, str.error
ja 0x4226c3
mov dword [ebp - 0x10a8], 0x6f727265
mov word [ebp - 0x10a4], 0x72
lea edx, [ebp - 0x10a8]
mov dword [ebp - 0x1060], edx
lea eax, [ebp - 0x1059]
lea ecx, [ebp - 0x10b4]
push eax
push esi
push 0x521940
push edx
push ebx
call fcn.004155d0
mov eax, dword [ebp - 0x106c]
lea esi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x421ffa
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [esi], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x421e4d
lea esi, [ebp - 0x10a8]
lea eax, [ebp - 0x10cc]
mov ecx, dword [ebp - 0x10d0]
push eax
lea eax, [ebp - 0x10c0]
push eax
push edi
mov edi, dword [ebp + 0x10]
push edi
call fcn.00421530
push edi
lea eax, [ebp - 0x1058]
push eax
call fcn.004dccc0
add esp, 8
push 0x10
call fcn.004dfb05
add esp, 4
mov dword [ebp - 0x10a8], eax
mov dword [ebp - 0x10a0], 0x80000010
mov dword [ebp - 0x10a4], 0xe
cmp eax, str.attempt_number
ja 0x42209a
lea ecx, [eax + 0xe]
cmp ecx, str.attempt_number
ja 0x4226c3
mov word [eax + 0xc], 0x7265
mov dword [eax + 8], 0x626d756e
mov dword [eax + 4], 0x5f74706d
mov dword [eax], 0x65747461
mov byte [eax + 0xe], 0
lea eax, [ebp - 0x1060]
mov dword [eax], esi
lea edx, [ebp - 0x1059]
lea edi, [ebp - 0x106c]
lea ecx, [ebp - 0x10b4]
push edx
push eax
push 0x521940
push esi
push edi
call fcn.004155d0
mov eax, dword [edi]
lea ebx, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x4220f5
push dword [ebx]
call fcn.004dfb35
add esp, 4
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp - 0x1050]
mov dword [ebx + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [ebx], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x421e81
lea ebx, [ebp - 0x10a8]
push esi
lea eax, [ebp - 0x1058]
push eax
call fcn.0050ebc0
add esp, 8
push 0x10
call fcn.004dfb05
add esp, 4
mov dword [ebp - 0x10a8], eax
mov dword [ebp - 0x10a0], 0x80000010
mov dword [ebp - 0x10a4], 0xf
cmp eax, str.downloaded_size
ja 0x42217a
lea ecx, [eax + 0xf]
cmp ecx, str.downloaded_size
ja 0x4226c3
mov dword [eax + 0xb], 0x657a6973
mov dword [eax + 8], 0x735f6465
mov dword [eax + 4], 0x64616f6c
mov dword [eax], 0x6e776f64
mov byte [eax + 0xf], 0
mov dword [ebp - 0x1060], ebx
lea ecx, [ebp - 0x10b4]
lea eax, [ebp - 0x1059]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0x521940
push ebx
push edi
call fcn.004155d0
mov eax, dword [ebp - 0x106c]
lea ebx, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x4221d8
push dword [ebx]
call fcn.004dfb35
add esp, 4
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp - 0x1050]
mov dword [ebx + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [ebx], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x4223ed
lea ebx, [ebp - 0x10a8]
push esi
lea eax, [ebp - 0x1058]
push eax
call fcn.0050ebc0
add esp, 8
mov byte [ebp - 0x109d], 0xa
cmp ebx, str.total_size
ja 0x422243
lea eax, [ebp - 0x109e]
cmp eax, str.total_size
ja 0x4226c3
mov word [ebp - 0x10a0], 0x657a
mov dword [ebp - 0x10a4], 0x69735f6c
mov dword [ebp - 0x10a8], 0x61746f74
mov byte [ebp - 0x109e], 0
mov dword [ebp - 0x1060], ebx
lea ecx, [ebp - 0x10b4]
lea eax, [ebp - 0x1059]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0x521940
push ebx
push edi
call fcn.004155d0
mov eax, dword [ebp - 0x106c]
lea esi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x4222a6
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [esi], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x422421
lea esi, [ebp - 0x10c0]
movzx ecx, byte [ebp - 0x10b5]
mov eax, ecx
test cl, cl
jns 0x4222f1
mov eax, dword [ebp - 0x10bc]
test eax, eax
je 0x4223bf
test cl, cl
jns 0x422303
mov esi, dword [ebp - 0x10c0]
test eax, eax
js 0x4226b5
test esi, esi
je 0x4226bc
push eax
push esi
lea eax, [ebp - 0x1058]
push eax
call fcn.004d9ed0
add esp, 0xc
mov byte [ebp - 0x109d], 3
cmp ebx, 0x522df6
ja 0x422344
lea eax, [ebp - 0x10a5]
cmp eax, 0x522df6
ja 0x4226c3
mov dword [ebp - 0x10a8], 0x6c7275
mov dword [ebp - 0x1060], ebx
lea ecx, [ebp - 0x10b4]
lea eax, [ebp - 0x1059]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0x521940
push ebx
push edi
call fcn.004155d0
mov eax, dword [ebp - 0x106c]
lea esi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x42238d
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [esi], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x422455
movzx ecx, byte [ebp - 0x10c1]
mov eax, ecx
test cl, cl
jns 0x4223d2
mov eax, dword [ebp - 0x10c8]
test eax, eax
je 0x422584
test cl, cl
js 0x4224b1
lea ecx, [ebp - 0x10cc]
jmp 0x4224b7
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
lea ebx, [ebp - 0x10a8]
jns 0x422213
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x422213
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
lea esi, [ebp - 0x10c0]
jns 0x4222de
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x4222de
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
jns 0x4223bf
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x4223bf
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
jns 0x422584
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x422584
mov ecx, dword [ebp - 0x10cc]
test eax, eax
js 0x4226b5
test ecx, ecx
je 0x4226bc
push eax
push ecx
lea eax, [ebp - 0x1058]
push eax
call fcn.00488750
add esp, 0xc
mov byte [ebp - 0x109d], 8
cmp ebx, str.redirect
ja 0x4224f8
lea eax, [ebp - 0x10a0]
cmp eax, str.redirect
ja 0x4226c3
mov dword [ebp - 0x10a4], 0x74636572
mov dword [ebp - 0x10a8], 0x69646572
mov byte [ebp - 0x10a0], 0
mov dword [ebp - 0x1060], ebx
lea ecx, [ebp - 0x10b4]
lea eax, [ebp - 0x1059]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0x521940
push ebx
push edi
call fcn.004155d0
mov eax, dword [ebp - 0x106c]
lea esi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x422552
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [esi], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x422483
mov eax, dword [ebp + 0x24]
cmp dword [eax], 1
jne 0x422638
push 1
lea eax, [ebp - 0x1058]
push eax
call fcn.004dccc0
add esp, 8
mov byte [ebp - 0x109d], 3
cmp ebx, 0x522e76
ja 0x4225c1
lea eax, [ebp - 0x10a5]
cmp eax, 0x522e76
ja 0x4226c3
mov dword [ebp - 0x10a8], 0x343678
mov dword [ebp - 0x1060], ebx
lea ecx, [ebp - 0x10b4]
lea eax, [ebp - 0x1059]
push eax
lea eax, [ebp - 0x1060]
push eax
push 0x521940
push ebx
push edi
call fcn.004155d0
mov eax, dword [ebp - 0x106c]
lea esi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x42260a
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0x1058]
movsd qword [esi], xmm0
mov byte [ebp - 0x104d], 0
mov word [ebp - 0x1058], 0
cmp byte [ebp - 0x109d], 0
js 0x42268e
mov ecx, dword [ebp - 0x10d0]
add ecx, 0x60
lea eax, [ebp - 0x10b4]
push eax
call fcn.0049c330
cmp byte [ebp - 0x10c1], 0
jns 0x422664
push dword [ebp - 0x10cc]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x10b5], 0
jns 0x42267b
push dword [ebp - 0x10c0]
call fcn.004dfb35
add esp, 4
lea ecx, [ebp - 0x10b4]
push dword [ecx + 4]
call fcn.00415580
jmp 0x421a57
push dword [ebp - 0x10a8]
call fcn.004dfb35
add esp, 4
cmp byte [ebp - 0x104d], 0
jns 0x422638
push dword [ebp - 0x1058]
call fcn.004dfb35
add esp, 4
jmp 0x422638
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
jmp 0x4226c8
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 0x4226c8
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
push 0x521354
call fcn.0044d640
int3