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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58ef0e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2dc
push ebx
mov ebx, ecx
push esi
xor esi, esi
mov eax, dword [ebx + 0x5c4]
push edi
cmp eax, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], ebx
mov dword [ebp - 4], esi
je 0x51fc9f
mov eax, dword [ebx + 0x390]
push esi
push esi
push eax
lea ecx, [ebx + 0x20]
call fcn.0052cba0
mov dword [ebx + 0x5c4], esi
cmp dword [ebx + 0x700], esi
je 0x51fcb1
mov dword [ebx + 0x6f0], 0x7540
cmp dword [ebx + 0x6f0], 0x7573
jne 0x51fce4
push 3
mov ecx, ebx
call fcn.00522180
lea ecx, [ebx + 0x3b4]
call fcn.004ec1c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push esi
mov ecx, ebx
call fcn.00522180
cmp dword [ebx + 0x700], esi
je 0x51fd36
mov ecx, dword [ebx + 0x390]
mov edx, dword [0x63f2a8]
mov eax, dword [ebx + 0x6f0]
push 1
push ecx
push edx
push eax
lea ecx, [ebx + 0x20]
call fcn.0052aa10
push str.Cancel_by_user._n
lea ecx, [ebx + 0x3b4]
call fcn.004ec0d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], esi
mov word [ebp - 0x18], si
mov eax, dword [ebx + 0x6f0]
mov byte [ebp - 4], 1
cmp eax, 0x754c
jg 0x520393
je 0x52037e
cmp eax, 0x274c
jg 0x5201cd
je 0x5202c2
cmp eax, 0x271d
jg 0x520149
je 0x52013c
cmp eax, 0xffffffff
jg 0x520087
je 0x51ff27
cmp eax, 0x80090304
je case.0x5203a9.30030
cmp eax, 0x8009030e
je case.0x5203a9.30030
cmp eax, 0xfffffffc
je case.0x5203a9.30030
lea edx, [ebx + 0x3b8]
push esi
push edx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.004024c0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x24
cmp eax, esi
jne 0x51fdd3
lea eax, [ebp - 0x3c]
mov esi, dword [0x63f500]
xor ecx, ecx
cmp esi, ecx
je 0x51fe86
cmp eax, ecx
je 0x51fe86
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x24], cx
push eax
lea ecx, [ebp - 0x28]
call fcn.00402b60
mov bl, 0x25
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
lea ecx, [ebp - 0x58]
call fcn.00403500
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x26
call fcn.00403580
push eax
call fcn.0054e46e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.0056649c
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x51fe6c
lea ecx, [ebp - 0x28]
call fcn.00403580
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.00403580
mov ecx, dword [ebp - 0x1c]
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0054e46e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x24
call fcn.00401070
mov ebx, dword [ebp - 0x44]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.00401070
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x51feac
push 0
push 0x13c7
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebx + 0x6f0]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x51fec8.30020
xor ecx, ecx
mov cl, byte [eax + 0x5214ec]
jmp dword [ecx*4 + 0x5214e0]
mov edx, dword [ebp - 0x44]
mov ecx, dword [edx + 0x138]
lea eax, [edx + 0x138]
mov edx, dword [edx + 0x13c]
or ecx, edx
je case.0x51fec8.30020
mov edx, 0x631960
test edx, edx
je 0x520a81
push edx
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520a81
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
je 0x520a1b
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
jmp 0x520a1d
lea ecx, [ebx + 0x3b8]
push esi
push ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x30], si
call fcn.004024c0
lea edx, [ebx + 0x724]
push esi
push edx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.004024c0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x20
cmp eax, esi
mov edi, eax
jne 0x51ff6f
lea edi, [ebp - 0x3c]
mov esi, dword [ebp - 0x34]
test esi, esi
jne 0x51ff79
lea esi, [ebp - 0x30]
mov eax, dword [0x63f504]
test eax, eax
je 0x52006f
test esi, esi
je 0x52006f
test edi, edi
je 0x52006f
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x24], cx
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.004024c0
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x21
call fcn.004034d0
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x22
call fcn.004034d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x23
call fcn.00401070
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x58]
call fcn.00403580
lea ecx, [ebp - 0x74]
mov edi, eax
call fcn.00403580
push eax
call fcn.0054e46e
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.0054e46e
mov ecx, dword [ebp + 0xc]
add esi, ecx
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.0056649c
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52004b
lea ecx, [ebp - 0x74]
call fcn.00403580
lea ecx, [ebp - 0x58]
mov edi, eax
call fcn.00403580
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00403580
push edi
push esi
push eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0054e46e
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x22
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x21
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x20
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1f
call fcn.00401070
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x34]
jmp 0x51fe8d
cmp eax, 5
je 0x520127
cmp eax, 0x17
je 0x520113
cmp eax, 0x70
jne case.0x5203a9.30047
mov edx, dword [0x639ad4]
mov dword [ebp + 0xc], edx
push esi
lea eax, [ebp - 0x48]
push esi
push eax
push 0x400
push 0x70
push esi
push 0x1100
mov byte [ebp - 4], 0x1b
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov ecx, dword [ebp - 0x48]
lea edx, [ebp + 0xc]
push ecx
push 0x615e9c
push edx
call fcn.00562ecb
mov eax, dword [ebp - 0x48]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebx + 0x3b4]
call fcn.004ec300
mov edx, dword [0x63f4f8]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 1
call fcn.0056a100
jmp 0x51fe92
mov eax, dword [0x63e9e0]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63ee54]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f4ec]
push esi
push edx
jmp 0x520235
add eax, 0xffffd8d8
cmp eax, 0x1e
ja case.0x5203a9.30047
xor ecx, ecx
mov cl, byte [eax + 0x521544]
jmp dword [ecx*4 + 0x521528]
mov edx, dword [0x63f4e8]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f4e4]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63f4d4]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f4d0]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f4cc]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
cmp eax, 0x7539
jg 0x5202d7
je case.0x5203a9.30030
cmp eax, 0x2af9
jg 0x520249
je 0x52022d
sub eax, 0x274d
je 0x520224
sub eax, 3
je 0x52020f
dec eax
jne case.0x5203a9.30047
mov ecx, dword [0x63f4d8]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f4e0]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f4f0]
push esi
push eax
jmp 0x520235
mov ecx, dword [0x63f4dc]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
mov byte [ebx + 0x2ca], 1
jmp 0x51fe92
cmp eax, 0x2afc
jg 0x5202ac
je 0x52025c
cmp eax, 0x2afa
jmp 0x51fda5
mov edx, dword [0x639ad4]
mov dword [ebp + 0xc], edx
mov eax, dword [0x63ed58]
mov ecx, dword [0x63f2d8]
push eax
push ecx
lea edx, [ebp + 0xc]
push str._s_r_n_r_n_s
push edx
mov byte [ebp - 4], 0x17
call fcn.00562ecb
mov eax, dword [ebp + 0xc]
add esp, 0x10
lea ecx, [ebp - 0x1c]
push esi
push eax
call fcn.004024c0
lea ecx, [ebp + 0xc]
mov byte [ebx + 0x2ca], 1
mov byte [ebp - 4], 1
call fcn.0056a100
jmp 0x51fe92
cmp eax, 0x7532
jl case.0x5203a9.30047
cmp eax, 0x7533
jg case.0x5203a9.30047
mov ecx, dword [0x63f28c]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
add eax, 0xffff8ac5
cmp eax, 0x10
ja case.0x5203a9.30047
xor edx, edx
mov dl, byte [eax + 0x521580]
jmp dword [edx*4 + 0x521564]
push str.Cancel_by_user._n
lea ecx, [ebx + 0x3b4]
call fcn.004ec0d0
push 2
mov ecx, ebx
call fcn.00522180
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x63f4c8]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63f4f4]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f4fc]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f460]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63f45c]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
add eax, 0xffff8ab3
cmp eax, 0x2d
ja case.0x5203a9.30047
xor edx, edx
mov dl, byte [eax + 0x5215e0]
jmp dword [edx*4 + 0x521594]
cmp dword [ebx + 8], esi
jne 0x5206ae
cmp dword [ebx + 4], esi
jne 0x5206ae
mov al, byte [ebp + 8]
test al, al
je 0x5206ae
mov eax, dword [ebx + 0x3b0]
cmp eax, esi
je 0x5203f8
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5203f8
mov ecx, dword [ebx + 0x3b0]
mov edx, dword [ecx + 0xc]
push edx
call fcn.005669ff
mov esi, eax
jmp 0x5203fa
xor esi, esi
mov eax, dword [ebx + 0x44]
test eax, eax
jne 0x520408
mov eax, 0x615ee4
jmp 0x520423
cmp eax, 1
jne 0x520414
mov eax, 0x615f00
jmp 0x520423
cmp eax, 3
mov eax, 0x615eec
je 0x520423
mov eax, 0x615ef4
push eax
lea ecx, [ebp - 0x48]
call fcn.0056a16e
mov eax, dword [ebx + 0x188]
mov ecx, dword [ebp - 0x48]
lea edi, [ebx + 0x20]
push esi
push eax
mov byte [ebp - 4], 2
mov eax, dword [edi]
push eax
push ecx
lea ecx, [ebp - 0x1d4]
call fcn.004a1fc0
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 3
call fcn.00566096
cmp eax, 1
jne 0x520613
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x52047f
push 0
push 0x138a
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
push edx
push eax
mov ecx, ebx
mov dword [ebx + 0x14], 0
call fcn.00522450
mov eax, dword [ebx + 0x390]
test eax, eax
je 0x520505
mov ecx, dword [ebx + 0x350]
test ecx, ecx
jne 0x5204b7
push eax
mov ecx, edi
call fcn.0052e8c0
mov edx, dword [ebx + 0x350]
test edx, edx
je 0x520505
mov esi, dword [ebp - 0x88]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push esi
push 1
push eax
push str.User
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebx + 0x350]
push 0
push ecx
push str.EncPassword
push str.Password
push edx
call fcn.005233c0
add esp, 0x14
mov eax, dword [0x639ad4]
mov dword [ebp + 8], eax
mov ecx, dword [ebx + 0x6f0]
mov edx, dword [0x63f50c]
push ecx
push edx
lea eax, [ebp + 8]
push str._r_n_s_r_ndownlResult___ldsetting_new_login_r_n
push eax
mov byte [ebp - 4], 4
call fcn.00562ecb
mov ecx, dword [ebp + 8]
add esp, 0x10
push ecx
lea ecx, [ebx + 0x3b4]
call fcn.004ec0d0
mov al, byte [ebp + 0xc]
test al, al
je 0x520569
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x520569
mov eax, dword [ebx + 0x390]
test eax, eax
je 0x520569
push eax
push 0x1431
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 3
call fcn.0056a100
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xd
call fcn.0056a100
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xc
call fcn.0056a100
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xb
call fcn.0056a100
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xa
call fcn.0056a100
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 9
call fcn.0056a100
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 8
call fcn.00571dd3
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 7
call fcn.00571e3c
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 6
call fcn.00571f23
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 5
call fcn.00571d9b
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 2
call fcn.00565cd7
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.0056a100
jmp case.0x5203a9.30043
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x16
call fcn.0056a100
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x15
call fcn.0056a100
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x14
call fcn.0056a100
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x13
call fcn.0056a100
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x12
call fcn.0056a100
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x11
call fcn.00571dd3
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x10
call fcn.00571e3c
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0xf
call fcn.00571f23
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0xe
call fcn.00571d9b
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 2
call fcn.00565cd7
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.0056a100
xor esi, esi
mov edx, dword [0x63f50c]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f508]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63f2c0]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f458]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f510]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63f2f4]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f2a0]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f230]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63f298]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63f1e0]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f290]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [ebx + 0x3a4]
mov eax, dword [ebx + 0x3a0]
lea ecx, [ebp - 0x5c]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.00524a40
mov ecx, dword [0x63f2d4]
push esi
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov word [ebp - 0x24], si
call fcn.004024c0
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
lea edx, [ebp - 0x40]
mov ecx, ebx
push edx
mov byte [ebp - 4], 0x19
call fcn.00527930
lea eax, [ebp - 0x5c]
push esi
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x30], si
call fcn.004024c0
mov eax, dword [ebx + 0x54]
mov byte [ebp - 4], 0x1a
cmp eax, esi
je 0x520803
mov ebx, eax
jmp 0x520809
mov ecx, dword [ebp - 0x44]
lea ebx, [ecx + 0x58]
mov eax, dword [ebp - 0x34]
test eax, eax
mov edi, eax
jne 0x520815
lea edi, [ebp - 0x30]
mov esi, dword [ebp - 0x40]
test esi, esi
jne 0x52081f
lea esi, [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x520829
lea eax, [ebp - 0x24]
push eax
call fcn.0054e46e
mov edx, eax
push esi
mov esi, edx
call fcn.0054e46e
push edi
add esi, eax
call fcn.0054e46e
push ebx
add esi, eax
call fcn.0054e46e
add esi, eax
lea edx, [esi + esi + 0x40]
push edx
call fcn.0056649c
mov esi, eax
add esp, 0x14
test esi, esi
je 0x5208b9
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x54]
test eax, eax
mov edi, eax
jne 0x52086d
lea edi, [ebx + 0x58]
mov edx, dword [ebp - 0x34]
test edx, edx
jne 0x520877
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
test ecx, ecx
jne 0x520881
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x52088b
lea eax, [ebp - 0x24]
push edi
mov edi, dword [ebx + 0x3a4]
push edi
mov edi, dword [ebx + 0x3a0]
push edi
push edx
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea ecx, [ebp - 0x1c]
push esi
call fcn.00402b60
push esi
call fcn.005664c5
add esp, 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401070
mov ebx, dword [ebp - 0x44]
jmp 0x51fe92
mov eax, dword [0x63f420]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov ecx, dword [0x63ea3c]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov edx, dword [0x63e994]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
mov eax, dword [0x63f4f8]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp 0x51fe92
lea ecx, [ebx + 0x3b8]
push esi
push ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.004024c0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x1c
cmp eax, esi
jne 0x52095f
lea eax, [ebp - 0x3c]
mov esi, dword [0x63ed4c]
xor edi, edi
cmp esi, edi
je 0x520a0f
cmp eax, edi
je 0x520a0f
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x24], di
call fcn.00402b60
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1d
call fcn.00401070
push esi
lea ecx, [ebp - 0x58]
call fcn.00403500
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1e
call fcn.00403580
push eax
call fcn.0054e46e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.0056649c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x5209f7
lea ecx, [ebp - 0x28]
call fcn.00403580
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.00403580
push esi
push eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0054e46e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1d
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
call fcn.00401070
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
jmp 0x51fe8d
xor esi, esi
push 0x631960
call fcn.0054e46e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.0056649c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x520a83
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520a5a
push eax
push esi
call fcn.0054e449
push 0x631960
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x520a68
push 0x631960
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x520a83
xor ebx, ebx
mov ecx, dword [0x63e994]
push ebx
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x24], bx
call fcn.004024c0
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x27
cmp edi, ebx
jne 0x520aaf
lea edi, [ebp - 0x24]
cmp edi, ebx
je 0x520b28
push edi
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520b28
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520ad0
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
jmp 0x520ad2
xor esi, esi
push edi
call fcn.0054e46e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.0056649c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x520b28
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520b07
push eax
push esi
call fcn.0054e449
push edi
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x520b11
push edi
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x520b38
xor ebx, ebx
mov esi, dword [ebp - 0x44]
mov cl, byte [esi + 0x168]
test cl, cl
jne 0x520cbc
mov eax, dword [esi + 0x140]
cmp eax, ebx
jle 0x520b64
mov edx, dword [esi + 0x144]
sub edx, eax
cmp edx, 0x3c
jl 0x520ca7
mov eax, str._r_n_r_n
test eax, eax
je 0x520bf6
push eax
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520bf6
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520b92
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
jmp 0x520b94
xor esi, esi
push str._r_n_r_n
call fcn.0054e46e
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
call fcn.0056649c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x520bf6
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520bd1
push eax
push esi
call fcn.0054e449
push str._r_n_r_n
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x520bdf
push str._r_n_r_n
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [0x63e974]
push ebx
push edx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x24], bx
call fcn.004024c0
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x2b
cmp edi, ebx
jne 0x520c22
lea edi, [ebp - 0x24]
cmp edi, ebx
je 0x520c9b
push edi
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520c9b
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520c43
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
jmp 0x520c45
xor esi, esi
push edi
call fcn.0054e46e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.0056649c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x520c9b
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520c7a
push eax
push esi
call fcn.0054e449
push edi
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x520c84
push edi
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
jmp 0x520e67
test cl, cl
jne 0x520cbc
mov ecx, dword [esi + 0x390]
push 1
push ecx
lea ecx, [esi + 0x20]
call fcn.0052c8a0
mov ecx, dword [esi + 0x3a4]
lea eax, [esi + 0x3a0]
cmp ecx, ebx
jl 0x520ce7
jg 0x520cd2
cmp dword [eax], ebx
jbe 0x520ce7
mov edx, dword [0x63e970]
push ebx
push edx
lea ecx, [ebp - 0x1c]
call fcn.004024c0
jmp case.0x51fec8.30020
mov esi, dword [ebp - 0x44]
xor bl, bl
test byte [esi + 0x15c], 0x70
je 0x520cf7
mov bl, 1
xor edi, edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x30], di
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
mov byte [ebp - 4], 0x28
call fcn.00527930
test bl, bl
je 0x520e34
mov edx, dword [esi + 0xe8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x520d3b
push edx
mov ecx, 0x63e938
call fcn.004df330
jmp 0x520d49
mov ecx, dword [esi + 0x20]
push ecx
mov ecx, 0x63e938
call fcn.004df3f0
mov eax, dword [esi + 0x110]
xor edi, edi
cmp eax, edi
jne 0x520d5b
lea eax, [esi + 0x114]
push eax
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520d7a
mov eax, dword [esi + 0x110]
cmp eax, edi
jne 0x520d84
lea eax, [esi + 0x114]
jmp 0x520d84
mov eax, dword [ebp - 0x34]
cmp eax, edi
jne 0x520d84
lea eax, [ebp - 0x30]
mov esi, dword [0x63ea90]
cmp esi, edi
je 0x520e60
cmp eax, edi
je 0x520e60
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
call fcn.00402b60
mov bl, 0x29
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
lea ecx, [ebp - 0x58]
call fcn.00403500
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2a
call fcn.00403580
push eax
call fcn.0054e46e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.0056649c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x520e1b
lea ecx, [ebp - 0x40]
call fcn.00403580
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.00403580
push esi
push eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0054e46e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x28
call fcn.00401070
jmp 0x520e60
mov al, byte [esi + 0x166]
test al, al
je 0x520e51
mov al, byte [0x63e5fc]
test al, al
jne 0x520e51
mov edx, dword [0x63ea94]
push edi
push edx
jmp 0x520e58
mov eax, dword [0x63e970]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.004024c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x34]
call fcn.00401070
mov esi, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [esi + 0x3b4]
lea edi, [esi + 0x3b4]
cmp eax, ebx
mov dword [ebp + 0xc], edi
je 0x52107e
mov ecx, str._r_n_r_n
test ecx, ecx
je 0x520f1a
push ecx
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520f1a
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x520eb6
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
jmp 0x520eb8
xor esi, esi
push str._r_n_r_n
call fcn.0054e46e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.0056649c
mov esi, eax
add esp, 8
test esi, esi
je 0x520f1a
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x520ef5
push eax
push esi
call fcn.0054e449
push str._r_n_r_n
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x520f03
push str._r_n_r_n
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, dword [0x63ef6c]
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.004024c0
mov edi, dword [ebp - 0x40]
mov bl, 0x2c
cmp edi, esi
mov byte [ebp - 4], bl
jne 0x520f48
lea edi, [ebp - 0x3c]
cmp edi, esi
je 0x520fbd
push edi
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x520fbd
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x520f67
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
push edi
call fcn.0054e46e
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
call fcn.0056649c
mov esi, eax
add esp, 8
test esi, esi
je 0x520fbd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x520f9c
push eax
push esi
call fcn.0054e449
push edi
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x520fa6
push edi
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 0xc]
xor esi, esi
push esi
lea ecx, [ebp - 0x28]
mov eax, dword [edx]
mov dword [ebp - 0x28], esi
push eax
mov dword [ebp - 0x20], esi
mov word [ebp - 0x24], si
call fcn.004024c0
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x2d
cmp edi, esi
jne 0x520fea
lea edi, [ebp - 0x24]
cmp edi, esi
je 0x52105f
push edi
call fcn.0054e46e
add esp, 4
test eax, eax
je 0x52105f
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x521009
push eax
call fcn.0054e46e
add esp, 4
mov esi, eax
push edi
call fcn.0054e46e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.0056649c
mov esi, eax
add esp, 8
test esi, esi
je 0x52105f
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x52103e
push eax
push esi
call fcn.0054e449
push edi
push esi
call fcn.0054e41f
add esp, 0x10
jmp 0x521048
push edi
push esi
call fcn.0054e449
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0054e46e
add esp, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.00401070
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x521088
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0056a1c0
mov ecx, dword [esi + 0x390]
mov edx, dword [ebp - 0x4c]
mov eax, dword [esi + 0x6f0]
push ebx
push ecx
push edx
push eax
lea ecx, [esi + 0x20]
mov byte [ebp - 4], 0x2e
call fcn.0052aa10
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, edi
call fcn.004ec0d0
mov edx, dword [esi + 0x6f0]
lea eax, [ebp - 0x214]
push edx
push str._r_ndownlResult___ld_r_n
push eax
call fcn.0054ea2a
add esp, 0xc
lea ecx, [ebp - 0x214]
push ecx
mov ecx, edi
call fcn.004ec0d0
mov eax, dword [esi + 0x6f0]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x5210fc.30020
xor edx, edx
mov dl, byte [eax + 0x52161c]
jmp dword [edx*4 + 0x521610]
mov eax, dword [esi + 0x138]
mov ecx, dword [esi + 0x13c]
or eax, ecx
je case.0x5210fc.30020
cmp dword [esi + 8], ebx
jne case.0x5210fc.30020
cmp dword [esi + 4], ebx
jne case.0x5210fc.30020
mov al, byte [ebp + 8]
test al, al
je case.0x5210fc.30020
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je case.0x5210fc.30020
mov eax, dword [esi + 0x390]
cmp eax, ebx
je case.0x5210fc.30020
mov dl, byte [esi + 0x168]
test dl, dl
jne case.0x5210fc.30020
push eax
push 0x1463
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x4c]
mov byte [esi + 0x2ca], 0
mov byte [ebp - 4], 1
call fcn.0056a100
jmp case.0x5203a9.30043
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x60], ebx
mov word [ebp - 0x64], bx
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2f
push ecx
mov ecx, esi
call fcn.00527930
cmp dword [esi + 8], ebx
jne 0x5212de
cmp dword [esi + 4], ebx
jne 0x5212de
mov al, byte [ebp + 8]
test al, al
je 0x5212de
cmp dword [esi + 0x390], ebx
je 0x5212de
cmp dword [esi + 0x6f0], 0x7553
jne 0x52120a
mov ecx, dword [ebp - 0x68]
cmp ecx, ebx
jne 0x5211c1
lea ecx, [ebp - 0x64]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x5211cb
lea eax, [ebp - 0x18]
push 0x10024
push ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x5212de
mov eax, dword [esi + 0x18]
cmp eax, ebx
je 0x5212de
mov edx, dword [esi + 0x390]
push edx
push 0x13bb
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x5212de
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov word [ebp - 0x30], bx
mov esi, dword [ebp + 0x10]
mov byte [ebp - 4], 0x30
cmp esi, ebx
je 0x521276
lea ecx, [ebp - 0x34]
call fcn.00401070
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x521289
push ebx
push ebx
push 0xffffffffffffffff
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
mov dword [ebp - 0x2c], eax
je 0x521289
lea eax, [eax + eax + 2]
push eax
call fcn.0056649c
mov ecx, eax
add esp, 4
cmp ecx, ebx
mov dword [ebp - 0x34], ecx
je 0x52128c
mov edx, dword [ebp - 0x2c]
push edx
push ecx
push 0xffffffffffffffff
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x2c], eax
jmp 0x521289
mov eax, dword [ebp - 0x68]
cmp eax, ebx
jne 0x521280
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x34]
call fcn.00402b60
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x6f0]
cmp eax, 0xffffffff
je 0x5212a6
cmp eax, 0x753b
mov eax, 0x30
jne 0x5212ab
mov eax, 0x10
cmp ecx, ebx
mov edx, ecx
jne 0x5212b4
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
jne 0x5212be
lea ecx, [ebp - 0x18]
or eax, 0x50000
push eax
push edx
push ecx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x2f
call fcn.00401070
mov esi, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x5214a2
cmp eax, 3
jne 0x5212fe
cmp dword [esi + 0x6f0], 0x756e
je 0x5213e5
mov cl, byte [ebp + 8]
test cl, cl
je 0x5213e5
cmp dword [esi + 0x6f0], 0xffffffff
jne 0x52132f
mov ecx, dword [0x63f2a4]
push 0x50010
push str.Internet_Download_Manager
push ecx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x5214a9
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov word [ebp - 0x30], bx
call fcn.00401070
mov edx, str.Internet_Download_Manager
test edx, edx
je 0x521399
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x521399
push ebx
push ebx
push 0xffffffffffffffff
push edx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
mov dword [ebp - 0x2c], eax
je 0x521399
lea eax, [eax + eax + 2]
push eax
call fcn.0056649c
mov ecx, eax
add esp, 4
cmp ecx, ebx
mov dword [ebp - 0x34], ecx
je 0x52139c
mov edx, dword [ebp - 0x2c]
push edx
push ecx
push 0xffffffffffffffff
push str.Internet_Download_Manager
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [esi + 0x6f0]
cmp eax, 0xffffffff
je 0x5213b3
cmp eax, 0x753b
mov eax, 0x30
jne 0x5213b8
mov eax, 0x10
cmp ecx, ebx
jne 0x5213bf
lea ecx, [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
cmp edx, ebx
jne 0x5213c9
lea edx, [ebp - 0x18]
or eax, 0x50000
push eax
push ecx
push edx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x34]
call fcn.00401070
jmp 0x5214a9
cmp eax, 4
jne 0x5214a9
mov al, byte [esi + 0x2ca]
test al, al
je 0x5214a9
lea eax, [ebp + 0x10]
lea ecx, [ebp + 0xc]
push eax
push ecx
mov byte [esi + 0x2ca], 0
mov edx, dword [0x63e518]
push ebx
push ebx
push str.bHDIShwd
push edx
mov dword [ebp + 0x10], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x5214a9
mov ecx, dword [0x63e518]
lea eax, [ebp + 0xc]
push 4
push eax
push 4
push ebx
push str.bHDIShwd
push ecx
mov dword [ebp + 0xc], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.005669ff
push eax
lea ecx, [ebp - 0x2e8]
call fcn.004c97a0
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x31
call fcn.00566096
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x33
call fcn.004a1c00
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0x32
call fcn.00571d9b
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x2f
call fcn.00565cd7
jmp 0x5214a9
mov byte [esi + 0x2ca], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2e
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0056a100
jmp case.0x5203a9.30043