Function at 0x564250
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x624398
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 0x31e0]
push esi
lea esi, [ebx + 0x31e0]
push edi
xor eax, eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], eax
mov eax, dword [ebx]
push 0x1e
push ecx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
call dword [eax + 0x18]
mov edi, eax
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x5642c3
lea ecx, [eax + 0x28]
call fcn.00545ab0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp edi, 0x2751
je 0x5642d3
cmp edi, 0x2743
jne 0x564339
mov eax, dword [ebx + 0xb0]
test dword [eax + 0x14c], 0x400000
jne 0x564339
mov dl, byte [eax + 0x167]
push esi
test dl, dl
sete dl
mov byte [eax + 0x167], dl
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov eax, dword [esi]
mov edx, dword [ebx]
push 0x1e
push eax
mov ecx, ebx
call dword [edx + 0x18]
mov edi, eax
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x564339
lea ecx, [eax + 0x28]
call fcn.00545ab0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test edi, edi
je 0x5643b8
mov dword [ebp - 0x24], 0
push edi
mov ecx, ebx
call fcn.00548f40
test eax, eax
jne 0x56439f
mov eax, dword [ebp - 0x24]
inc eax
cmp eax, 5
mov dword [ebp - 0x24], eax
jg 0x56439f
mov edx, dword [ebx]
push esi
mov ecx, ebx
call dword [edx + 0x14]
mov ecx, dword [esi]
mov eax, dword [ebx]
push 0x1e
push ecx
mov ecx, ebx
call dword [eax + 0x18]
mov edi, eax
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x564344
lea ecx, [eax + 0x28]
call fcn.00545ab0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test edi, edi
je 0x5643b8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebx + 0x3230], 1
mov eax, dword [ebx + 0x184]
test eax, eax
je 0x56448c
mov al, byte [eax + 0x150]
test al, al
mov byte [ebp - 0x12], al
je 0x564490
mov ecx, ebx
call fcn.00563fa0
mov edi, eax
test edi, edi
je 0x564490
mov ecx, dword [ebx + 0x184]
mov al, byte [ecx + 0x151]
test al, al
jne 0x5644a6
cmp edi, 0x7559
jne 0x5644a6
cmp dword [ecx + 0x14c], 5
jne 0x5644a6
mov dl, byte [ecx + 0x152]
test dl, dl
jne 0x5644a6
mov dl, byte [ecx + 0x153]
test dl, dl
jne 0x5644a6
mov byte [ecx + 0x152], 1
mov edx, dword [ebx + 0x184]
mov ecx, ebx
mov byte [edx + 0x153], 1
mov eax, dword [ebx + 0x184]
mov dword [eax + 0x14c], 4
mov edx, dword [ebx]
call dword [edx + 0x1c]
mov eax, dword [ebx]
push esi
mov ecx, ebx
call dword [eax + 0x14]
test eax, eax
jne 0x565d77
mov ecx, dword [ebp + 8]
push ecx
mov ecx, ebx
call fcn.00564250
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [ebp - 0x12], 0
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x564525
mov eax, dword [eax + 0x10]
jmp 0x56452e
mov edx, dword [ecx + 0x14c]
cmp edx, 5
jne 0x5644e8
cmp edi, 0x7580
jne 0x5644e8
cmp byte [ecx + 0x152], 0
jne 0x5644e8
mov byte [ecx + 0x152], 1
mov edx, dword [ebx + 0x184]
mov ecx, ebx
mov dword [edx + 0x14c], 4
mov eax, dword [ebx]
call dword [eax + 0x1c]
mov edx, dword [ebx]
push esi
jmp 0x565a93
test al, al
jne 0x564510
cmp edx, 4
jne 0x564510
mov al, byte [ecx + 0x152]
test al, al
je 0x564510
mov al, byte [ecx + 0x153]
test al, al
je 0x564510
mov dword [ecx + 0x14c], edx
mov edi, 0x7559
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x564609
mov edx, dword [ebx + 0x184]
cmp dword [edx], 0
je 0x564593
push 1
mov ecx, ebx
call fcn.00566f00
test eax, eax
jne 0x565d77
cmp dword [ebx + 0x3238], 0xc8
je 0x564589
mov eax, dword [ebx + 0x3220]
mov ecx, dword [ebx + 0x9c]
push eax
call fcn.0054f740
mov eax, 0x756d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebx + 0x8c], 0x10
mov ecx, dword [ebx + 0x335c]
lea esi, [ebx + 0x3308]
push esi
push ecx
mov ecx, ebx
call fcn.005c2f30
test eax, eax
jne 0x565d77
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x5645be
mov eax, dword [eax]
jmp 0x5645c6
mov edx, dword [ebx + 0xb0]
mov eax, dword [edx]
mov edx, dword [ebx + 0x31e0]
lea ecx, [ebx + 0x3318]
lea edi, [ebx + 0x3310]
push 1
push ecx
push edi
push eax
push esi
push edx
mov ecx, ebx
call fcn.005c33a0
test eax, eax
je 0x564601
cmp eax, 0x757e
jne 0x565d77
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
jmp 0x565a8a
push edi
mov ecx, ebx
call fcn.005c3fd0
mov esi, dword [ebp + 8]
test esi, esi
je 0x564619
mov ecx, ebx
call fcn.00566090
jmp 0x564622
mov edx, dword [ebx]
push 0
mov ecx, ebx
call dword [edx + 0x20]
test eax, eax
jne 0x565d77
push esi
mov ecx, ebx
call fcn.00565d90
mov esi, eax
test esi, esi
jne 0x5646e2
cmp dword [ebx + 0x3238], 0xce
jne 0x5646e2
mov edi, dword [ebx + 0x3244]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5646e2
mov eax, dword [ebx + 0xb4]
test eax, eax
jne 0x564681
mov eax, dword [ebx + 0xb0]
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005fa8c7
or dword [ebp - 0x28], 1
mov eax, dword [eax]
push 0x6dc5e8
push eax
call fcn.005de210
mov edi, eax
mov al, byte [ebp - 0x28]
add esp, 8
test al, 1
je 0x5646a2
lea ecx, [ebp - 0x2c]
call fcn.005fa859
test edi, edi
je 0x5646e2
cmp dword [ebx + 0x31dc], 2
je 0x5646e2
mov ecx, dword [ebx + 0x31e8]
test ecx, ecx
je 0x5646c0
mov edx, dword [ecx]
push 2
call dword [edx + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebx + 0x31dc], 2
call dword [eax + 0x1c]
push 0x6dc5d4
mov ecx, ebx
call fcn.005474d0
jmp 0x565a8a
cmp dword [ebx + 0x3238], 0xc8
jne 0x564745
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
or ecx, eax
jne 0x564745
mov eax, dword [ebx + 0x54]
xor edi, edi
cmp eax, edi
jg 0x564747
jl 0x564708
cmp dword [ebx + 0x50], edi
ja 0x564747
mov al, byte [ebx + 0x31ed]
test al, al
jne 0x564747
mov eax, dword [ebx + 0x3258]
mov ecx, dword [ebx + 0x325c]
mov edx, eax
or edx, ecx
je 0x564747
mov edx, dword [ebx + 0x31f8]
add eax, 1
adc ecx, edi
cmp eax, edx
jne 0x564747
cmp ecx, dword [ebx + 0x31fc]
jne 0x564747
mov esi, 0x7542
jmp 0x56495d
xor edi, edi
cmp esi, edi
je 0x564c55
cmp esi, 0x7563
jne 0x56476c
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp esi, 0x7581
jne 0x564789
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp esi, 0x7566
jne 0x56495d
mov eax, dword [ebx + 0xb0]
push 0x6dc360
mov ecx, dword [eax]
push ecx
call fcn.005de210
add esp, 8
test eax, eax
jne 0x5647cd
mov edx, dword [ebx + 0xb0]
push 0x6dc5c8
mov eax, dword [edx]
push eax
call fcn.005de210
add esp, 8
test eax, eax
je 0x56495d
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ecx + 8]
cmp eax, edi
je 0x56495d
mov edx, dword [ecx + 0x14c]
test dh, 1
je 0x56495d
push 0x2e
push eax
call fcn.005df0e0
add esp, 8
cmp eax, edi
je 0x56495d
push 0x6c0204
push eax
call fcn.005de4a0
add esp, 8
test eax, eax
jne 0x56495d
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebx + 0xb0]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
mov eax, dword [edx + 8]
push eax
push 0x6bc090
push ecx
call fcn.005f368b
mov edx, dword [ebp - 0x28]
add esp, 0xc
push 0x2e
push edx
call fcn.005df0e0
add esp, 8
cmp eax, edi
je 0x564951
mov byte [eax], 0
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push 0x6dc5c0
push edx
mov byte [ebp - 4], 2
call fcn.005f368b
mov eax, dword [ebx + 0xb0]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
add esp, 0xc
mov eax, dword [eax + 8]
test eax, eax
je 0x564894
push eax
call fcn.005f6c85
add esp, 4
mov al, byte [0x6ec0c8]
test esi, esi
mov byte [ebp - 0x12], al
jne 0x5648a3
lea esi, [ebp - 0x12]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005f6c5c
mov ecx, dword [ebp - 0x2c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 8], edx
jne 0x5648cf
push 0x6beca0
call fcn.005b69d0
jmp 0x5648ee
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
push 0x6dc5ac
mov ecx, ebx
call fcn.005474d0
mov edx, dword [ebx]
lea eax, [ebx + 0x31e0]
push eax
mov ecx, ebx
call dword [edx + 0x14]
mov esi, eax
test esi, esi
je 0x564942
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.005fa859
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.00564250
mov esi, eax
jmp 0x564915
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.005fa859
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebx + 0xb0]
lea edx, [ebp - 0x18]
push edi
push edx
mov byte [ebp - 4], 3
call fcn.00579ad0
mov eax, dword [ebp - 0x18]
push eax
call fcn.00497fa0
add esp, 4
cmp esi, 0x7565
je 0x56499a
cmp esi, 0x7542
jne 0x564afd
mov ecx, dword [ebx + 0xb0]
mov dl, byte [ecx + 0x2ff]
test dl, dl
jne 0x564a76
test al, al
je 0x564a76
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
push 0x6dc598
mov ecx, ebx
call fcn.005474d0
cmp esi, 0x7542
jne 0x564a06
mov eax, dword [ebx + 0xb4]
cmp eax, edi
je 0x5649e0
mov eax, dword [eax + 0x10]
jmp 0x5649e9
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x24]
cmp eax, 2
jne 0x564a06
mov eax, dword [ebx + 0xb0]
cmp dword [eax + 0x158], edi
jne 0x564a06
mov dword [eax + 0x158], 1
mov edx, dword [ebx]
lea eax, [ebx + 0x31e0]
push eax
mov ecx, ebx
call dword [edx + 0x14]
mov edi, eax
test edi, edi
je 0x564a3b
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp + 8]
push ecx
mov byte [eax + 0x2ff], 1
mov ecx, ebx
call fcn.00564250
mov esi, eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp esi, 0x7542
jne 0x564afd
cmp dword [ebp + 8], edi
jne 0x564afd
cmp dword [ebx + 0x54], edi
jl 0x564b11
jg 0x564a93
cmp dword [ebx + 0x50], edi
jbe 0x564afd
cmp dword [ecx + 0x2d8], edi
je 0x564afd
mov edx, dword [ebx + 0x31e8]
mov eax, dword [edx + 0xb8]
push eax
push edi
call fcn.005bd1c0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
push 0x6dc584
mov ecx, ebx
call fcn.005474d0
mov edx, dword [ebx]
lea eax, [ebx + 0x31e0]
push eax
mov ecx, ebx
call dword [edx + 0x14]
mov edi, eax
test edi, edi
je 0x564af6
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
jmp 0x564a4c
cmp dword [ebx + 0x54], edi
jg 0x564bfe
jl 0x564b11
cmp dword [ebx + 0x50], edi
ja 0x564bfe
mov al, byte [ebx + 0x31ed]
test al, al
jne 0x564bfe
cmp esi, 0x7565
je 0x564b4b
cmp esi, 0x7566
je 0x564b4b
cmp esi, 0x7542
je 0x564b4b
cmp esi, 0x756e
je 0x564b4b
cmp esi, 0x755e
jne 0x564bfe
mov eax, dword [ebx + 0xb0]
mov byte [ebx + 0x31ec], 1
mov byte [ebx + 0x31ed], 1
mov cl, byte [eax + 0x316]
test cl, cl
je 0x564b70
mov byte [eax + 0x318], 1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
push 0x6dc570
mov ecx, ebx
call fcn.005474d0
cmp esi, 0x7542
jne 0x564bc0
mov eax, dword [ebx + 0xb4]
cmp eax, edi
je 0x564b9a
mov eax, dword [eax + 0x10]
jmp 0x564ba3
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x564bc0
mov eax, dword [ebx + 0xb0]
cmp dword [eax + 0x158], edi
jne 0x564bc0
mov dword [eax + 0x158], 1
mov edx, dword [ebx]
lea eax, [ebx + 0x31e0]
push eax
mov ecx, ebx
call dword [edx + 0x14]
mov edi, eax
test edi, edi
je 0x564bf5
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
push eax
jmp 0x564a4c
mov ecx, dword [ebx + 0x3200]
cmp ecx, edi
je 0x564a55
call fcn.00594e60
test al, al
jne 0x564a55
mov eax, dword [ebx + 0xb0]
mov cl, byte [eax + 0x317]
test cl, cl
je 0x564a55
mov cl, byte [eax + 0x318]
test cl, cl
jne 0x564a55
mov cl, byte [eax + 0x319]
test cl, cl
jne 0x564a55
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005fa859
cmp dword [ebx + 0x3200], edi
je 0x5653d9
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ecx + 0xbc]
cmp eax, edi
jne 0x564c7d
cmp esi, edi
je 0x5653d9
cmp eax, edi
je 0x564c93
push 0x6bf954
push eax
call fcn.005de4a0
add esp, 8
test eax, eax
sete byte [ebp - 0x11]
jmp 0x564c97
mov byte [ebp - 0x11], 0
mov ecx, dword [ebx + 0x3200]
call fcn.00594e60
test al, al
jne 0x5653d9
mov eax, dword [ebx + 0xb0]
mov cl, byte [eax + 0x317]
test cl, cl
je 0x5653d9
mov cl, byte [eax + 0x318]
test cl, cl
jne 0x5653d9
mov cl, byte [eax + 0x319]
test cl, cl
jne 0x5653d9
mov al, byte [ebp - 0x11]
test al, al
jne 0x564ce9
cmp esi, edi
je 0x5653d9
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x28]
push eax
lea edx, [ebp - 0x34]
push ecx
lea eax, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x20]
push ecx
mov ecx, dword [ebx + 0x3200]
lea eax, [ebp - 0x24]
push edx
push eax
mov byte [ebp - 4], 9
call fcn.00594d80
test al, al
je 0x565391
mov ecx, dword [ebx + 0xb0]
mov byte [ecx + 0x318], 1
mov edx, dword [ebx + 0xb0]
mov byte [edx + 0x316], 1
mov eax, dword [ebx + 0xb0]
mov byte [eax + 0x319], 1
mov ecx, dword [ebx + 0x3200]
call fcn.00594d50
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x24], ecx
mov eax, dword [ebx + 0xb0]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebx + 0xb0]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], esi
mov eax, dword [esi]
test eax, eax
je 0x564da6
push eax
call fcn.005f6c85
add esp, 4
mov edi, dword [ebp - 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005f6c5c
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi], edx
jne 0x564e2f
push 0x6c1ab8
mov ecx, esi
call fcn.005b69d0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.005fa859
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.005fa859
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.005fa859
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.005fa859
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, 0x753b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x18c], 0
mov edi, dword [ebx + 0xb0]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 4]
test eax, eax
je 0x564e78
push eax
call fcn.005f6c85
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x564e83
mov dword [edi + 4], edx
jmp 0x564ee2
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x564e99
mov eax, dword [ebp - 0x2c]
mov dword [eax + 4], edx
jmp 0x564ee2
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005f6c5c
mov ecx, dword [ebp - 0x2c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 4], edx
jne 0x564ec3
push 0x6c1a8c
jmp 0x564dca
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xb0]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax + 8]
test eax, eax
je 0x564efe
push eax
call fcn.005f6c85
add esp, 4
mov cl, byte [0x6ec0c8]
test esi, esi
mov byte [ebp - 0x12], cl
jne 0x564f0e
lea esi, [ebp - 0x12]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005f6c5c
mov ecx, dword [ebp - 0x3c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 8], edx
jne 0x564f38
push 0x6beca0
jmp 0x564dca
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx + 0xb0]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x564f73
push eax
call fcn.005f6c85
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x564f7e
mov dword [edi + 0x1c], edx
jmp 0x564fdf
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x564f94
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x1c], edx
jmp 0x564fdf
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005f6c5c
mov ecx, dword [ebp - 0x2c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 0x1c], edx
jne 0x564fc0
push 0x6c1ae4
call fcn.005b69d0
jmp 0x564fdf
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xb0]
push 0x6ec0c8
add ecx, 0xc4
call fcn.005fa9e2
mov ecx, dword [ebx + 0xb0]
mov byte [ecx + 0x305], 0
mov esi, dword [ebx + 0xb0]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x565018
push eax
call fcn.005f6c85
add esp, 4
mov edx, 0x6ec0c8
test edx, edx
jne 0x565026
mov dword [esi + 0x18], edx
jmp 0x56508c
mov edi, 0x6ec0c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x56503c
mov dword [esi + 0x18], eax
jmp 0x56508c
mov edi, 0x6ec0c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005f6c5c
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi + 0x18], edx
jne 0x56506a
push 0x6c1a64
mov ecx, esi
call fcn.005b69d0
jmp 0x56508c
mov edi, 0x6ec0c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x31e8]
test eax, eax
je 0x5650d2
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x5650d2
mov ecx, dword [ebx + 0xb0]
mov edx, dword [ecx + 0x418]
test edx, edx
jne 0x5650b6
push eax
call fcn.005bd090
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ecx + 0x418]
test eax, eax
je 0x5650d2
push 0x6c48c4
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x5650dc
lea eax, [ebp - 0x48]
push eax
call fcn.005de123
add esp, 4
test eax, eax
je 0x56514a
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x5650f3
lea eax, [ebp - 0x48]
mov ecx, dword [ebx + 0xb0]
push eax
call fcn.005bb0c0
mov eax, dword [ebx + 0x31e8]
test eax, eax
je 0x56514a
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x56511f
mov ecx, dword [ebx + 0xb0]
push eax
call fcn.005b92d0
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x56514a
mov edx, dword [eax + 0xb8]
mov eax, dword [ecx]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edx
push 0x13c9
push 0x111
push eax
call esi
jmp 0x565150
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0xb0]
push 0x6ec0c8
mov byte [ecx + 0x186], 1
mov ecx, dword [ebx + 0xb0]
add ecx, 0x170
call fcn.005fa9e2
mov edx, dword [ebx + 0xb0]
mov byte [edx + 0x16c], 0
mov eax, dword [ebx + 0xb0]
mov byte [eax + 0x30b], 0
mov ecx, dword [ebx + 0xb0]
push ecx
mov byte [ebx + 0xc8], 0
call fcn.00501c10
add esp, 4
mov ecx, ebx
call fcn.0055f220
mov eax, dword [ebx + 0xac]
test eax, eax
jne 0x56523f
mov edx, dword [ebx + 0xa0]
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
je 0x5651d5
push 0
push 0x1478
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x31e8]
test eax, eax
je 0x56523f
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x56523f
mov ecx, dword [ebx + 0xb0]
push 0
push 0
push eax
call fcn.005b8b30
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x56521c
mov edx, dword [eax + 0xb8]
mov eax, dword [ecx]
push edx
push 0x1395
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x56523f
mov edx, dword [eax + 0xb8]
mov eax, dword [ecx]
push edx
push 0x1395
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x31d8]
test eax, eax
je 0x565268
push eax
mov byte [ebp - 4], 0xa
call fcn.005f6c85
add esp, 4
jmp 0x565261
mov dword [ebp - 4], 9
mov ecx, dword [ebx + 0xb0]
mov dword [ebx + 0x31d8], 0
call fcn.005bb690
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
push 0x6dc55c
mov ecx, ebx
call fcn.005474d0
mov eax, dword [ebx]
lea ecx, [ebx + 0x31e0]
push ecx
mov ecx, ebx
call dword [eax + 0x14]
mov esi, eax
test esi, esi
jne 0x565334
mov edx, dword [ebp + 8]
mov ecx, ebx
push edx
call fcn.00564250
mov esi, eax
test esi, esi
jne 0x565334
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x565334
push 0x6bf954
push eax
call fcn.005de4a0
add esp, 8
test eax, eax
je 0x565334
mov eax, dword [ebx + 0x31e8]
test eax, eax
je 0x565334
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x565334
mov ecx, dword [ebx + 0xb0]
mov edx, dword [ecx + 0x418]
test edx, edx
jne 0x565305
push eax
call fcn.005bd090
mov ebx, dword [ebx + 0xb0]
mov eax, dword [ebx + 0x418]
test eax, eax
je 0x565334
lea ecx, [ebp + 8]
push 4
push ecx
push 4
push 0
mov edx, eax
push 0x6dc550
push edx
mov dword [ebp + 8], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.005fa859
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.005fa859
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.005fa859
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.005fa859
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.005fa859
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.005fa859
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.005fa859
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.005fa859
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.005fa859
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.005fa859
mov edx, dword [ebx + 0x3238]
cmp edx, 0xc8
jne 0x565403
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
or eax, ecx
jne 0x565403
mov ecx, dword [ebx + 0x31f8]
mov eax, dword [ebx + 0x31fc]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], eax
cmp edx, 0xce
jne 0x5654fe
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
or ecx, eax
jne 0x56544d
cmp dword [ebx + 0x54], edi
jg 0x56544d
jl 0x565425
cmp dword [ebx + 0x50], edi
ja 0x56544d
mov eax, dword [ebx + 0x31f8]
mov ecx, dword [ebx + 0x31fc]
mov esi, eax
or esi, ecx
je 0x56544d
mov esi, dword [ebx + 0x3258]
mov edi, dword [ebx + 0x325c]
or esi, edi
jne 0x56544d
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
cmp edx, 0xce
jne 0x5654fe
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
or edx, eax
jne 0x5654fe
mov edi, dword [ebx + 0x54]
mov eax, dword [ebx + 0x50]
test edi, edi
jg 0x5654ec
jl 0x565477
test eax, eax
ja 0x5654a7
mov esi, dword [ebx + 0x3258]
mov ecx, dword [ebx + 0x325c]
mov eax, esi
or eax, ecx
je 0x5654a7
mov eax, dword [ebx + 0x31fc]
mov edx, dword [ebx + 0x31f8]
cmp ecx, eax
jg 0x5654a7
jl 0x56549f
cmp esi, edx
jae 0x5654a7
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], eax
jmp 0x5654fe
test edi, edi
jg 0x5654ec
jl 0x5654b4
mov eax, dword [ebx + 0x50]
test eax, eax
ja 0x5654ec
mov edx, dword [ebx + 0x31f8]
mov edi, dword [ebx + 0x31fc]
mov ecx, edx
or ecx, edi
je 0x5654ec
mov esi, dword [ebx + 0x3258]
mov eax, edx
add eax, 1
mov ecx, edi
adc ecx, 0
cmp esi, eax
jne 0x5654ec
mov eax, dword [ebx + 0x325c]
cmp eax, ecx
jne 0x5654ec
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], edi
jmp 0x5654fe
mov ecx, dword [ebx + 0x3258]
mov edx, dword [ebx + 0x325c]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], edx
mov edx, dword [ebx + 0x3238]
cmp edx, 0xc8
je 0x565514
cmp edx, 0xce
jne 0x56553a
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
or eax, ecx
jne 0x56553a
mov eax, dword [ebx + 0x3274]
mov ecx, dword [ebx + 0x3270]
test eax, eax
jl 0x56553a
jg 0x565534
test ecx, ecx
jbe 0x56553a
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0xb0]
xor esi, esi
mov dword [ebp - 0x28], eax
cmp dword [eax + 0x2f8], esi
je 0x56558b
mov eax, dword [ebx + 0x31e8]
cmp eax, esi
je 0x56558b
cmp dword [eax + 0x40], esi
je 0x56558b
cmp edx, 0xc8
jne 0x565585
mov eax, dword [ebx + 0x31fc]
mov ecx, dword [ebx + 0x31f8]
cmp eax, esi
jl 0x565585
jg 0x56557a
cmp ecx, esi
jbe 0x565585
sub ecx, 1
sbb eax, esi
mov dword [ebx + 0x60], ecx
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x4c], esi
mov esi, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
mov ecx, esi
or ecx, eax
je 0x565671
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov edi, ecx
or edi, edx
je 0x565671
cmp ecx, esi
jne 0x5655c4
cmp edx, dword [ebx + 0x4c]
je 0x565671
mov esi, dword [eax + 0xc8]
mov edi, dword [eax + 0xcc]
or esi, edi
je 0x565671
cmp byte [ebx + 0x3240], 0
jne 0x565671
cmp dword [ebx + 0x3238], 0xce
jne 0x565627
mov edi, dword [ebx + 0x3258]
mov esi, dword [ebx + 0x325c]
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x565627
cmp esi, edx
jne 0x565627
mov edx, dword [ebx + 0x3260]
mov ecx, dword [ebx + 0x3264]
or edx, ecx
jne 0x565627
mov dword [ebx + 0x3260], edi
mov dword [ebx + 0x3264], esi
mov esi, dword [ebx + 0x3260]
mov ecx, dword [ebx + 0x3264]
mov edx, esi
or edx, ecx
je 0x56592c
mov edi, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov ecx, edi
mov dword [ebp - 0x3c], edx
sub ecx, 1
sbb edx, 0
cmp esi, ecx
jne 0x56592c
cmp dword [ebx + 0x3264], edx
jne 0x56592c
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x4c], eax
mov al, byte [ebx + 0x3240]
test al, al
jne 0x565b43
mov eax, dword [ebp - 0x28]
mov esi, dword [eax + 0xbc]
test esi, esi
je 0x565b1d
mov edx, dword [eax + 0x108]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x565b1d
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x565b1d
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push edx
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x565b1d
mov eax, dword [ebx + 0xb0]
push 9
push 0x6bf954
mov byte [ebp - 0x11], 1
mov eax, dword [eax + 0x108]
push eax
call fcn.005e0470
add esp, 0xc
test eax, eax
jne 0x56571d
mov ecx, dword [ebx + 0xb0]
push 9
push 0x6bf954
mov edx, dword [ecx + 0xbc]
push edx
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x56571d
mov byte [ebp - 0x11], 0
mov eax, dword [ebx + 0xb0]
push 0xa
push 0x6bed10
mov eax, dword [eax + 0x108]
push eax
call fcn.005e0470
add esp, 0xc
test eax, eax
jne 0x565761
mov ecx, dword [ebx + 0xb0]
push 9
push 0x6bf954
mov edx, dword [ecx + 0xbc]
push edx
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x565761
mov byte [ebp - 0x11], 0
mov eax, dword [ebx + 0xb0]
push 0x15
push 0x6dc538
mov eax, dword [eax + 0x108]
push eax
call fcn.005e1940
add esp, 0xc
test eax, eax
jne 0x5657d9
mov ecx, dword [ebx + 0xb0]
push 0x1d
push 0x6dc518
mov edx, dword [ecx + 0xbc]
push edx
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x5657bf
mov eax, dword [ebx + 0xb0]
push 0x6dc50c
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.005de4a0
add esp, 8
test eax, eax
jne 0x5657d9
mov ecx, dword [ebx + 0xb0]
push 0x6ec0c8
add ecx, 0x108
mov byte [ebp - 0x11], 0
call fcn.005fa9e2
mov edx, dword [ebx + 0xb0]
push 9
push 0x6bf954
mov eax, dword [edx + 0xbc]
push eax
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x5658c9
mov ecx, dword [ebx + 0xb0]
push 0x6bee38
mov edx, dword [ecx]
push edx
call fcn.005de210
add esp, 8
test eax, eax
jne 0x565835
mov eax, dword [ebx + 0xb0]
push 0x6bee24
mov ecx, dword [eax]
push ecx
call fcn.005de210
add esp, 8
test eax, eax
je 0x5658c9
mov eax, dword [ebx + 0xb0]
mov esi, dword [eax + 8]
test esi, esi
je 0x5658c9
mov ecx, 7
mov edi, 0x6dc4fc
xor edx, edx
repe cmpsw word [esi], word es:[edi]
jne 0x5658c9
mov eax, dword [eax + 0xbc]
push 6
push 0x6dc4f4
push eax
call fcn.005e0470
add esp, 0xc
test eax, eax
jne 0x5658af
mov ecx, dword [ebx + 0xb0]
push 6
push 0x6dc4ec
mov edx, dword [ecx + 0xbc]
push edx
call fcn.005e0470
add esp, 0xc
test eax, eax
jne 0x5658af
mov eax, dword [ebx + 0xb0]
push 0x6bf8fc
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.005de4a0
add esp, 8
test eax, eax
jne 0x5658c9
mov ecx, dword [ebx + 0xb0]
push 0x6ec0c8
add ecx, 0x108
mov byte [ebp - 0x11], 0
call fcn.005fa9e2
mov al, byte [ebp - 0x11]
test al, al
je 0x565b1d
mov ecx, dword [ebx + 0x31e8]
mov eax, dword [ecx + 0x13c]
test eax, eax
je 0x565abe
mov eax, dword [ebx + 0xb0]
mov dl, byte [eax + 0x31b]
test dl, dl
jne 0x565906
mov dl, byte [eax + 0x166]
test dl, dl
je 0x565abe
mov edx, dword [ecx + 0xc8]
lea eax, [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
or edx, ecx
je 0x565b1d
mov byte [ebx + 0x3240], 1
jmp 0x565b1d
cmp dword [ebx + 0x3238], 0xce
jne 0x565987
mov esi, dword [ebx + 0x3278]
mov ecx, dword [ebx + 0x327c]
mov edx, esi
or edx, ecx
je 0x565987
mov edi, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov ecx, edi
mov dword [ebp - 0x3c], edx
sub ecx, esi
mov esi, dword [ebx + 0x327c]
sbb edx, esi
mov esi, dword [ebx + 0x31f8]
cmp esi, ecx
jne 0x565987
mov ecx, dword [ebx + 0x31fc]
cmp ecx, edx
jne 0x565987
mov edx, dword [ebp - 0x3c]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x4c], edx
jmp 0x565671
mov ecx, dword [eax + 0x13c]
mov esi, dword [ebp - 0x28]
test ecx, ecx
je 0x5659b4
mov cl, byte [esi + 0x31b]
test cl, cl
jne 0x5659a8
mov cl, byte [esi + 0x166]
test cl, cl
je 0x5659b4
mov byte [ebx + 0x3240], 1
jmp 0x565671
mov dl, byte [ebx + 0x324d]
test dl, dl
je 0x5659f2
mov ecx, dword [eax + 0xd0]
mov edi, dword [ebx + 0x3258]
mov eax, dword [eax + 0xd4]
cmp edi, ecx
jne 0x5659f2
mov edi, dword [ebx + 0x325c]
cmp edi, eax
jne 0x5659f2
cmp dword [ebx + 0x3238], 0xce
jne 0x5659f2
mov dword [ebx + 0x48], ecx
jmp 0x56566e
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
test eax, eax
jg 0x565a45
jl 0x565a02
test ecx, ecx
ja 0x565a33
cmp byte [ebx + 0x31ed], 0
jne 0x565a33
mov byte [ebx + 0x31ec], 1
mov byte [ebx + 0x31ed], 1
mov al, byte [esi + 0x316]
test al, al
je 0x565a2a
mov byte [esi + 0x318], 1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
jmp 0x565a8a
test eax, eax
jl 0x565afe
jg 0x565a45
test ecx, ecx
jbe 0x565afe
mov al, byte [ebx + 0x31f4]
test al, al
jne 0x565afe
test dl, dl
jne 0x565afe
mov byte [ebx + 0x324d], 1
mov dword [esi + 0x2d8], 1
mov eax, dword [ebx + 0xb0]
mov cl, byte [eax + 0x316]
test cl, cl
je 0x565a83
mov byte [eax + 0x318], 1
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
mov edx, dword [ebx]
lea eax, [ebx + 0x31e0]
push eax
mov ecx, ebx
call dword [edx + 0x14]
test eax, eax
jne 0x565d77
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.00564250
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xb0]
push 9
push 0x6bf954
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x565afe
mov ecx, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
mov eax, ecx
or eax, edx
je 0x565afe
mov eax, dword [ebx + 0xb0]
add eax, 0x128
cmp ecx, dword [eax]
jne 0x565afe
cmp edx, dword [eax + 4]
je 0x565b1d
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
mov eax, 0x757a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [ebx + 0x3240]
test al, al
jne 0x565b43
mov edx, dword [ebx + 0x320c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x565b43
push edx
mov ecx, ebx
call fcn.0056e740
push 0x6ec0c8
lea ecx, [ebx + 0x320c]
xor esi, esi
call fcn.005fa9e2
mov al, byte [ebx + 0x3240]
test al, al
je 0x565cbe
lea ecx, [ebx + 0x10]
mov byte [ebx + 0x3240], 0
call fcn.0054f8b0
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0xb0]
cmp ecx, esi
lea ecx, [eax + 0x28]
setne byte [ebp - 0x12]
call fcn.0053cba0
mov eax, dword [ebx + 0x31e8]
mov dword [eax + 0xc8], esi
mov dword [eax + 0xcc], esi
mov ecx, dword [ebx + 0x31e8]
mov dword [ecx + 0xd0], esi
mov dword [ecx + 0xd4], esi
mov edx, dword [ebx + 0x31e8]
mov dword [edx + 0x1b0], esi
mov dword [edx + 0x1b4], esi
mov eax, dword [ebx + 0x31e8]
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], esi
mov dword [ebx + 0x70], esi
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x31f8], esi
mov dword [ebx + 0x3250], esi
mov dword [ebx + 0x3258], esi
mov dword [ebx + 0x3260], esi
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x3270], esi
cmp eax, esi
mov dword [ebx + 0x323c], esi
mov dword [ebx + 0x90], esi
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x6c], esi
mov dword [ebx + 0x74], esi
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x31fc], esi
mov dword [ebx + 0x3254], esi
mov dword [ebx + 0x325c], esi
mov dword [ebx + 0x3264], esi
mov dword [ebx + 0x4c], esi
mov dword [ebx + 0x3274], esi
je 0x565c3f
mov byte [eax + 0x84d], 0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
mov edx, dword [ebx]
lea eax, [ebx + 0x31e0]
push eax
mov ecx, ebx
call dword [edx + 0x14]
cmp eax, esi
jne 0x565d77
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.00564250
mov edi, eax
cmp edi, esi
je 0x565c80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [ebp - 0x12]
test al, al
je 0x565ca2
mov ecx, dword [ebx + 0xb0]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebx + 0x31e8]
push edx
push ebx
add ecx, 0x28
call fcn.0053eba0
mov edi, eax
mov ecx, ebx
call fcn.0054b290
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebx + 0x8c], 6
mov dword [ebx + 0xa8], esi
mov eax, dword [0x6ed964]
push 1
push eax
mov ecx, ebx
call fcn.00547400
cmp dword [ebx + 0xac], esi
jne 0x565d0c
mov eax, dword [ebx + 0x31e8]
mov ecx, dword [eax + 0x18]
cmp ecx, esi
je 0x565d0c
mov edx, dword [eax + 0xb8]
mov eax, dword [ecx]
push edx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [ebp - 0x12]
test al, al
je 0x565d4c
mov ebx, dword [ebx + 0x184]
mov eax, 4
cmp dword [ebx + 0x14c], eax
jne 0x565d4c
mov cl, byte [ebx + 0x152]
test cl, cl
je 0x565d4c
mov edx, dword [0x6ec7a0]
lea ecx, [ebp + 8]
push eax
push ecx
push eax
push esi
push 0x6c3f68
push edx
mov dword [ebp + 8], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4