Function at 0x5bec60
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0xb4]
sub esp, 0xb4
push 0xffffffffffffffff
push 0x666504
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x758898]
xor eax, ebp
mov dword [ebp + 0xb0], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x34], esi
mov eax, dword [ebp + 0xc4]
mov dword [ebp - 0x28], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [esi + 0x940], ebx
je 0x5becd1
push ebx
push ebx
mov ecx, dword [esi + 0x4f8]
push ecx
lea ecx, [esi + 0x20]
call fcn.005d1f40
mov dword [esi + 0x940], ebx
cmp dword [esi + 0xadc], ebx
je 0x5bece3
mov dword [esi + 0xacc], 0x7540
cmp dword [esi + 0xacc], 0x7573
jne 0x5bed08
push 3
mov ecx, esi
call fcn.005b72d0
lea ecx, [esi + 0x52c]
call fcn.0056b100
jmp 0x5bf3d8
cmp dword [esi + 4], ebx
jne 0x5bed15
push ebx
mov ecx, esi
call fcn.005b72d0
cmp dword [esi + 0xadc], ebx
je 0x5bed58
push ebx
mov ecx, esi
call fcn.005b72d0
push 1
mov edx, dword [esi + 0x4f8]
push edx
mov eax, dword [0x75ec14]
push eax
mov ecx, dword [esi + 0xacc]
push ecx
lea ecx, [esi + 0x20]
call fcn.005cbb70
push str.Cancel_by_user._n
lea ecx, [esi + 0x52c]
call fcn.0056ad10
jmp 0x5bf3d8
mov ecx, dword [esi + 0xacc]
cmp ecx, 0x7540
jne 0x5bed84
push str.Cancel_by_user._n
lea ecx, [esi + 0x52c]
call fcn.0056ad10
push 2
mov ecx, esi
call fcn.005b72d0
jmp 0x5bf3d8
mov byte [ebp - 0x21], bl
mov byte [ebp - 0x19], bl
mov byte [ebp - 0x23], 1
mov eax, ecx
cmp eax, 0x753b
jg 0x5bee28
je case.0x5bee39.30040
cmp eax, 0x80090304
je case.0x5bee39.30018
cmp eax, 0x17
je case.0x5bee39.30040
cmp eax, 0x70
je case.0x5bee39.30040
cmp byte [esi + 0x35e], bl
jne case.0x5bee39.30040
cmp byte [esi + 0xaff], bl
jne 0x5befa9
cmp byte [0x75e77d], bl
je 0x5befa1
cmp dword [esi + 4], ebx
jne 0x5befa1
test dword [esi + 0x17c], 0x80000
je 0x5befa1
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.004024f0
mov byte [ebp - 4], 2
cmp byte [esi + 0xab8], 0
je 0x5bee40
mov eax, dword [esi + 0xaa0]
push eax
mov ecx, dword [esi + 0xa9c]
push ecx
jmp 0x5bee57
sub eax, 0x7542
cmp eax, 0x40
ja case.0x5bee39.30019
movzx edx, byte [eax + 0x5c0908]
jmp dword [edx*4 + 0x5c08fc]
mov eax, dword [esi + 0x95c]
cmp eax, ebx
jne 0x5bee4f
mov eax, 0x67997c
mov ecx, dword [esi + 0x960]
push ecx
push eax
push str._s:_ld
lea edx, [ebp - 0x14]
push edx
call fcn.00402f60
add esp, 0x10
mov byte [esi + 0xaff], 1
push esi
call fcn.004b3c50
push esi
call fcn.004b7780
add esp, 8
cmp byte [esi + 0xab8], 0
je 0x5bee97
mov eax, dword [esi + 0xaa0]
push eax
mov ecx, dword [esi + 0xa9c]
push ecx
jmp 0x5beeae
mov eax, dword [esi + 0x95c]
cmp eax, ebx
jne 0x5beea6
mov eax, 0x67997c
mov ecx, dword [esi + 0x960]
push ecx
push eax
push str._s:_ld
lea edx, [ebp - 0x20]
push edx
call fcn.00402f60
add esp, 0x10
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.006226ae
add esp, 8
test eax, eax
je 0x5bef60
lea edi, [esi + 0x52c]
push str.Try_via_the_same_proxy_as_in_browser_request._n
mov ecx, edi
call fcn.0056ad10
mov edx, dword [esi + 0xacc]
mov dword [esi + 0xb04], edx
mov edi, dword [edi]
cmp edi, ebx
je 0x5bef10
push edi
push 0x678ea8
lea eax, [esi + 0xb08]
push eax
call fcn.00402f60
add esp, 0xc
mov ecx, dword [esi + 0x14]
cmp ecx, ebx
je 0x5bef35
mov eax, dword [esi + 0x4f8]
cmp eax, ebx
je 0x5bef35
push eax
push 0x1431
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x5bef43
mov dword [esi + 0x958], ebx
push ebx
mov ecx, esi
call fcn.005c7e50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
jmp 0x5bf3d8
mov byte [esi + 0xaff], 0
cmp byte [esi + 0xb00], 0
je 0x5bef84
push str.Cannot_detect_proxy_in_browser_proxy_script_:__n
lea ecx, [esi + 0x52c]
call fcn.0056ad10
mov byte [ebp - 0x19], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
jmp 0x5beff8
mov byte [ebp - 0x23], bl
cmp byte [esi + 0xaff], bl
je 0x5beff8
cmp ecx, 0x756f
je 0x5befb9
cmp ecx, 0x7559
jne 0x5beff2
mov ecx, dword [esi + 0xb04]
mov dword [esi + 0xacc], ecx
mov edx, dword [esi + 0xb08]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5befd0
lea ecx, [esi + 0x52c]
sub eax, edi
je 0x5befe9
push edx
call fcn.0056b3d0
jmp 0x5befee
call fcn.0056b170
mov byte [ebp - 0x19], 1
mov byte [esi + 0xaff], bl
mov byte [ebp - 0x1a], 0
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x5c], ebx
xor edx, edx
mov word [ebp + 0x58], dx
mov byte [ebp - 4], 3
mov eax, dword [esi + 0xacc]
cmp eax, 0x7532
jg 0x5bf396
je case.0x5bf247.10060
cmp eax, 0x271d
jg 0x5bf221
je 0x5bf219
cmp eax, 0xffffffff
jg 0x5bf129
je 0x5bf09b
cmp eax, 0x80090304
je case.0x5bf3ab.30009
cmp eax, 0x8009030e
je case.0x5bf3ab.30009
cmp eax, 0xfffffffc
je case.0x5bf3ab.30009
mov eax, dword [esi + 0x44]
cmp eax, 4
je 0x5bfbf3
cmp eax, 5
je 0x5bfbf3
lea edx, [esi + 0x530]
push edx
lea ecx, [ebp + 0x48]
call fcn.00402170
mov byte [ebp - 4], 0x17
mov eax, dword [ebp + 0x48]
cmp eax, ebx
jne 0x5bf090
lea eax, [ebp + 0x4c]
mov edx, dword [0x75e9c8]
jmp 0x5bfb52
mov eax, dword [esi + 0x44]
cmp eax, 4
je case.0x5bf3ab.30009
cmp eax, 5
je case.0x5bf3ab.30009
lea eax, [esi + 0x530]
push eax
lea ecx, [ebp + 0x3c]
call fcn.00402170
mov bl, 0x15
mov byte [ebp - 4], bl
lea ecx, [esi + 0xb24]
push ecx
lea ecx, [ebp + 0x48]
call fcn.00402170
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp + 0x48]
test ecx, ecx
jne 0x5bf0d9
lea ecx, [ebp + 0x4c]
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x5bf0e3
lea eax, [ebp + 0x40]
mov edx, dword [0x75dd28]
push edx
push ecx
push eax
mov eax, dword [0x75e9c4]
push eax
lea ecx, [ebp + 0x54]
call fcn.00402310
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x48]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x3c]
call fcn.00401210
jmp 0x5bfc08
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75e9d0]
push edx
jmp 0x5bfc00
cmp eax, 5
je 0x5bf206
cmp eax, 0x17
je 0x5bf1f4
cmp eax, 0x70
jne case.0x5bf3ab.30004
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [0x75eeec]
push ecx
lea ecx, [ebp + 0x48]
call fcn.0045eea0
mov bl, 0x11
mov byte [ebp - 4], bl
xor edi, edi
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x20], edi
xor edx, edx
mov word [ebp + 0x1c], dx
mov byte [ebp - 4], 0x12
push edi
push edi
lea eax, [ebp - 0x18]
push eax
push 0x400
push 0x70
push edi
push 0x1100
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov eax, dword [ebp + 0x48]
cmp eax, edi
jne 0x5bf193
lea eax, [ebp + 0x4c]
push edi
mov ecx, dword [ebp - 0x18]
push ecx
push eax
push str._r_n_r_n_s_s
lea ecx, [ebp + 0x18]
call fcn.00402310
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [0x75e9d0]
push ecx
lea ecx, [ebp + 0x54]
call fcn.00401970
mov eax, dword [ebp + 0x18]
cmp eax, edi
jne 0x5bf1cf
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x18]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x48]
call fcn.00401210
jmp 0x5bfc08
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f474]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f004]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75e9dc]
jmp 0x5bf254
cmp eax, 0x2af9
jg 0x5bf342
je 0x5bf337
sub eax, 0x2726
cmp eax, 0x2b
ja case.0x5bf3ab.30004
movzx edx, byte [eax + 0x5c0978]
jmp dword [edx*4 + 0x5c094c]
mov ecx, dword [0x75e9d8]
mov eax, dword [0x75dd28]
push eax
push ecx
lea ecx, [ebp + 0x54]
call fcn.00401970
mov byte [esi + 0x371], 1
jmp 0x5bfc08
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 0xb
mov eax, dword [0x75e9d0]
mov edx, dword [0x75f100]
push edx
push eax
push str._s_r_n_r_n_s
lea ecx, [ebp - 0x14]
push ecx
call fcn.00402f60
add esp, 0x10
mov edx, dword [0x75dd28]
push edx
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp + 0x54]
call fcn.00401970
mov byte [esi + 0x371], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.00402560
jmp 0x5bfc08
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75e9e0]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75e9e4]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75e9e8]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75e9f0]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75e9f4]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75e9f8]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75e9fc]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75e9ec]
jmp 0x5bf254
sub eax, 0x2afa
je case.0x5bf3ab.30009
sub eax, 2
jne case.0x5bf3ab.30004
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 0xc
mov eax, dword [0x75ebf0]
jmp 0x5bf280
mov eax, dword [esi + 0x17c]
test al, 8
jne 0x5bf37d
test eax, 0x100
je case.0x5bf3ab.30003
mov byte [esi + 0x371], 1
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75ec30]
push eax
jmp 0x5bfc00
sub eax, 0x7533
cmp eax, 0x57
ja case.0x5bf3ab.30004
movzx ecx, byte [eax + 0x5c0a18]
jmp dword [ecx*4 + 0x5c09a4]
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75ea00]
push eax
jmp 0x5bfc00
push ebx
mov ecx, esi
call fcn.005b72d0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x54]
call fcn.00401210
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xb0]
xor ecx, ebp
call fcn.00620b8d
add ebp, 0xb4
mov esp, ebp
pop ebp
ret 0xc
push ebx
mov ecx, esi
call fcn.005b72d0
cmp dword [esi + 8], ebx
jne 0x5bf618
cmp dword [esi + 4], ebx
jne 0x5bf618
cmp byte [ebp + 0xbc], 0
je 0x5bf618
mov eax, dword [esi + 0x528]
cmp eax, ebx
je 0x5bf451
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5bf451
mov edx, dword [esi + 0x528]
mov eax, dword [edx + 0x20]
push eax
call fcn.005f9a38
mov edi, eax
jmp 0x5bf453
xor edi, edi
mov ecx, dword [esi + 0x44]
push ecx
call fcn.0049cfc0
add esp, 4
push eax
lea ecx, [ebp - 0x20]
call fcn.004030a0
mov byte [ebp - 4], 4
mov eax, dword [esi + 0x1e0]
lea ebx, [esi + 0x20]
push edi
push 0
push 0
push eax
mov edx, dword [ebx]
push edx
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0xec]
call fcn.004f9ad0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xec]
call fcn.005f6e33
cmp eax, 1
jne 0x5bf5fd
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5bf4bf
push 0
push 0x1472
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esi + 0x10], 0
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x78]
push edx
mov ecx, esi
call fcn.005b75f0
mov eax, dword [esi + 0x4f8]
test eax, eax
je 0x5bf56b
cmp dword [esi + 0x4ac], 0
jne 0x5bf4f4
push eax
mov ecx, ebx
call fcn.005cf670
mov edx, dword [esi + 0x4ac]
test edx, edx
je 0x5bf56b
mov edi, dword [ebp - 0x78]
mov eax, edi
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5bf506
sub eax, ebx
inc eax
push eax
push edi
push 1
push 0
push 0x68cbf4
push edx
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call edi
cmp byte [esi + 0x1d0], 0
je 0x5bf54c
mov dword [ebp - 0x28], 1
push 4
lea eax, [ebp - 0x28]
push eax
push 4
push 0
push str.bUNRA
mov ecx, dword [esi + 0x4ac]
push ecx
call edi
push 0
mov edx, dword [ebp - 0x74]
push edx
push str.EncPassword
push 0x69b5ec
mov eax, dword [esi + 0x4ac]
push eax
call fcn.005ba700
add esp, 0x14
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 6
mov ecx, dword [esi + 0xacc]
push ecx
mov edx, dword [0x75e9bc]
push edx
push str._r_n_s_r_ndownlResult___ldsetting_new_login_r_n
lea eax, [ebp - 0x14]
push eax
call fcn.00402f60
add esp, 0x10
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [esi + 0x52c]
call fcn.0056ad10
cmp byte [ebp + 0xc0], 0
je 0x5bf5d1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x5bf5d1
mov esi, dword [esi + 0x4f8]
test esi, esi
je 0x5bf5d1
push esi
push 0x1431
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x14]
call fcn.00402560
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xec]
call fcn.004bae90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.00402560
jmp 0x5bf3cc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xec]
call fcn.004bae90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.00402560
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75e9bc]
push eax
jmp 0x5bfc00
push 0x67997c
lea ecx, [esi + 0x3c0]
call fcn.0054f750
cmp dword [esi + 8], ebx
jne 0x5bf7df
cmp dword [esi + 4], ebx
jne 0x5bf7df
cmp byte [ebp + 0xbc], 0
je 0x5bf7df
push ebx
mov ecx, esi
call fcn.005b72d0
mov eax, dword [esi + 0x528]
cmp eax, ebx
je 0x5bf68c
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5bf68c
mov edx, dword [esi + 0x528]
mov eax, dword [edx + 0x20]
push eax
call fcn.005f9a38
mov ebx, eax
jmp 0x5bf68e
xor ebx, ebx
mov ecx, dword [esi + 0x44]
push ecx
call fcn.0049cfc0
add esp, 4
push eax
lea ecx, [ebp - 0x18]
call fcn.004030a0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.004024f0
mov byte [ebp - 4], 8
cmp byte [esi + 0xa92], 0
jne 0x5bf6f3
cmp dword [0x75e774], 2
jne 0x5bf6ce
test byte [0x75e788], 0x10
jne 0x5bf6f3
lea edi, [esi + 0x95c]
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
test eax, eax
je 0x5bf6e5
push eax
call fcn.0054f750
jmp 0x5bf728
lea edx, [esi + 0xa9c]
push edx
call fcn.00405900
jmp 0x5bf728
lea edi, [esi + 0x95c]
mov eax, dword [edi]
lea edx, [ebp - 0x20]
test eax, eax
je 0x5bf70c
mov ecx, dword [esi + 0x960]
push ecx
push eax
jmp 0x5bf71a
mov eax, dword [esi + 0xaa0]
push eax
mov ecx, dword [esi + 0xa9c]
push ecx
push str._s:_ld
push edx
call fcn.00402f60
add esp, 0x10
mov eax, dword [esi + 0xa7c]
push ebx
movzx ecx, byte [esi + 0xa92]
push ecx
push 1
push eax
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0xec]
call fcn.004f9ad0
mov bl, 9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0xec]
call fcn.005f6e33
cmp eax, 1
jne 0x5bf7b8
mov byte [esi + 0xa95], al
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5bf782
push 0
push 0x1472
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esi + 0x10], 0
mov byte [ebp - 0x24], 1
cmp dword [edi], 0
je 0x5bf801
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, edi
call fcn.004b84f0
test eax, eax
jne 0x5bf7b4
mov edx, dword [ebp - 0x74]
push edx
mov ecx, edi
call fcn.004b8560
test eax, eax
je 0x5bf835
mov byte [ebp - 0x24], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xec]
call fcn.004bae90
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x18]
call fcn.00402560
cmp byte [esi + 0xa92], 0
mov eax, 0x75f630
jne 0x5bf7f2
mov eax, 0x75e9c0
mov eax, dword [eax]
mov ecx, dword [0x75dd28]
push ecx
push eax
jmp 0x5bfc00
mov byte [esi + 0xab9], 1
mov eax, dword [ebp - 0x78]
push eax
push 0x678ea8
lea ecx, [esi + 0xaa4]
push ecx
call fcn.00402f60
mov edx, dword [ebp - 0x74]
push edx
push 0x678ea8
lea eax, [esi + 0xaa8]
push eax
call fcn.00402f60
add esp, 0x18
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 0xa
cmp byte [esi + 0xa92], 0
mov eax, dword [0x75f630]
jne 0x5bf854
mov eax, dword [0x75e9c0]
mov ecx, dword [esi + 0xacc]
push ecx
push eax
push str._r_n_s_r_ndownlResult___ldsetting_new_login_r_n
lea edx, [ebp - 0x14]
push edx
call fcn.00402f60
add esp, 0x10
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [esi + 0x52c]
call fcn.0056ad10
cmp byte [ebp + 0xc0], 0
je 0x5bf8a8
mov eax, dword [esi + 0x14]
test eax, eax
je 0x5bf8a8
mov esi, dword [esi + 0x4f8]
test esi, esi
je 0x5bf8a8
push esi
push 0x1431
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x14]
call fcn.00402560
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xec]
call fcn.004bae90
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x18]
call fcn.00402560
jmp 0x5bf3cc
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75e9d4]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75ec08]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75e9cc]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75ea68]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75ea6c]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75ea70]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75e9b8]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75ebd4]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75ec1c]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75ec6c]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75ec24]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75ecb4]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75ec2c]
push eax
jmp 0x5bfc00
lea ecx, [ebp + 0xa0]
push ecx
mov edx, dword [esi + 0x50c]
push edx
mov eax, dword [esi + 0x508]
push eax
mov ecx, esi
call fcn.005b7c70
mov dword [ebp], ebx
mov dword [ebp + 8], ebx
xor ecx, ecx
mov word [ebp + 4], cx
mov byte [ebp - 4], 0xd
lea edx, [ebp]
push edx
mov ecx, esi
call fcn.005b9000
lea eax, [ebp + 0xa0]
push eax
lea ecx, [ebp + 0x3c]
call fcn.004070a0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x18]
call fcn.004024f0
mov byte [ebp - 4], 0xf
mov ecx, dword [esi + 0x50c]
push ecx
mov edx, dword [esi + 0x508]
push edx
push str._I64d
lea eax, [ebp - 0x18]
push eax
call fcn.00402f60
add esp, 0x10
mov ecx, dword [ebp - 0x18]
push ecx
lea ecx, [ebp + 0x48]
call fcn.004070a0
mov byte [ebp - 4], 0x10
push str._I64d
mov edx, dword [0x75ebf4]
push edx
call fcn.00622230
add esp, 8
test eax, eax
je 0x5bfa5a
push 0x678ea8
push str._I64d
jmp 0x5bfa7b
push 0x6795fc
mov eax, dword [0x75ebf4]
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x5bfa85
push 0x678ea8
push 0x6795fc
mov ecx, 0x75ebf4
call fcn.00402c00
cmp dword [esi + 0x54], ebx
je 0x5bfa8f
mov edi, dword [esi + 0x54]
jmp 0x5bfa92
lea edi, [esi + 0x58]
mov edx, dword [ebp + 0x48]
cmp edx, ebx
jne 0x5bfa9c
lea edx, [ebp + 0x4c]
mov ecx, dword [ebp + 0x3c]
cmp ecx, ebx
jne 0x5bfaa6
lea ecx, [ebp + 0x40]
mov eax, dword [ebp]
cmp eax, ebx
jne 0x5bfab0
lea eax, [ebp + 4]
mov ebx, dword [0x75dd28]
push ebx
push edi
push edx
push ecx
push eax
mov ecx, dword [0x75ebf4]
push ecx
lea ecx, [ebp + 0x54]
call fcn.0043c2c0
mov byte [ebp - 4], 0xf
lea ecx, [ebp + 0x48]
call fcn.00401210
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x18]
call fcn.00402560
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x3c]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp]
call fcn.00401210
jmp 0x5bfc08
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75eaa8]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75f418]
jmp 0x5bfbf9
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f4c4]
push eax
jmp 0x5bfc00
lea eax, [esi + 0x530]
push eax
lea ecx, [ebp + 0x48]
call fcn.00402170
mov byte [ebp - 4], 0x13
mov eax, dword [ebp + 0x48]
cmp eax, ebx
jne 0x5bfb4c
lea eax, [ebp + 0x4c]
mov edx, dword [0x75f10c]
mov ecx, dword [0x75dd28]
push ecx
push eax
push edx
lea ecx, [ebp + 0x54]
call fcn.004021a0
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x48]
call fcn.00401210
jmp 0x5bfc08
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 0x14
mov eax, dword [0x75f5e0]
push eax
push 0x678ea8
lea ecx, [ebp - 0x14]
push ecx
call fcn.00402f60
push 0x67b29c
mov edx, dword [ebp - 0x14]
push edx
call fcn.006232f0
add esp, 0x14
cmp eax, ebx
je 0x5bfbac
mov byte [eax], 0
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp + 0x54]
call fcn.00401970
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.00402560
jmp 0x5bfc08
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f780]
push eax
jmp 0x5bfc00
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f784]
push edx
jmp 0x5bfc00
mov ecx, dword [0x75f788]
jmp 0x5bfbf9
mov ecx, dword [0x75e9d0]
mov eax, dword [0x75dd28]
push eax
push ecx
lea ecx, [ebp + 0x54]
call fcn.00401970
mov eax, dword [esi + 0x14]
test eax, eax
je 0x5bfc27
mov edx, dword [esi + 0x4f8]
push edx
push 0x13c7
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0xacc]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x5bfc42.30019
movzx eax, byte [eax + 0x5c0a7c]
jmp dword [eax*4 + 0x5c0a70]
mov ecx, dword [esi + 0x158]
or ecx, dword [esi + 0x15c]
je case.0x5bfc42.30019
push 0x679978
lea ecx, [ebp + 0x54]
call fcn.00405310
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f4c4]
push eax
lea ecx, [ebp + 0x48]
call fcn.0045eea0
mov byte [ebp - 4], 0x18
mov eax, dword [ebp + 0x48]
test eax, eax
jne 0x5bfc8b
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x48]
call fcn.00401210
mov cl, byte [esi + 0x1a5]
test cl, cl
jne 0x5bfe16
mov eax, dword [esi + 0x160]
test eax, eax
jle 0x5bfcc9
mov edx, dword [esi + 0x164]
sub edx, eax
cmp edx, 0x3c
jl 0x5bfe01
cmp byte [0x75e2ab], 0
jne 0x5bfdbb
mov eax, dword [esi + 0x108]
cmp eax, dword [esi + 0x158]
jne 0x5bfdbb
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [esi + 0x15c]
jne 0x5bfdbb
cmp dword [esi + 0xdc], 0
je 0x5bfdbb
mov ebx, dword [esi + 0x134]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5bfd12
sub eax, edx
je 0x5bfdbb
mov edi, dword [esi + 0x104]
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5bfd30
sub eax, edx
je 0x5bfdbb
mov edx, ebx
mov eax, edi
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x5bfd63
test cl, cl
je 0x5bfd5f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x5bfd63
add eax, 2
add edx, 2
test cl, cl
jne 0x5bfd43
xor eax, eax
jmp 0x5bfd68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5bfdbb
mov ecx, ebx
mov eax, dword [esi + 0xdc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5bfd94
test dl, dl
je 0x5bfd90
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5bfd94
add eax, 2
add ecx, 2
test dl, dl
jne 0x5bfd74
xor eax, eax
jmp 0x5bfd99
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5bfdbb
mov byte [ebp - 0x21], 1
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f3c0]
push eax
lea ecx, [ebp + 0x54]
call fcn.00401970
jmp case.0x5bfc42.30019
push str._r_n_r_n
lea ecx, [ebp + 0x54]
call fcn.00405310
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f4e4]
push edx
lea ecx, [ebp + 0x48]
call fcn.0045eea0
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp + 0x48]
test eax, eax
jne 0x5bfdec
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x48]
jmp 0x5bff77
test cl, cl
jne 0x5bfe16
push 1
mov eax, dword [esi + 0x4f8]
push eax
lea ecx, [esi + 0x20]
call fcn.005d1d10
cmp dword [esi + 0x50c], 0
jl 0x5bfe45
jg 0x5bfe2a
cmp dword [esi + 0x508], 0
jbe 0x5bfe45
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f4e8]
push edx
lea ecx, [ebp + 0x54]
call fcn.00401970
jmp case.0x5bfc42.30019
xor bl, bl
test byte [esi + 0x17c], 0x70
je 0x5bfe52
mov bl, 1
xor edi, edi
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x14], edi
xor eax, eax
mov word [ebp + 0x10], ax
mov byte [ebp - 4], 0x19
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
call fcn.005b9000
test bl, bl
je 0x5bff39
mov edx, dword [esi + 0xe8]
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5bfe82
mov ecx, 0x75e934
sub eax, ebx
je 0x5bfe9a
push edx
call fcn.005460d0
jmp 0x5bfea3
mov edx, dword [esi + 0x20]
push edx
call fcn.00545fb0
cmp dword [esi + 0x11c], edi
je 0x5bfeb3
mov eax, dword [esi + 0x11c]
jmp 0x5bfeb9
lea eax, [esi + 0x120]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x5bfec0
sub eax, edx
sar eax, 1
je 0x5bfee9
cmp dword [esi + 0x11c], edi
je 0x5bfee1
mov eax, dword [esi + 0x11c]
jmp 0x5bfef3
lea eax, [esi + 0x120]
jmp 0x5bfef3
mov eax, dword [ebp + 0xc]
cmp eax, edi
jne 0x5bfef3
lea eax, [ebp + 0x10]
mov ecx, dword [0x75dd28]
push ecx
push eax
mov edx, dword [0x75f3c4]
push edx
lea ecx, [ebp + 0x54]
call fcn.004021a0
test dword [esi + 0x17c], 0x100
jne 0x5bff70
mov eax, dword [esi + 0x160]
cmp eax, edi
jle 0x5bff70
mov ecx, dword [esi + 0x164]
sub ecx, eax
cmp ecx, 0x3c
jge 0x5bff70
cmp byte [ebp - 0x19], 0
jne 0x5bff70
mov byte [ebp - 0x1a], 1
jmp 0x5bff70
cmp byte [esi + 0x1a3], 0
je 0x5bff5a
cmp byte [0x75e2ab], 0
jne 0x5bff5a
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f3c0]
push eax
jmp 0x5bff68
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f4e8]
push edx
lea ecx, [ebp + 0x54]
call fcn.00401970
mov byte [ebp - 4], 3
lea ecx, [ebp + 0xc]
call fcn.00401210
cmp dword [esi + 0xacc], 0x7582
je 0x5c003a
cmp dword [esi + 0x52c], 0
je 0x5c003a
push str._r_n_r_n
lea ecx, [ebp + 0x54]
call fcn.00405310
xor edi, edi
mov dword [ebp + 0xa4], edi
mov dword [ebp + 0xac], edi
xor eax, eax
mov word [ebp + 0xa8], ax
mov bl, 0x1b
mov byte [ebp - 4], bl
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75eeec]
push edx
lea ecx, [ebp + 0xa4]
call fcn.00401970
mov eax, dword [ebp + 0xa4]
cmp eax, edi
jne 0x5bffeb
lea eax, [ebp + 0xa8]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [esi + 0x52c]
push ecx
lea ecx, [ebp + 0x48]
call fcn.0045eea0
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp + 0x48]
cmp eax, edi
jne 0x5c0017
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x48]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp + 0xa4]
call fcn.00401210
cmp byte [ebp - 0x19], 0
je 0x5c0168
push str._r_n_r_n
lea ecx, [ebp + 0x54]
call fcn.00405310
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f754]
push eax
lea ecx, [ebp + 0x3c]
call fcn.0045eea0
mov bl, 0x1d
mov byte [ebp - 4], bl
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x5c0075
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov byte [ebp - 0x22], 0
mov edx, dword [esi + 0x148]
mov eax, edx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5c0090
sub eax, edi
je 0x5c015c
push 0x5c
push edx
call fcn.00623330
add esp, 8
mov edi, eax
test edi, edi
je 0x5c00b3
inc edi
jmp 0x5c00b9
mov edi, dword [esi + 0x148]
push 0xa
push str.chromeexe
push edi
call fcn.006255fd
add esp, 0xc
test eax, eax
je 0x5c0113
push str.idmbrbtn.dll
push edi
call fcn.006226ae
add esp, 8
test eax, eax
jne 0x5c015c
mov eax, dword [esi + 0x1bc]
push str.Chrome
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x5c015c
mov eax, dword [esi + 0x1bc]
push str.Firefox
push eax
call fcn.00622230
add esp, 8
test eax, eax
jne 0x5c015c
mov byte [ebp - 0x22], 1
push 0x685f44
lea ecx, [ebp + 0x54]
call fcn.00405310
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f758]
push edx
lea ecx, [ebp + 0x48]
call fcn.0045eea0
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp + 0x48]
test eax, eax
jne 0x5c0148
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0x54]
call fcn.00405310
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x48]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x3c]
call fcn.00401210
mov eax, dword [ebp + 0x54]
xor ebx, ebx
cmp eax, ebx
jne 0x5c0174
lea eax, [ebp + 0x58]
mov ecx, dword [0x75dd28]
push ecx
push eax
lea edx, [ebp - 0x2c]
push edx
call fcn.00402a60
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [esi + 0x20]
push ebx
mov eax, dword [esi + 0x4f8]
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [esi + 0xacc]
push eax
call fcn.005cbb70
lea edi, [esi + 0x52c]
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, edi
call fcn.0056ad10
mov edx, dword [esi + 0xacc]
push edx
push str._r_ndownlResult___ld_r_n
lea eax, [ebp + 0x60]
push eax
call fcn.00623a6b
add esp, 0xc
lea ecx, [ebp + 0x60]
push ecx
mov ecx, edi
call fcn.0056ad10
mov eax, dword [esi + 0xacc]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x5c01f6.30019
movzx edx, byte [eax + 0x5c0ac4]
jmp dword [edx*4 + 0x5c0ab8]
mov eax, dword [esi + 0x158]
or eax, dword [esi + 0x15c]
je case.0x5c01f6.30019
cmp dword [esi + 8], ebx
jne case.0x5c01f6.30019
cmp dword [esi + 4], ebx
jne case.0x5c01f6.30019
cmp byte [ebp + 0xbc], 0
je case.0x5c01f6.30019
cmp dword [esi + 0x14], ebx
je case.0x5c01f6.30019
cmp dword [esi + 0x4f8], ebx
je case.0x5c01f6.30019
cmp byte [esi + 0x1a5], 0
jne case.0x5c01f6.30019
cmp byte [ebp - 0x21], 0
jne case.0x5c01f6.30019
push ebx
mov ecx, esi
call fcn.005b72d0
mov ecx, dword [esi + 0x4f8]
push ecx
push 0x1463
push 0x111
mov edx, dword [esi + 0x14]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [esi + 0x371], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.00402560
jmp 0x5bf3cc
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x2c], ebx
xor eax, eax
mov word [ebp + 0x28], ax
mov byte [ebp - 4], 0x20
lea ecx, [ebp + 0x24]
push ecx
mov ecx, esi
call fcn.005b9000
cmp dword [esi + 8], ebx
jne 0x5c0742
cmp dword [esi + 4], ebx
jne 0x5c0742
cmp byte [ebp + 0xbc], 0
je 0x5c0742
cmp dword [esi + 0x4f8], ebx
je 0x5c0742
cmp dword [esi + 0x524], ebx
jne 0x5c0742
mov eax, dword [esi + 0xacc]
cmp eax, 0x7540
je 0x5c0742
cmp eax, 0x7553
jne 0x5c0336
mov eax, dword [ebp + 0x24]
cmp eax, ebx
mov ecx, eax
jne 0x5c02eb
lea ecx, [ebp + 0x28]
mov eax, dword [ebp + 0x54]
cmp eax, ebx
jne 0x5c02f5
lea eax, [ebp + 0x58]
push 0x10024
push ecx
push eax
push ebx
call fcn.00473ae0
add esp, 0x10
cmp eax, 6
jne 0x5c0742
mov eax, dword [esi + 0x14]
cmp eax, ebx
je 0x5c0742
mov edx, dword [esi + 0x4f8]
push edx
push 0x13bb
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x5c0742
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x38], ebx
xor eax, eax
mov word [ebp + 0x34], ax
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x5c035f
mov ecx, dword [0x75dd28]
push ecx
push eax
lea ecx, [ebp + 0x30]
call fcn.00401970
jmp 0x5c0372
mov eax, dword [ebp + 0x24]
cmp eax, ebx
jne 0x5c0369
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x30]
call fcn.004017e0
cmp dword [esi + 0xacc], 0x80090326
jne 0x5c0430
cmp dword [0x75dbac], ebx
jne 0x5c0430
xor edi, edi
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x44], edi
xor edx, edx
mov word [ebp + 0x40], dx
mov bl, 0x22
mov byte [ebp - 4], bl
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [0x75f6e8]
push ecx
lea ecx, [ebp + 0x48]
call fcn.0045eea0
mov byte [ebp - 4], 0x23
mov eax, dword [ebp + 0x48]
cmp eax, edi
mov ecx, eax
jne 0x5c03c6
lea ecx, [ebp + 0x4c]
mov eax, dword [ebp + 0x54]
cmp eax, edi
jne 0x5c03d0
lea eax, [ebp + 0x58]
push edi
push ecx
push eax
push str._s_r_n_r_n_r_n_s
lea ecx, [ebp + 0x3c]
call fcn.00402310
mov eax, dword [ebp + 0x30]
cmp eax, edi
mov ecx, eax
jne 0x5c03ec
lea ecx, [ebp + 0x34]
mov eax, dword [ebp + 0x3c]
cmp eax, edi
jne 0x5c03f6
lea eax, [ebp + 0x40]
push 0x50034
push ecx
push eax
push edi
call fcn.00473ae0
add esp, 0x10
cmp eax, 6
jne 0x5c0419
push str.https:__www.internetdownloadmanager.com_support_xp_https_problems.html
push edi
call fcn.004b4570
add esp, 8
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x48]
call fcn.00401210
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 0x3c]
jmp 0x5c072f
cmp byte [esi + 0x371], 0
je 0x5c0571
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x50], ebx
xor edx, edx
mov word [ebp + 0x4c], dx
mov byte [ebp - 4], 0x24
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [0x75f644]
push ecx
lea ecx, [ebp + 0x3c]
call fcn.0045eea0
mov byte [ebp - 4], 0x25
mov eax, dword [ebp + 0x3c]
cmp eax, ebx
mov ecx, eax
jne 0x5c0472
lea ecx, [ebp + 0x40]
mov eax, dword [ebp + 0x54]
cmp eax, ebx
jne 0x5c047c
lea eax, [ebp + 0x58]
push ebx
push ecx
push eax
push str._s_r_n_r_n_r_n_s
lea ecx, [ebp + 0x48]
call fcn.00402310
mov eax, dword [ebp + 0x30]
cmp eax, ebx
mov ecx, eax
jne 0x5c0498
lea ecx, [ebp + 0x34]
mov eax, dword [ebp + 0x48]
cmp eax, ebx
jne 0x5c04a2
lea eax, [ebp + 0x4c]
push 0x50034
push ecx
push eax
push ebx
call fcn.00473ae0
add esp, 0x10
cmp eax, 6
jne 0x5c0560
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov bl, 0x26
mov byte [ebp - 4], bl
push 0
lea edx, [ebp - 0x14]
push edx
lea edi, [esi + 0x20]
mov ecx, edi
call fcn.005928c0
lea ecx, [ebp - 0x18]
call fcn.004024f0
mov byte [ebp - 4], 0x27
mov eax, dword [edi]
test eax, eax
mov ecx, eax
jne 0x5c04f1
mov ecx, 0x67997c
cmp byte [esi + 0xab8], 0
jne 0x5c0507
cmp dword [esi + 0x95c], 0
jne 0x5c0507
xor eax, eax
jmp 0x5c050c
mov eax, 1
push ecx
push eax
xor eax, eax
cmp byte [esi + 0x1ab], al
setne al
push eax
mov ecx, dword [esi + 0x1dc]
push ecx
mov edx, dword [esi + 0xacc]
push edx
push str.https:__www.internetdownloadmanager.com_register_new_faq_How_to_configure_Firewalls_for_IDM.html
push str._s_err_ldocr_ldv6_ldproxy_ldsrv_s
lea eax, [ebp - 0x18]
push eax
call fcn.00402f60
mov ecx, dword [ebp - 0x18]
push ecx
push 0
call fcn.004b4570
add esp, 0x28
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x18]
call fcn.00402560
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x14]
call fcn.00402560
mov byte [ebp - 4], 0x24
lea ecx, [ebp + 0x3c]
call fcn.00401210
jmp 0x5c0728
mov eax, dword [ebp + 0x54]
cmp eax, ebx
jne 0x5c057b
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0x48]
call fcn.00402170
mov bl, 0x28
mov byte [ebp - 4], bl
cmp byte [ebp - 0x1a], 0
je 0x5c0688
cmp byte [ebp - 0x21], 0
je 0x5c05a2
mov byte [ebp - 0x1a], 0
jmp 0x5c0688
mov dword [ebp - 0x30], 1
test dword [esi + 0x17c], 0x100000
jne 0x5c0688
mov edx, dword [esi + 0x148]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5c05c4
sub eax, edi
je 0x5c0688
push 0x5c
push edx
call fcn.00623330
add esp, 8
mov edi, eax
test edi, edi
je 0x5c05e7
inc edi
jmp 0x5c05ed
mov edi, dword [esi + 0x148]
push 0xb
push str.firefox.exe
push edi
call fcn.006282cf
add esp, 0xc
test eax, eax
je 0x5c063d
push 0xa
push str.chrome.exe
push edi
call fcn.006255fd
add esp, 0xc
test eax, eax
je 0x5c063d
push 0xa
push str.msedge.exe
push edi
call fcn.006255fd
add esp, 0xc
test eax, eax
je 0x5c063d
push 0x13
push str.MicrosoftEdgeCP.exe
push edi
call fcn.006255fd
add esp, 0xc
test eax, eax
jne 0x5c0688
mov dword [ebp - 0x30], 0
mov edx, dword [0x75dd28]
push edx
mov eax, dword [0x75f74c]
push eax
lea ecx, [ebp + 0x3c]
call fcn.0045eea0
mov byte [ebp - 4], 0x29
push str._r_n_r_n
lea ecx, [ebp + 0x48]
call fcn.00405310
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x5c0674
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x48]
call fcn.00405310
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x3c]
call fcn.00401210
mov eax, dword [esi + 0xacc]
cmp eax, 0xffffffff
je 0x5c069f
cmp eax, 0x753b
mov eax, 0x30
jne 0x5c06a4
mov eax, 0x10
mov edx, dword [ebp + 0x30]
test edx, edx
jne 0x5c06ae
lea edx, [ebp + 0x34]
mov ecx, dword [ebp + 0x48]
test ecx, ecx
jne 0x5c06b8
lea ecx, [ebp + 0x4c]
or eax, 0x50000
push eax
push edx
push ecx
push 0
call fcn.00473ae0
add esp, 0x10
cmp byte [ebp - 0x1a], 0
je 0x5c0714
cmp byte [esi + 0x37f], 0
je 0x5c06f9
cmp dword [esi + 0x4ac], 0
jne 0x5c06f1
mov ecx, dword [esi + 0x4f8]
push ecx
lea ecx, [esi + 0x20]
call fcn.005cf670
lea ecx, [esi + 0x20]
call fcn.005d2960
mov edx, dword [esi + 0x4f8]
push edx
push 0x14cd
push 0x111
mov eax, dword [esi + 0x14]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [esi + 0xacc], 0x757a
jne 0x5c0728
lea ecx, [esi + 0x20]
call fcn.005cd9c0
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 0x48]
call fcn.00401210
mov byte [ebp - 4], 0x20
lea ecx, [ebp + 0x30]
call fcn.00401210
xor ebx, ebx
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x5c08a4
cmp eax, 3
jne 0x5c0762
cmp dword [esi + 0xacc], 0x756e
je 0x5c080a
cmp byte [ebp + 0xbc], 0
je 0x5c080a
cmp dword [esi + 0xacc], 0xffffffff
jne 0x5c079f
push 0x50010
push 0x678d88
mov ecx, dword [0x75ec18]
push ecx
push ebx
call fcn.00473680
add esp, 0x10
push ebx
mov ecx, esi
call fcn.005b72d0
jmp 0x5c08ab
push 0x678d88
lea ecx, [ebp + 0x48]
call fcn.004070a0
mov byte [ebp - 4], 0x2a
mov eax, dword [esi + 0xacc]
cmp eax, 0xffffffff
je 0x5c07c7
cmp eax, 0x753b
mov eax, 0x30
jne 0x5c07cc
mov eax, 0x10
mov edx, dword [ebp + 0x48]
cmp edx, ebx
jne 0x5c07d6
lea edx, [ebp + 0x4c]
mov ecx, dword [ebp + 0x54]
cmp ecx, ebx
jne 0x5c07e0
lea ecx, [ebp + 0x58]
or eax, 0x50000
push eax
push edx
push ecx
push ebx
call fcn.00473ae0
add esp, 0x10
mov byte [ebp - 4], 0x20
lea ecx, [ebp + 0x48]
call fcn.00401210
push ebx
mov ecx, esi
call fcn.005b72d0
jmp 0x5c08ab
cmp eax, 4
jne 0x5c089a
cmp byte [esi + 0x371], 0
je 0x5c089a
mov byte [esi + 0x371], 0
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x18]
push eax
push ebx
push ebx
push str.bHDIShwd
mov ecx, dword [0x75dbe4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x5c089a
mov dword [ebp - 0x18], 1
push 4
lea edx, [ebp - 0x18]
push edx
push 4
push ebx
push str.bHDIShwd
mov eax, dword [0x75dbe4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call fcn.00411530
push eax
lea ecx, [ebp - 0xc8]
call fcn.0052cf40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xc8]
call fcn.005f6e33
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xc8]
call fcn.0052cfc0
push ebx
mov ecx, esi
call fcn.005b72d0
jmp 0x5c08ab
mov byte [esi + 0x371], 0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x24]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x54]
call fcn.00401210
mov dword [ebp - 4], 0xffffffff
jmp 0x5bf3d8