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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ae9c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x310
push ebx
mov ebx, ecx
push esi
xor esi, esi
mov eax, dword [ebx + 0x740]
push edi
cmp eax, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], ebx
mov dword [ebp - 4], esi
je 0x53bb7f
mov eax, dword [ebx + 0x400]
push esi
push esi
push eax
lea ecx, [ebx + 0x20]
call fcn.0054a990
mov dword [ebx + 0x740], esi
cmp dword [ebx + 0x87c], esi
je 0x53bb91
mov dword [ebx + 0x86c], 0x7540
cmp dword [ebx + 0x86c], 0x7573
jne 0x53bbc4
push 3
mov ecx, ebx
call fcn.0053e5c0
lea ecx, [ebx + 0x42c]
call fcn.004fbc90
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.0053e5c0
cmp dword [ebx + 0x87c], esi
je 0x53bc16
mov ecx, dword [ebx + 0x400]
mov edx, dword [0x6644f4]
mov eax, dword [ebx + 0x86c]
push 1
push ecx
push edx
push eax
lea ecx, [ebx + 0x20]
call fcn.00547b00
push str.Cancel_by_user._n
lea ecx, [ebx + 0x42c]
call fcn.004fbba0
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 + 0x86c]
mov byte [ebp - 4], 1
cmp eax, 0x754c
jg 0x53c14a
je 0x53c136
cmp eax, 0x274c
jg 0x53bf84
je 0x53c079
cmp eax, 0x271d
jg 0x53bee4
je 0x53bec8
cmp eax, 0xffffffff
jg 0x53be13
je 0x53bc99
cmp eax, 0x80090304
je case.0x53c160.30030
cmp eax, 0x8009030e
je case.0x53c160.30030
cmp eax, 0xfffffffc
je case.0x53c160.30030
cmp dword [ebx + 0x44], 4
jne 0x53c96c
mov eax, dword [0x664744]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
cmp dword [ebx + 0x44], 4
jne 0x53bcb4
mov ecx, dword [0x664744]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
lea edx, [ebx + 0x430]
push esi
push edx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov word [ebp - 0x24], si
call fcn.00402600
lea eax, [ebx + 0x8a0]
push esi
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.00402600
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x26
cmp eax, esi
mov edi, eax
jne 0x53bcfc
lea edi, [ebp - 0x3c]
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x53bd06
lea esi, [ebp - 0x24]
mov eax, dword [0x664750]
test eax, eax
je 0x53bdfb
test esi, esi
je 0x53bdfb
test edi, edi
je 0x53bdfb
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], ecx
mov word [ebp - 0x30], cx
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402600
push esi
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x27
call fcn.004039b0
push edi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x28
call fcn.004039b0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x29
call fcn.00401070
mov esi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x7c]
call fcn.00403a60
lea ecx, [ebp - 0x64]
mov edi, eax
call fcn.00403a60
push eax
call fcn.0056ca2e
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.0056ca2e
mov ecx, dword [ebp + 0xc]
add esi, ecx
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x53bdd7
lea ecx, [ebp - 0x64]
call fcn.00403a60
lea ecx, [ebp - 0x7c]
mov edi, eax
call fcn.00403a60
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00403a60
push edi
push esi
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0056ca74
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0056ca2e
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x28
call fcn.00401070
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x27
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x26
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x25
call fcn.00401070
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
jmp 0x53ca4d
cmp eax, 5
je 0x53beb3
cmp eax, 0x17
je 0x53be9f
cmp eax, 0x70
jne case.0x53c160.30047
mov edx, dword [0x65ec1c]
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], 0x21
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov ecx, dword [ebp - 0x48]
lea edx, [ebp + 0xc]
push ecx
push 0x638fa8
push edx
call fcn.0058148b
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 + 0x42c]
call fcn.004fbdd0
mov edx, dword [0x664744]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 1
call fcn.005886c0
jmp 0x53ca52
mov eax, dword [0x663c50]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x6640c4]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x664738]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov byte [ebx + 0x2db], 1
jmp 0x53ca52
add eax, 0xffffd8da
cmp eax, 0x20
ja case.0x53c160.30047
xor ecx, ecx
mov cl, byte [eax + 0x53d5d0]
jmp dword [ecx*4 + 0x53d5b0]
mov edx, dword [0x664744]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov byte [ebx + 0x2db], 1
jmp 0x53ca52
mov eax, dword [0x664734]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x664730]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x664720]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x66471c]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x664718]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
cmp eax, 0x7539
jg 0x53c08e
je case.0x53c160.30030
cmp eax, 0x2af9
jg 0x53c000
je 0x53bfe4
sub eax, 0x274d
je 0x53bfda
sub eax, 3
je 0x53bfc6
dec eax
jne case.0x53c160.30047
mov edx, dword [0x664724]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x66472c]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x66473c]
push esi
push ecx
jmp 0x53bfec
mov edx, dword [0x664728]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov byte [ebx + 0x2db], 1
jmp 0x53ca52
cmp eax, 0x2afc
jg 0x53c063
je 0x53c013
cmp eax, 0x2afa
jmp 0x53bc79
mov eax, dword [0x65ec1c]
mov dword [ebp + 0xc], eax
mov ecx, dword [0x663fc8]
mov edx, dword [0x664524]
push ecx
push edx
lea eax, [ebp + 0xc]
push str._s_r_n_r_n_s
push eax
mov byte [ebp - 4], 0x17
call fcn.0058148b
mov ecx, dword [ebp + 0xc]
add esp, 0x10
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
lea ecx, [ebp + 0xc]
mov byte [ebx + 0x2db], 1
mov byte [ebp - 4], 1
call fcn.005886c0
jmp 0x53ca52
cmp eax, 0x7532
jl case.0x53c160.30047
cmp eax, 0x7533
jg case.0x53c160.30047
mov edx, dword [0x6644d8]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
add eax, 0xffff8ac5
cmp eax, 0x10
ja case.0x53c160.30047
xor ecx, ecx
mov cl, byte [eax + 0x53d610]
jmp dword [ecx*4 + 0x53d5f4]
push str.Cancel_by_user._n
lea ecx, [ebx + 0x42c]
call fcn.004fbba0
push 2
mov ecx, ebx
call fcn.0053e5c0
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 edx, dword [0x664714]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x664740]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x664748]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x6646ac]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x6646a8]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
add eax, 0xffff8ab3
cmp eax, 0x30
ja case.0x53c160.30047
xor ecx, ecx
mov cl, byte [eax + 0x53d670]
jmp dword [ecx*4 + 0x53d624]
cmp dword [ebx + 8], esi
jne 0x53c485
cmp dword [ebx + 4], esi
jne 0x53c485
mov al, byte [ebp + 8]
test al, al
je 0x53c485
mov eax, dword [ebx + 0x428]
cmp eax, esi
je 0x53c1af
mov edx, dword [eax + 0xc]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x53c1af
mov eax, dword [ebx + 0x428]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.00584fbf
mov edi, eax
jmp 0x53c1b1
xor edi, edi
mov eax, dword [ebx + 0x44]
cmp eax, 1
jne 0x53c1c0
mov eax, 0x639014
jmp 0x53c1e6
cmp eax, 4
jne 0x53c1cc
mov eax, 0x639000
jmp 0x53c1e6
cmp eax, 2
jne 0x53c1d8
mov eax, 0x639008
jmp 0x53c1e6
cmp eax, esi
mov eax, 0x638ff0
je 0x53c1e6
mov eax, 0x638ff8
push eax
lea ecx, [ebp - 0x48]
call fcn.0058872e
mov eax, dword [ebx + 0x194]
mov edx, dword [ebx + 0x20]
lea esi, [ebx + 0x20]
push edi
push eax
mov eax, dword [ebp - 0x48]
push edx
push eax
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 2
call fcn.004aca20
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 3
call fcn.00584656
cmp eax, 1
jne 0x53c3e1
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x53c243
push 0
push 0x138a
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xbc]
push ecx
push edx
mov ecx, ebx
mov dword [ebx + 0x14], 0
call fcn.0053e8b0
mov eax, dword [ebx + 0x400]
test eax, eax
je 0x53c2c9
mov ecx, dword [ebx + 0x3c0]
test ecx, ecx
jne 0x53c27b
push eax
mov ecx, esi
call fcn.0054cc00
mov edx, dword [ebx + 0x3c0]
test edx, edx
je 0x53c2c9
mov esi, dword [ebp - 0xbc]
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 eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x3c0]
push 0
push eax
push str.EncPassword
push str.Password
push ecx
call fcn.0053f850
add esp, 0x14
mov edx, dword [0x65ec1c]
mov dword [ebp + 8], edx
mov eax, dword [ebx + 0x86c]
mov ecx, dword [0x664758]
push eax
push ecx
lea edx, [ebp + 8]
push str._r_n_s_r_ndownlResult___ldsetting_new_login_r_n
push edx
mov byte [ebp - 4], 4
call fcn.0058148b
mov eax, dword [ebp + 8]
add esp, 0x10
lea ecx, [ebx + 0x42c]
push eax
call fcn.004fbba0
mov al, byte [ebp + 0xc]
test al, al
je 0x53c32e
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x53c32e
mov eax, dword [ebx + 0x400]
test eax, eax
je 0x53c32e
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.005886c0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.005886c0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xc
call fcn.005886c0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0xb
call fcn.005886c0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xa
call fcn.005886c0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 9
call fcn.005886c0
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 8
call fcn.00590393
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 7
call fcn.005903f9
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 6
call fcn.005904e3
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 5
call fcn.0059035b
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 2
call fcn.00584297
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.005886c0
jmp case.0x53c160.30043
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x16
call fcn.005886c0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x15
call fcn.005886c0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x14
call fcn.005886c0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x13
call fcn.005886c0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x12
call fcn.005886c0
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x11
call fcn.00590393
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x10
call fcn.005903f9
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0xf
call fcn.005904e3
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xe
call fcn.0059035b
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 2
call fcn.00584297
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.005886c0
xor esi, esi
mov ecx, dword [0x664758]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x664754]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x66450c]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x6646a4]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x66475c]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x664540]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x6644ec]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x664498]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x6644e4]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [0x664450]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x6644dc]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov ecx, dword [ebx + 0x414]
mov edx, dword [ebx + 0x410]
lea eax, [ebp - 0xa8]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.00540f80
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x30], si
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
mov byte [ebp - 4], 0x18
call fcn.00544010
lea ecx, [ebp - 0xa8]
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.00402600
mov edx, dword [0x65ec1c]
mov dword [ebp - 0x48], edx
mov eax, dword [ebx + 0x414]
mov ecx, dword [ebx + 0x410]
push eax
push ecx
lea edx, [ebp - 0x48]
push str._I64d
push edx
mov byte [ebp - 4], 0x1a
call fcn.0058148b
mov eax, dword [ebp - 0x48]
add esp, 0x10
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], esi
push esi
push eax
mov dword [ebp - 0x20], esi
mov word [ebp - 0x24], si
call fcn.00402600
mov ecx, dword [0x664520]
push str._I64d
push ecx
mov byte [ebp - 4], 0x1b
call fcn.0056c6b0
add esp, 8
test eax, eax
je 0x53c623
push 0x638fa8
push str._I64d
jmp 0x53c645
mov edx, dword [0x664520]
push 0x63b0d8
push edx
call fcn.0056c6b0
add esp, 8
test eax, eax
je 0x53c64f
push 0x638fa8
push 0x63b0d8
mov ecx, 0x664520
call fcn.00580eae
mov eax, dword [ebx + 0x54]
cmp eax, esi
je 0x53c65b
mov dword [ebp + 0xc], eax
jmp 0x53c661
add ebx, 0x58
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp - 0x28]
cmp eax, esi
mov ebx, eax
jne 0x53c66d
lea ebx, [ebp - 0x24]
mov eax, dword [ebp - 0x40]
test eax, eax
mov esi, eax
jne 0x53c679
lea esi, [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x53c683
lea eax, [ebp - 0x30]
mov edi, dword [0x664520]
test edi, edi
je 0x53c813
test eax, eax
je 0x53c813
test esi, esi
je 0x53c813
test ebx, ebx
je 0x53c813
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x53c813
push eax
lea ecx, [ebp - 0x64]
call fcn.004039b0
push esi
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1c
call fcn.004039b0
push ebx
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x1d
call fcn.004039b0
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x1e
call fcn.004039b0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1f
call fcn.00401070
push edi
lea ecx, [ebp - 0x7c]
call fcn.004039e0
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x20
test eax, eax
je 0x53c712
mov dword [ebp + 0xc], eax
jmp 0x53c718
lea ecx, [ebp - 0x60]
mov dword [ebp + 0xc], ecx
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x54]
call fcn.00403a60
lea ecx, [ebp - 0x8c]
mov edi, eax
call fcn.00403a60
lea ecx, [ebp - 0x98]
mov ebx, eax
call fcn.00403a60
push eax
call fcn.0056ca2e
mov edx, eax
push ebx
mov ebx, edx
call fcn.0056ca2e
push edi
add ebx, eax
call fcn.0056ca2e
mov edx, dword [ebp + 0xc]
mov edi, eax
push edx
add edi, esi
call fcn.0056ca2e
add edi, ebx
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x53c7d1
lea ecx, [ebp - 0x98]
call fcn.00403a60
lea ecx, [ebp - 0x8c]
mov dword [ebp + 0xc], eax
call fcn.00403a60
lea ecx, [ebp - 0x54]
mov ebx, eax
call fcn.00403a60
lea ecx, [ebp - 0x64]
mov edi, eax
call fcn.00403a60
lea ecx, [ebp - 0x7c]
mov esi, eax
call fcn.00403a60
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1c]
push ecx
push ebx
push edi
push esi
push eax
push edx
call fcn.0056ca74
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0056ca2e
add esp, 0x1c
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x1f
call fcn.00401070
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1e
call fcn.00401070
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x1d
call fcn.00401070
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1c
call fcn.00401070
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x1b
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1a
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x19
call fcn.005886c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
mov ebx, dword [ebp - 0x44]
jmp 0x53ca52
mov ecx, dword [0x66466c]
push esi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov edx, dword [0x663cac]
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
mov eax, dword [0x663c04]
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp 0x53ca52
lea edx, [ebx + 0x430]
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.00402600
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x22
cmp eax, esi
jne 0x53c8b1
lea eax, [ebp - 0x3c]
mov esi, dword [0x663fbc]
xor edi, edi
cmp esi, edi
je 0x53c960
cmp eax, edi
je 0x53c960
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x24], di
call fcn.00402e10
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x23
call fcn.00401070
push esi
lea ecx, [ebp - 0x54]
call fcn.004039e0
mov esi, dword [ebp - 0x4c]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x24
call fcn.00403a60
push eax
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x53c948
lea ecx, [ebp - 0x28]
call fcn.00403a60
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.00403a60
mov ecx, dword [ebp - 0x1c]
push esi
push eax
push ecx
call fcn.0056ca74
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056ca2e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x23
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.00401070
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
jmp 0x53ca4d
lea ecx, [ebx + 0x430]
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.00402600
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x2a
cmp eax, esi
jne 0x53c994
lea eax, [ebp - 0x3c]
mov esi, dword [0x66474c]
test esi, esi
je 0x53ca46
test eax, eax
je 0x53ca46
xor ecx, ecx
push eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x24], cx
lea ecx, [ebp - 0x28]
call fcn.00402e10
mov bl, 0x2b
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
lea ecx, [ebp - 0x54]
call fcn.004039e0
mov esi, dword [ebp - 0x4c]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2c
call fcn.00403a60
push eax
call fcn.0056ca2e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x53ca2c
lea ecx, [ebp - 0x28]
call fcn.00403a60
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.00403a60
push esi
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0056ca74
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0056ca2e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2a
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 0x53ca6c
push 0
push 0x13c7
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebx + 0x86c]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x53ca88.30020
xor edx, edx
mov dl, byte [eax + 0x53d6b0]
jmp dword [edx*4 + 0x53d6a4]
mov eax, dword [ebp - 0x44]
add eax, 0x140
mov ecx, dword [eax]
mov edx, dword [eax + 4]
or ecx, edx
je case.0x53ca88.30020
mov edx, 0x656ab0
test edx, edx
je 0x53cb3a
push edx
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53cb3a
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
je 0x53cad4
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x53cad6
xor esi, esi
push 0x656ab0
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x53cb3c
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cb13
push eax
push esi
call fcn.0056ca09
push 0x656ab0
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53cb21
push 0x656ab0
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x53cb3c
xor ebx, ebx
mov ecx, dword [0x663c04]
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.00402600
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x2d
cmp edi, ebx
jne 0x53cb68
lea edi, [ebp - 0x24]
cmp edi, ebx
je 0x53cbe1
push edi
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53cbe1
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cb89
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x53cb8b
xor esi, esi
push edi
call fcn.0056ca2e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x53cbe1
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cbc0
push eax
push esi
call fcn.0056ca09
push edi
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53cbca
push edi
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x53cbf1
xor ebx, ebx
mov esi, dword [ebp - 0x44]
mov cl, byte [esi + 0x173]
test cl, cl
jne 0x53cd75
mov eax, dword [esi + 0x148]
cmp eax, ebx
jle 0x53cc1d
mov edx, dword [esi + 0x14c]
sub edx, eax
cmp edx, 0x3c
jl 0x53cd60
mov eax, str._r_n_r_n
test eax, eax
je 0x53ccaf
push eax
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53ccaf
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cc4b
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x53cc4d
xor esi, esi
push str._r_n_r_n
call fcn.0056ca2e
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
call fcn.00584a5c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x53ccaf
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cc8a
push eax
push esi
call fcn.0056ca09
push str._r_n_r_n
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53cc98
push str._r_n_r_n
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [0x663be4]
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.00402600
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x31
cmp edi, ebx
jne 0x53ccdb
lea edi, [ebp - 0x24]
cmp edi, ebx
je 0x53cd54
push edi
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53cd54
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53ccfc
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x53ccfe
xor esi, esi
push edi
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x53cd54
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cd33
push eax
push esi
call fcn.0056ca09
push edi
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53cd3d
push edi
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
jmp 0x53cf1f
test cl, cl
jne 0x53cd75
mov ecx, dword [esi + 0x400]
push 1
push ecx
lea ecx, [esi + 0x20]
call fcn.0054a690
mov ecx, dword [esi + 0x414]
lea eax, [esi + 0x410]
cmp ecx, ebx
jl 0x53cda0
jg 0x53cd8b
cmp dword [eax], ebx
jbe 0x53cda0
mov edx, dword [0x663be0]
push ebx
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
jmp case.0x53ca88.30020
mov esi, dword [ebp - 0x44]
xor bl, bl
test byte [esi + 0x164], 0x70
je 0x53cdb0
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], 0x2e
call fcn.00544010
test bl, bl
je 0x53ceec
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 0x53cdf4
push edx
mov ecx, 0x663b00
call fcn.004e9a20
jmp 0x53ce02
mov ecx, dword [esi + 0x20]
push ecx
mov ecx, 0x663b00
call fcn.004e9ae0
mov eax, dword [esi + 0x114]
xor edi, edi
cmp eax, edi
jne 0x53ce14
lea eax, [esi + 0x118]
push eax
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53ce33
mov eax, dword [esi + 0x114]
cmp eax, edi
jne 0x53ce3d
lea eax, [esi + 0x118]
jmp 0x53ce3d
mov eax, dword [ebp - 0x34]
cmp eax, edi
jne 0x53ce3d
lea eax, [ebp - 0x30]
mov esi, dword [0x663d00]
cmp esi, edi
je 0x53cf18
cmp eax, edi
je 0x53cf18
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
call fcn.00402e10
mov bl, 0x2f
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
lea ecx, [ebp - 0x54]
call fcn.004039e0
mov esi, dword [ebp - 0x4c]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x30
call fcn.00403a60
push eax
call fcn.0056ca2e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x53ced3
lea ecx, [ebp - 0x40]
call fcn.00403a60
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.00403a60
push esi
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0056ca74
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0056ca2e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2e
call fcn.00401070
jmp 0x53cf18
mov al, byte [esi + 0x171]
test al, al
je 0x53cf09
mov al, byte [0x663774]
test al, al
jne 0x53cf09
mov edx, dword [0x663d04]
push edi
push edx
jmp 0x53cf10
mov eax, dword [0x663be0]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x34]
call fcn.00401070
mov esi, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [esi + 0x42c]
lea edi, [esi + 0x42c]
cmp eax, ebx
mov dword [ebp + 0xc], edi
je 0x53d136
mov ecx, str._r_n_r_n
test ecx, ecx
je 0x53cfd2
push ecx
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53cfd2
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x53cf6e
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x53cf70
xor esi, esi
push str._r_n_r_n
call fcn.0056ca2e
add eax, esi
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
mov esi, eax
add esp, 8
test esi, esi
je 0x53cfd2
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x53cfad
push eax
push esi
call fcn.0056ca09
push str._r_n_r_n
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53cfbb
push str._r_n_r_n
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, dword [0x6641dc]
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.00402600
mov edi, dword [ebp - 0x40]
mov bl, 0x32
cmp edi, esi
mov byte [ebp - 4], bl
jne 0x53d000
lea edi, [ebp - 0x3c]
cmp edi, esi
je 0x53d075
push edi
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53d075
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x53d01f
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
push edi
call fcn.0056ca2e
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
call fcn.00584a5c
mov esi, eax
add esp, 8
test esi, esi
je 0x53d075
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x53d054
push eax
push esi
call fcn.0056ca09
push edi
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53d05e
push edi
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
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.00402600
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x33
cmp edi, esi
jne 0x53d0a2
lea edi, [ebp - 0x24]
cmp edi, esi
je 0x53d117
push edi
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x53d117
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x53d0c1
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
push edi
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
mov esi, eax
add esp, 8
test esi, esi
je 0x53d117
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x53d0f6
push eax
push esi
call fcn.0056ca09
push edi
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x53d100
push edi
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
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 0x53d140
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x58]
call fcn.00588780
mov edx, dword [esi + 0x400]
mov eax, dword [ebp - 0x58]
push ebx
push edx
mov edx, dword [esi + 0x86c]
lea ecx, [esi + 0x20]
push eax
push edx
mov byte [ebp - 4], 0x34
mov dword [ebp + 0xc], ecx
call fcn.00547b00
mov eax, dword [ebp - 0x58]
mov ecx, edi
push eax
call fcn.004fbba0
mov ecx, dword [esi + 0x86c]
lea edx, [ebp - 0x248]
push ecx
push str._r_ndownlResult___ld_r_n
push edx
call fcn.0056d05a
add esp, 0xc
lea eax, [ebp - 0x248]
mov ecx, edi
push eax
call fcn.004fbba0
mov eax, dword [esi + 0x86c]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x53d1b7.30020
xor ecx, ecx
mov cl, byte [eax + 0x53d6f8]
jmp dword [ecx*4 + 0x53d6ec]
mov edx, dword [esi + 0x140]
mov eax, dword [esi + 0x144]
or edx, eax
je case.0x53d1b7.30020
cmp dword [esi + 8], ebx
jne case.0x53d1b7.30020
cmp dword [esi + 4], ebx
jne case.0x53d1b7.30020
mov al, byte [ebp + 8]
test al, al
je case.0x53d1b7.30020
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je case.0x53d1b7.30020
mov eax, dword [esi + 0x400]
cmp eax, ebx
je case.0x53d1b7.30020
mov dl, byte [esi + 0x173]
test dl, dl
jne case.0x53d1b7.30020
push eax
push 0x1463
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x58]
mov byte [esi + 0x2db], 0
mov byte [ebp - 4], 1
call fcn.005886c0
jmp case.0x53c160.30043
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x68], ebx
mov word [ebp - 0x6c], bx
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
mov byte [ebp - 4], 0x35
call fcn.00544010
cmp dword [esi + 8], ebx
jne 0x53d3ad
cmp dword [esi + 4], ebx
jne 0x53d3ad
mov al, byte [ebp + 8]
test al, al
je 0x53d3ad
cmp dword [esi + 0x400], ebx
je 0x53d3ad
cmp dword [esi + 0x86c], 0x7553
jne 0x53d2c5
mov ecx, dword [ebp - 0x70]
cmp ecx, ebx
jne 0x53d27c
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x53d286
lea eax, [ebp - 0x18]
push 0x10024
push ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x53d3ad
mov eax, dword [esi + 0x18]
cmp eax, ebx
je 0x53d3ad
mov ecx, dword [esi + 0x400]
push ecx
push 0x13bb
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x53d3ad
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], 0x36
cmp esi, ebx
je 0x53d331
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 0x53d344
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 0x53d344
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
mov ecx, eax
add esp, 4
cmp ecx, ebx
mov dword [ebp - 0x34], ecx
je 0x53d347
mov eax, dword [ebp - 0x2c]
push eax
push ecx
push 0xffffffffffffffff
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x2c], eax
jmp 0x53d344
mov eax, dword [ebp - 0x70]
cmp eax, ebx
jne 0x53d33b
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x34]
call fcn.00402e10
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x44]
mov eax, dword [esi + 0x86c]
cmp eax, 0xffffffff
je 0x53d361
cmp eax, 0x753b
mov eax, 0x30
jne 0x53d366
mov eax, 0x10
cmp ecx, ebx
mov edx, ecx
jne 0x53d36f
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
jne 0x53d379
lea ecx, [ebp - 0x18]
or eax, 0x50000
push eax
push edx
push ecx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [esi + 0x86c], 0x757a
jne 0x53d39c
mov ecx, dword [ebp + 0xc]
call fcn.00547f30
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x35
call fcn.00401070
mov esi, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x53d571
cmp eax, 3
jne 0x53d3cd
cmp dword [esi + 0x86c], 0x756e
je 0x53d4b4
mov cl, byte [ebp + 8]
test cl, cl
je 0x53d4b4
cmp dword [esi + 0x86c], 0xffffffff
jne 0x53d3fe
mov ecx, dword [0x6644f0]
push 0x50010
push str.Internet_Download_Manager
push ecx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x53d578
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 0x53d468
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x53d468
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 0x53d468
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
mov ecx, eax
add esp, 4
cmp ecx, ebx
mov dword [ebp - 0x34], ecx
je 0x53d46b
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 + 0x86c]
cmp eax, 0xffffffff
je 0x53d482
cmp eax, 0x753b
mov eax, 0x30
jne 0x53d487
mov eax, 0x10
cmp ecx, ebx
jne 0x53d48e
lea ecx, [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
cmp edx, ebx
jne 0x53d498
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 0x53d578
cmp eax, 4
jne 0x53d578
mov al, byte [esi + 0x2db]
test al, al
je 0x53d578
lea eax, [ebp + 0x10]
lea ecx, [ebp + 0xc]
push eax
push ecx
mov byte [esi + 0x2db], 0
mov edx, dword [0x663680]
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 0x53d578
mov ecx, dword [0x663680]
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.00584fbf
push eax
lea ecx, [ebp - 0x31c]
call fcn.004d3690
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0x37
call fcn.00584656
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x39
call fcn.004ac660
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x38
call fcn.0059035b
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0x35
call fcn.00584297
jmp 0x53d578
mov byte [esi + 0x2db], 0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x34
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.005886c0
jmp case.0x53c160.30043