Function at 0x5a4680
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6266b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x314
push ebx
push esi
mov esi, ecx
push edi
xor edi, edi
mov dword [ebp - 0x10], esp
mov eax, dword [esi + 0x8b8]
mov dword [ebp - 0x48], esi
cmp eax, edi
mov dword [ebp - 4], edi
je 0x5a46cf
mov eax, dword [esi + 0x478]
push edi
push edi
push eax
lea ecx, [esi + 0x20]
call fcn.005ba790
mov dword [esi + 0x8b8], edi
cmp dword [esi + 0xa44], edi
je 0x5a46e1
mov dword [esi + 0xa34], 0x7540
cmp dword [esi + 0xa34], 0x7573
jne 0x5a4714
push 3
mov ecx, esi
call fcn.005a8df0
lea ecx, [esi + 0x4a4]
call fcn.0054f720
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 4], edi
jne 0x5a4721
push edi
mov ecx, esi
call fcn.005a8df0
cmp dword [esi + 0xa44], edi
je 0x5a4773
push edi
mov ecx, esi
call fcn.005a8df0
mov ecx, dword [esi + 0x478]
mov edx, dword [0x6ed830]
mov eax, dword [esi + 0xa34]
push 1
push ecx
push edx
push eax
lea ecx, [esi + 0x20]
call fcn.005b6b30
push 0x6df898
lea ecx, [esi + 0x4a4]
call fcn.0054f300
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], edi
mov dword [ebp - 0x14], edi
mov word [ebp - 0x18], di
mov eax, dword [esi + 0xa34]
mov byte [ebp - 4], 1
cmp eax, 0x754c
jg 0x5a4d7d
je 0x5a4d71
cmp eax, 0x274c
jg 0x5a4bfb
je 0x5a4cdf
cmp eax, 0x271d
jg 0x5a4b50
je 0x5a4b35
cmp eax, 0xffffffff
jg 0x5a4a92
je 0x5a48fe
cmp eax, 0x80090304
je case.0x5a4d93.30030
cmp eax, 0x8009030e
je case.0x5a4d93.30030
cmp eax, 0xfffffffc
je case.0x5a4d93.30030
mov eax, dword [esi + 0x44]
cmp eax, 4
je case.0x5a4d93.30030
cmp eax, 5
je case.0x5a4d93.30030
lea ecx, [esi + 0x4a8]
mov dword [ebp - 0x34], edi
push ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x30], di
call fcn.004023e0
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0x42
cmp eax, edi
jne 0x5a4824
lea eax, [ebp - 0x30]
mov edi, dword [0x6eda7c]
xor ecx, ecx
cmp edi, ecx
je 0x5a48eb
cmp eax, ecx
je 0x5a48eb
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x24], cx
push eax
lea ecx, [ebp - 0x28]
call fcn.004023e0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x43
call fcn.00401070
push edi
lea ecx, [ebp - 0x58]
call fcn.00402350
mov edi, dword [ebp - 0x50]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x44
call fcn.004023d0
push eax
call fcn.005de123
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x5a48d3
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x28]
call fcn.004023d0
lea ecx, [ebp - 0x58]
mov edi, eax
call fcn.004023d0
push edi
push eax
mov eax, dword [ebp - 0x1c]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005de123
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x43
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x42
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
xor edi, edi
jmp 0x5a5a8b
mov eax, dword [esi + 0x44]
cmp eax, 4
je case.0x5a4d93.30030
cmp eax, 5
je case.0x5a4d93.30030
lea ecx, [esi + 0x4a8]
mov dword [ebp - 0x44], edi
push ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x40], di
call fcn.004023e0
lea edx, [esi + 0xa7c]
lea ecx, [ebp - 0x34]
push edx
mov byte [ebp - 4], 0x3d
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x30], di
call fcn.004023e0
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0x3e
cmp eax, edi
mov ebx, eax
jne 0x5a4959
lea ebx, [ebp - 0x30]
mov edi, dword [ebp - 0x44]
test edi, edi
jne 0x5a4963
lea edi, [ebp - 0x40]
mov eax, dword [0x6eda80]
test eax, eax
je 0x5a4a73
test edi, edi
je 0x5a4a73
test ebx, ebx
je 0x5a4a73
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.00402d00
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x3f
call fcn.0040e020
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x40
call fcn.0040e020
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x41
call fcn.00401070
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x70]
call fcn.004023d0
lea ecx, [ebp - 0x64]
mov ebx, eax
call fcn.004023d0
push eax
call fcn.005de123
mov edx, eax
push ebx
mov dword [ebp + 0xc], edx
call fcn.005de123
mov ecx, dword [ebp + 0xc]
add edi, ecx
lea ebx, [eax + edi + 3]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 0xc
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x5a4a4f
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x64]
call fcn.004023d0
lea ecx, [ebp - 0x70]
mov edi, eax
call fcn.004023d0
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.004023d0
push edi
push esi
push eax
mov eax, dword [ebp - 0x1c]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005de123
mov esi, dword [ebp - 0x48]
add esp, 0x18
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x40
call fcn.00401070
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x3f
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3e
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x3d
call fcn.00401070
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.00401070
xor edi, edi
jmp 0x5a5a8b
cmp eax, 5
je 0x5a4b29
cmp eax, 0x17
je 0x5a4b1c
cmp eax, 0x70
jne case.0x5a4d93.30048
mov eax, dword [0x6e7b6c]
mov dword [ebp + 0xc], eax
push edi
lea ecx, [ebp - 0x4c]
push edi
push ecx
push 0x400
push 0x70
push edi
push 0x1100
mov byte [ebp - 4], 0x38
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, dword [ebp - 0x4c]
lea eax, [ebp + 0xc]
push edx
push 0x6bc090
push eax
call fcn.005f368b
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [ebp + 0xc]
lea ecx, [esi + 0x4a4]
push edx
call fcn.0054f740
mov eax, dword [0x6eda74]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402d00
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a5a8b
mov ecx, dword [0x6ecfd0]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6ed440]
push edi
jmp 0x5a5a82
mov eax, dword [0x6eda68]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402d00
mov byte [esi + 0x335], 1
jmp 0x5a5a8b
add eax, 0xffffd8da
cmp eax, 0x20
ja case.0x5a4d93.30048
xor ecx, ecx
mov cl, byte [eax + 0x5a69d0]
jmp dword [ecx*4 + 0x5a69b0]
mov edx, dword [0x6e7b6c]
mov dword [ebp + 0xc], edx
mov eax, dword [0x6ed344]
mov ecx, dword [0x6eda74]
push eax
push ecx
lea edx, [ebp + 0xc]
push 0x6bd890
push edx
mov byte [ebp - 4], 0x2d
call fcn.005f368b
mov eax, dword [ebp + 0xc]
add esp, 0x10
lea ecx, [ebp - 0x1c]
push edi
push eax
call fcn.00402d00
lea ecx, [ebp + 0xc]
mov byte [esi + 0x335], 1
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a5a8b
mov ecx, dword [0x6eda64]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6eda60]
push edi
jmp 0x5a5a82
mov eax, dword [0x6eda50]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6eda4c]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6eda48]
push edi
jmp 0x5a5a82
cmp eax, 0x7539
jg 0x5a4ceb
je case.0x5a4d93.30030
cmp eax, 0x2af9
jg 0x5a4c66
je 0x5a4c4b
sub eax, 0x274d
je 0x5a4c41
sub eax, 3
je 0x5a4c34
dec eax
jne case.0x5a4d93.30048
mov eax, dword [0x6eda54]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6eda5c]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6eda6c]
push edi
push edx
jmp 0x5a4c52
mov eax, dword [0x6eda58]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402d00
mov byte [esi + 0x335], 1
jmp 0x5a5a8b
cmp eax, 0x2afc
jg 0x5a4cc9
je 0x5a4c79
cmp eax, 0x2afa
jmp 0x5a47e2
mov ecx, dword [0x6e7b6c]
mov dword [ebp + 0xc], ecx
mov edx, dword [0x6ed344]
mov eax, dword [0x6ed854]
push edx
push eax
lea ecx, [ebp + 0xc]
push 0x6bd890
push ecx
mov byte [ebp - 4], 0x2e
call fcn.005f368b
mov edx, dword [ebp + 0xc]
add esp, 0x10
lea ecx, [ebp - 0x1c]
push edi
push edx
call fcn.00402d00
lea ecx, [ebp + 0xc]
mov byte [esi + 0x335], 1
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a5a8b
cmp eax, 0x7532
jl case.0x5a4d93.30048
cmp eax, 0x7533
jg case.0x5a4d93.30048
mov eax, dword [0x6ed814]
push edi
push eax
jmp 0x5a5a83
add eax, 0xffff8ac5
cmp eax, 0x10
ja case.0x5a4d93.30048
xor ecx, ecx
mov cl, byte [eax + 0x5a6a10]
jmp dword [ecx*4 + 0x5a69f4]
push 0x6df898
lea ecx, [esi + 0x4a4]
call fcn.0054f300
push 2
mov ecx, esi
call fcn.005a8df0
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 [0x6eda44]
push edi
jmp 0x5a5a82
mov eax, dword [0x6eda70]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6eda78]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6ed9dc]
push edi
jmp 0x5a5a82
mov eax, dword [0x6ed9d8]
push edi
push eax
jmp 0x5a5a83
add eax, 0xffff8ab3
cmp eax, 0x35
ja case.0x5a4d93.30048
xor ecx, ecx
mov cl, byte [eax + 0x5a6a74]
jmp dword [ecx*4 + 0x5a6a24]
push edi
jmp 0x5a4d1a
push edi
mov ecx, esi
call fcn.005a8df0
cmp dword [esi + 8], edi
jne 0x5a5102
cmp dword [esi + 4], edi
jne 0x5a5102
mov al, byte [ebp + 8]
test al, al
je 0x5a5102
mov eax, dword [esi + 0x4a0]
cmp eax, edi
je 0x5a4df0
mov edx, dword [eax + 0x10]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5a4df0
mov eax, dword [esi + 0x4a0]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.005f71bf
mov ebx, eax
jmp 0x5a4df2
xor ebx, ebx
mov eax, dword [esi + 0x44]
cmp eax, 1
jne 0x5a4e01
mov eax, 0x6bc0fc
jmp 0x5a4e33
cmp eax, 4
jne 0x5a4e0d
mov eax, 0x6bc0e8
jmp 0x5a4e33
cmp eax, 5
jne 0x5a4e19
mov eax, 0x6bc110
jmp 0x5a4e33
cmp eax, 2
jne 0x5a4e25
mov eax, 0x6bc0f0
jmp 0x5a4e33
cmp eax, edi
mov eax, 0x6bc0d8
je 0x5a4e33
mov eax, 0x6bc0e0
push eax
lea ecx, [ebp - 0x38]
call fcn.005fa8c7
mov eax, dword [esi + 0x1b0]
mov edx, dword [esi + 0x20]
lea edi, [esi + 0x20]
push ebx
push 0
push 0
push eax
mov eax, dword [ebp - 0x38]
push edx
push eax
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 2
call fcn.004e8890
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 3
call fcn.005f6856
cmp eax, 1
jne 0x5a5060
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5a4e94
push 0
push 0x1472
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x10], 0
call fcn.005a91a0
mov eax, dword [esi + 0x478]
test eax, eax
je 0x5a4f49
mov ecx, dword [esi + 0x438]
test ecx, ecx
jne 0x5a4ed0
push eax
mov ecx, edi
call fcn.005bd090
mov ebx, dword [esi + 0x438]
test ebx, ebx
je 0x5a4f49
mov edx, dword [ebp - 0xb0]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
not ecx
push ecx
push edx
push 1
push eax
push 0x6c4b0c
push ebx
call edi
mov al, byte [esi + 0x1a8]
test al, al
je 0x5a4f27
mov ecx, dword [esi + 0x438]
lea eax, [ebp + 0x10]
push 4
push eax
push 4
push 0
push 0x6df890
push ecx
mov dword [ebp + 0x10], 1
call edi
mov edx, dword [ebp - 0xac]
mov eax, dword [esi + 0x438]
push 0
push edx
push 0x6c4b00
push 0x6d0f58
push eax
call fcn.005aa440
add esp, 0x14
mov ecx, dword [0x6e7b6c]
mov dword [ebp + 8], ecx
mov edx, dword [esi + 0xa34]
mov eax, dword [0x6eda88]
push edx
push eax
lea ecx, [ebp + 8]
push 0x6df864
push ecx
mov byte [ebp - 4], 4
call fcn.005f368b
mov edx, dword [ebp + 8]
add esp, 0x10
lea ecx, [esi + 0x4a4]
push edx
call fcn.0054f300
mov al, byte [ebp + 0xc]
test al, al
je 0x5a4fad
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x5a4fad
mov eax, dword [esi + 0x478]
test eax, eax
je 0x5a4fad
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.005fa859
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xd
call fcn.005fa859
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xc
call fcn.005fa859
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xb
call fcn.005fa859
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xa
call fcn.005fa859
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 9
call fcn.005fa859
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.0060239d
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 7
call fcn.00602406
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 6
call fcn.006024ed
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 5
call fcn.00602365
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 2
call fcn.005f6497
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a4d21
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x16
call fcn.005fa859
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x15
call fcn.005fa859
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x14
call fcn.005fa859
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x13
call fcn.005fa859
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x12
call fcn.005fa859
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x11
call fcn.0060239d
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x10
call fcn.00602406
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0xf
call fcn.006024ed
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0xe
call fcn.00602365
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 2
call fcn.005f6497
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.005fa859
mov eax, dword [0x6eda88]
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402d00
xor edi, edi
jmp 0x5a5a8b
cmp dword [esi + 8], edi
jne 0x5a5380
cmp dword [esi + 4], edi
jne 0x5a5380
mov al, byte [ebp + 8]
test al, al
je 0x5a5380
push edi
mov ecx, esi
call fcn.005a8df0
mov eax, dword [esi + 0x4a0]
cmp eax, edi
je 0x5a5169
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5a5169
mov edx, dword [esi + 0x4a0]
mov eax, dword [edx + 0x10]
push eax
call fcn.005f71bf
mov edi, eax
jmp 0x5a516b
xor edi, edi
mov eax, dword [esi + 0x44]
cmp eax, 1
jne 0x5a517a
mov eax, 0x6bc0fc
jmp 0x5a51ac
cmp eax, 4
jne 0x5a5186
mov eax, 0x6bc0e8
jmp 0x5a51ac
cmp eax, 5
jne 0x5a5192
mov eax, 0x6bc110
jmp 0x5a51ac
cmp eax, 2
jne 0x5a519e
mov eax, 0x6bc0f0
jmp 0x5a51ac
test eax, eax
mov eax, 0x6bc0d8
je 0x5a51ac
mov eax, 0x6bc0e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.005fa8c7
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x38], ecx
mov al, byte [esi + 0xa0a]
lea ebx, [esi + 0x8d4]
test al, al
mov eax, dword [ebx]
mov byte [ebp - 4], 0x18
je 0x5a5203
test eax, eax
je 0x5a51f3
mov edx, dword [esi + 0x8d8]
push edx
push eax
lea eax, [ebp - 0x38]
push 0x6c3ec4
push eax
call fcn.005f368b
add esp, 0x10
jmp 0x5a5221
mov ecx, dword [esi + 0xa14]
mov edx, dword [esi + 0xa10]
push ecx
push edx
jmp 0x5a51e0
test eax, eax
je 0x5a5212
push eax
lea ecx, [ebp - 0x38]
call fcn.005fa9e2
jmp 0x5a5221
lea ecx, [esi + 0xa10]
push ecx
lea ecx, [ebp - 0x38]
call fcn.005fa992
mov dl, byte [esi + 0xa0a]
mov eax, dword [esi + 0x9f4]
mov ecx, dword [ebp - 0x4c]
push edi
push edx
push 1
push eax
mov eax, dword [ebp - 0x38]
push eax
push ecx
lea ecx, [ebp - 0x1fc]
call fcn.004e8890
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x19
call fcn.005f6856
cmp eax, 1
jne 0x5a52d0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5a5273
push 0
push 0x1472
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebx]
mov dword [esi + 0x10], 0
test eax, eax
je 0x5a541a
mov eax, dword [ebx + 0x158]
mov esi, dword [ebp - 0xb0]
test eax, eax
je 0x5a529d
push eax
call fcn.005f6c85
add esp, 4
mov edi, esi
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 [ebx + 0x158], edx
jne 0x5a539d
push 0x6c4184
mov ecx, ebx
call fcn.00592b40
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2c
call fcn.005fa859
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x2b
call fcn.005fa859
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2a
call fcn.005fa859
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x29
call fcn.005fa859
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x28
call fcn.005fa859
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x27
call fcn.0060239d
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x26
call fcn.00602406
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x25
call fcn.006024ed
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x24
call fcn.00602365
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x18
call fcn.005f6497
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.005fa859
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.005fa859
xor edi, edi
mov al, byte [esi + 0xa0a]
test al, al
mov eax, 0x6ece18
jne 0x5a5394
mov eax, 0x6eda84
mov eax, dword [eax]
push edi
push eax
jmp 0x5a5a83
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 + 0x15c]
mov esi, dword [ebp - 0xac]
test eax, eax
je 0x5a53d5
push eax
call fcn.005f6c85
add esp, 4
mov edi, esi
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 [ebx + 0x15c], edx
je 0x5a52c1
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]
jmp 0x5a5457
mov ecx, dword [ebp - 0xb0]
lea edx, [esi + 0xa18]
push ecx
push 0x6bc090
push edx
mov byte [esi + 0xa25], 1
call fcn.005f368b
mov eax, dword [ebp - 0xac]
add esp, 0xc
add esi, 0xa1c
push eax
push 0x6bc090
push esi
call fcn.005f368b
add esp, 0xc
mov ecx, dword [0x6e7b6c]
mov dword [ebp + 8], ecx
mov esi, dword [ebp - 0x48]
mov byte [ebp - 4], 0x1a
mov al, byte [esi + 0xa0a]
test al, al
mov eax, dword [0x6ece18]
jne 0x5a547b
mov eax, dword [0x6eda84]
mov edx, dword [esi + 0xa34]
push edx
push eax
lea eax, [ebp + 8]
push 0x6df864
push eax
call fcn.005f368b
mov ecx, dword [ebp + 8]
add esp, 0x10
push ecx
lea ecx, [esi + 0x4a4]
call fcn.0054f300
mov al, byte [ebp + 0xc]
test al, al
je 0x5a54cd
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x5a54cd
mov eax, dword [esi + 0x478]
test eax, eax
je 0x5a54cd
push eax
push 0x1431
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call fcn.005fa859
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x23
call fcn.005fa859
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x22
call fcn.005fa859
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x21
call fcn.005fa859
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x20
call fcn.005fa859
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x1f
call fcn.005fa859
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1e
call fcn.0060239d
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x1d
call fcn.00602406
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x1c
call fcn.006024ed
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1b
call fcn.00602365
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x18
call fcn.005f6497
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.005fa859
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a4d21
mov edx, dword [0x6ed83c]
push edi
jmp 0x5a5a82
mov eax, dword [0x6ed9d4]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6eda8c]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6ed870]
push edi
jmp 0x5a5a82
mov eax, dword [0x6ed828]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6ed7d8]
push edi
push ecx
jmp 0x5a5a83
mov edx, dword [0x6ed820]
push edi
jmp 0x5a5a82
mov eax, dword [0x6ed790]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6ed818]
push edi
push ecx
jmp 0x5a5a83
mov eax, dword [esi + 0x48c]
mov ecx, dword [esi + 0x488]
lea edx, [ebp - 0x20c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005abe20
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x40], di
lea edx, [ebp - 0x44]
mov ecx, esi
push edx
mov byte [ebp - 4], 0x2f
call fcn.005b0b50
lea eax, [ebp - 0x20c]
push edi
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x30], di
call fcn.00402d00
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [esi + 0x48c]
mov eax, dword [esi + 0x488]
push edx
push eax
lea ecx, [ebp - 0x4c]
push 0x6d84b4
push ecx
mov byte [ebp - 4], 0x31
call fcn.005f368b
mov edx, dword [ebp - 0x4c]
add esp, 0x10
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], edi
push edi
push edx
mov dword [ebp - 0x20], edi
mov word [ebp - 0x24], di
call fcn.00402d00
mov eax, dword [0x6ed850]
push 0x6d84b4
push eax
mov byte [ebp - 4], 0x32
call fcn.005de210
add esp, 8
test eax, eax
je 0x5a56b4
push 0x6bc090
push 0x6d84b4
jmp 0x5a56d6
mov ecx, dword [0x6ed850]
push 0x6bc140
push ecx
call fcn.005de210
add esp, 8
test eax, eax
je 0x5a56e0
push 0x6bc090
push 0x6bc140
mov ecx, 0x6ed850
call fcn.005f30ae
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x5a56ec
mov dword [ebp + 0xc], eax
jmp 0x5a56f2
add esi, 0x58
mov dword [ebp + 0xc], esi
mov eax, dword [ebp - 0x28]
cmp eax, edi
mov esi, eax
jne 0x5a56fe
lea esi, [ebp - 0x24]
mov eax, dword [ebp - 0x34]
test eax, eax
mov edi, eax
jne 0x5a570a
lea edi, [ebp - 0x30]
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x5a5714
lea eax, [ebp - 0x40]
mov ebx, dword [0x6ed850]
test ebx, ebx
je 0x5a58c7
test eax, eax
je 0x5a58c7
test edi, edi
je 0x5a58c7
test esi, esi
je 0x5a58c7
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x5a58c7
push eax
lea ecx, [ebp - 0x64]
call fcn.0040e020
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x33
call fcn.0040e020
push esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x34
call fcn.0040e020
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x8c]
push edx
mov byte [ebp - 4], 0x35
call fcn.0040e020
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x36
call fcn.00401070
push ebx
lea ecx, [ebp - 0x70]
call fcn.00402350
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x37
test eax, eax
jne 0x5a57a1
lea eax, [ebp - 0x60]
mov ebx, dword [ebp - 0x68]
lea ecx, [ebp - 0x58]
mov dword [ebp + 0xc], eax
call fcn.004023d0
lea ecx, [ebp - 0x98]
mov esi, eax
call fcn.004023d0
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x38], eax
call fcn.004023d0
mov ecx, dword [ebp + 0xc]
mov edi, eax
push ecx
call fcn.005de123
mov edx, eax
push edi
mov edi, edx
call fcn.005de123
mov edx, dword [ebp - 0x38]
push edx
add edi, eax
call fcn.005de123
mov dword [ebp + 0xc], edi
mov edi, eax
push esi
add edi, ebx
call fcn.005de123
mov ecx, dword [ebp + 0xc]
add edi, ecx
lea ebx, [eax + edi + 5]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 0x14
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x5a5885
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x8c]
call fcn.004023d0
lea ecx, [ebp - 0x98]
mov esi, eax
call fcn.004023d0
lea ecx, [ebp - 0x58]
mov dword [ebp + 0xc], eax
call fcn.004023d0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x38], eax
call fcn.004023d0
lea ecx, [ebp - 0x70]
mov edi, eax
call fcn.004023d0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x38]
push esi
push ecx
push edx
push edi
push eax
mov eax, dword [ebp - 0x1c]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005de123
add esp, 0x20
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x36
call fcn.00401070
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x35
call fcn.00401070
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x34
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x33
call fcn.00401070
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x32
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x31
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x30
call fcn.005fa859
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x2f
call fcn.00401070
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.00401070
mov esi, dword [ebp - 0x48]
xor edi, edi
jmp 0x5a5a8b
mov edx, dword [0x6ed99c]
push edi
jmp 0x5a5a82
mov eax, dword [0x6ed02c]
push edi
push eax
jmp 0x5a5a83
mov ecx, dword [0x6ecf84]
push edi
push ecx
jmp 0x5a5a83
lea eax, [esi + 0x4a8]
lea ecx, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x30], di
call fcn.004023e0
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0x39
cmp eax, edi
jne 0x5a594d
lea eax, [ebp - 0x30]
mov edi, dword [0x6ed338]
xor ecx, ecx
cmp edi, ecx
je 0x5a5a14
cmp eax, ecx
je 0x5a5a14
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x24], cx
push eax
lea ecx, [ebp - 0x28]
call fcn.004023e0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x3a
call fcn.00401070
push edi
lea ecx, [ebp - 0x58]
call fcn.00402350
mov edi, dword [ebp - 0x50]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3b
call fcn.004023d0
push eax
call fcn.005de123
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x5a59fc
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x28]
call fcn.004023d0
lea ecx, [ebp - 0x58]
mov edi, eax
call fcn.004023d0
push edi
push eax
mov eax, dword [ebp - 0x1c]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005de123
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3a
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x39
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
xor edi, edi
jmp 0x5a5a8b
mov edx, dword [0x6e7b6c]
mov dword [ebp + 0xc], edx
mov eax, dword [0x6ece68]
lea ecx, [ebp + 0xc]
push eax
push 0x6bc090
push ecx
mov byte [ebp - 4], 0x3c
call fcn.005f368b
mov edx, dword [ebp + 0xc]
add esp, 0xc
push 0x6bcdb0
push edx
call fcn.005df8a0
add esp, 8
cmp eax, edi
je 0x5a5a60
mov byte [eax], 0
mov eax, dword [ebp + 0xc]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402d00
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a5a8b
mov edx, dword [0x6eda74]
push edi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402d00
mov eax, dword [esi + 0x14]
cmp eax, edi
je 0x5a5aaa
mov ecx, dword [esi + 0x478]
push ecx
push 0x13c7
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0xa34]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x5a5ac6.30020
xor edx, edx
mov dl, byte [eax + 0x5a6ab8]
jmp dword [edx*4 + 0x5a6aac]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
or eax, ecx
je case.0x5a5ac6.30020
mov ecx, 0x6bc148
test ecx, ecx
je 0x5a5b73
push ecx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a5b73
mov eax, dword [ebp - 0x1c]
cmp eax, edi
je 0x5a5b0f
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a5b11
xor edi, edi
push 0x6bc148
call fcn.005de123
add eax, edi
lea edx, [eax + eax + 2]
push edx
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5a5b73
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a5b4e
push eax
push edi
call fcn.005de2e9
push 0x6bc148
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a5b5c
push 0x6bc148
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, dword [0x6ecf84]
xor edi, edi
push edi
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x24], di
call fcn.00402d00
mov ebx, dword [ebp - 0x28]
mov byte [ebp - 4], 0x45
cmp ebx, edi
jne 0x5a5ba0
lea ebx, [ebp - 0x24]
cmp ebx, edi
je 0x5a5c19
push ebx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a5c19
mov eax, dword [ebp - 0x1c]
cmp eax, edi
je 0x5a5bc1
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a5bc3
xor edi, edi
push ebx
call fcn.005de123
add eax, edi
lea ecx, [eax + eax + 2]
push ecx
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5a5c19
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a5bf8
push eax
push edi
call fcn.005de2e9
push ebx
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a5c02
push ebx
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401070
xor edi, edi
mov cl, byte [esi + 0x181]
test cl, cl
jne 0x5a5daa
mov eax, dword [esi + 0x150]
cmp eax, edi
jle 0x5a5c50
mov edx, dword [esi + 0x154]
sub edx, eax
cmp edx, 0x3c
jl 0x5a5d95
mov eax, 0x6df858
test eax, eax
je 0x5a5ce2
push eax
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a5ce2
mov eax, dword [ebp - 0x1c]
cmp eax, edi
je 0x5a5c7e
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a5c80
xor edi, edi
push 0x6df858
call fcn.005de123
add eax, edi
lea ecx, [eax + eax + 2]
push ecx
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5a5ce2
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a5cbd
push eax
push edi
call fcn.005de2e9
push 0x6df858
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a5ccb
push 0x6df858
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [0x6ecf64]
xor esi, esi
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.00402d00
mov ebx, dword [ebp - 0x28]
mov byte [ebp - 4], 0x49
cmp ebx, esi
jne 0x5a5d10
lea ebx, [ebp - 0x24]
cmp ebx, esi
je 0x5a5d89
push ebx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a5d89
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x5a5d31
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a5d33
xor edi, edi
push ebx
call fcn.005de123
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5a5d89
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a5d68
push eax
push edi
call fcn.005de2e9
push ebx
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a5d72
push ebx
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
jmp 0x5a5f64
test cl, cl
jne 0x5a5daa
mov ecx, dword [esi + 0x478]
push 1
push ecx
lea ecx, [esi + 0x20]
call fcn.005ba490
cmp dword [esi + 0x48c], edi
jl 0x5a5dd1
jg 0x5a5dbc
cmp dword [esi + 0x488], edi
jbe 0x5a5dd1
mov edx, dword [0x6ecf60]
push edi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402d00
jmp case.0x5a5ac6.30020
mov al, byte [esi + 0x16c]
xor bl, bl
test al, 0x70
je 0x5a5ddf
mov bl, 1
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x40], di
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
mov byte [ebp - 4], 0x46
call fcn.005b0b50
test bl, bl
je 0x5a5f31
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 0x5a5e21
push edx
mov ecx, 0x6ecd18
call fcn.00530ea0
jmp 0x5a5e2f
mov ecx, dword [esi + 0x20]
push ecx
mov ecx, 0x6ecd18
call fcn.00530f60
mov eax, dword [esi + 0x11c]
xor ebx, ebx
cmp eax, ebx
jne 0x5a5e41
lea eax, [esi + 0x120]
push eax
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a5e60
mov eax, dword [esi + 0x11c]
cmp eax, ebx
jne 0x5a5e6a
lea eax, [esi + 0x120]
jmp 0x5a5e6a
mov eax, dword [ebp - 0x44]
cmp eax, ebx
jne 0x5a5e6a
lea eax, [ebp - 0x40]
mov edi, dword [0x6ed080]
cmp edi, ebx
je 0x5a5f5d
cmp eax, ebx
je 0x5a5f5d
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov word [ebp - 0x30], bx
call fcn.004023e0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x47
call fcn.00401070
push edi
lea ecx, [ebp - 0x58]
call fcn.00402350
mov edi, dword [ebp - 0x50]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x48
call fcn.004023d0
push eax
call fcn.005de123
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x5a5f17
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x34]
call fcn.004023d0
lea ecx, [ebp - 0x58]
mov edi, eax
call fcn.004023d0
push edi
push eax
mov eax, dword [ebp - 0x1c]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005de123
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x47
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x46
call fcn.00401070
jmp 0x5a5f5d
mov al, byte [esi + 0x17f]
test al, al
je 0x5a5f4e
mov al, byte [0x6ec894]
test al, al
jne 0x5a5f4e
mov edx, dword [0x6ed084]
push edi
push edx
jmp 0x5a5f55
mov eax, dword [0x6ecf60]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402d00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.00401070
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + 0x4a4]
lea esi, [ecx + 0x4a4]
test eax, eax
je 0x5a6178
mov edx, 0x6df858
test edx, edx
je 0x5a6016
push edx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a6016
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
je 0x5a5fb0
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a5fb2
xor edi, edi
push 0x6df858
call fcn.005de123
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x5a6018
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x5a5fef
push eax
push edi
call fcn.005de2e9
push 0x6df858
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a5ffd
push 0x6df858
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x5a6018
xor ebx, ebx
mov ecx, dword [0x6ed558]
push ebx
push ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov word [ebp - 0x30], bx
call fcn.00402d00
mov ebx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x4a
test ebx, ebx
jne 0x5a6044
lea ebx, [ebp - 0x30]
test ebx, ebx
je 0x5a60bd
push ebx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a60bd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a6065
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a6067
xor edi, edi
push ebx
call fcn.005de123
add eax, edi
lea edx, [eax + eax + 2]
push edx
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5a60bd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a609c
push eax
push edi
call fcn.005de2e9
push ebx
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a60a6
push ebx
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
xor edi, edi
push edi
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x24], di
call fcn.00402d00
mov ebx, dword [ebp - 0x28]
mov byte [ebp - 4], 0x4b
cmp ebx, edi
jne 0x5a60e7
lea ebx, [ebp - 0x24]
cmp ebx, edi
je 0x5a6160
push ebx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5a6160
mov eax, dword [ebp - 0x1c]
cmp eax, edi
je 0x5a6108
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5a610a
xor edi, edi
push ebx
call fcn.005de123
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5a6160
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5a613f
push eax
push edi
call fcn.005de2e9
push ebx
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5a6149
push ebx
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push edi
mov dword [ebp - 0x1c], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x5a6182
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x74]
call fcn.005fa919
mov ebx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x74]
push 0
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebx + 0x478]
mov eax, dword [ebx + 0xa34]
lea edi, [ebx + 0x20]
push ecx
push edx
push eax
mov ecx, edi
call fcn.005b6b30
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, esi
call fcn.0054f300
mov edx, dword [ebx + 0xa34]
lea eax, [ebp - 0x24c]
push edx
push 0x6df840
push eax
call fcn.005deb38
add esp, 0xc
lea ecx, [ebp - 0x24c]
push ecx
mov ecx, esi
call fcn.0054f300
mov eax, dword [ebx + 0xa34]
add eax, 0xffff8abe
cmp eax, 0x38
ja case.0x5a6200.30020
xor edx, edx
mov dl, byte [eax + 0x5a6b00]
jmp dword [edx*4 + 0x5a6af4]
mov eax, dword [ebx + 0x148]
mov ecx, dword [ebx + 0x14c]
or eax, ecx
je case.0x5a6200.30020
mov eax, dword [ebx + 8]
xor esi, esi
cmp eax, esi
jne 0x5a6280
cmp dword [ebx + 4], esi
jne 0x5a6280
mov al, byte [ebp + 8]
test al, al
je 0x5a6280
cmp dword [ebx + 0x14], esi
je 0x5a6280
cmp dword [ebx + 0x478], esi
je 0x5a6280
mov al, byte [ebx + 0x181]
test al, al
jne 0x5a6280
push esi
mov ecx, ebx
call fcn.005a8df0
mov ecx, dword [ebx + 0x478]
mov edx, dword [ebx + 0x14]
push ecx
push 0x1463
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x74]
mov byte [ebx + 0x335], 0
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a4d21
xor esi, esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x78], esi
mov word [ebp - 0x7c], si
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
mov byte [ebp - 4], 0x4d
call fcn.005b0b50
cmp dword [ebx + 8], esi
jne 0x5a6790
cmp dword [ebx + 4], esi
jne 0x5a6790
mov al, byte [ebp + 8]
test al, al
je 0x5a6790
cmp dword [ebx + 0x478], esi
je 0x5a6790
cmp dword [ebx + 0x49c], esi
jne 0x5a6790
cmp dword [ebx + 0xa34], 0x7553
jne 0x5a632d
mov ecx, dword [ebp - 0x80]
cmp ecx, esi
jne 0x5a62e4
lea ecx, [ebp - 0x7c]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
jne 0x5a62ee
lea eax, [ebp - 0x18]
push 0x10024
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x5a6790
mov eax, dword [ebx + 0x14]
cmp eax, esi
je 0x5a6790
mov ecx, dword [ebx + 0x478]
push ecx
push 0x13bb
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x5a6790
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x30], si
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 0x4e
cmp eax, esi
je 0x5a634e
push esi
push eax
lea ecx, [ebp - 0x34]
call fcn.00402d00
jmp 0x5a6361
mov eax, dword [ebp - 0x80]
cmp eax, esi
jne 0x5a6358
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x34]
call fcn.004023e0
mov eax, dword [ebx + 0xa34]
cmp eax, 0x80090326
jne 0x5a6530
cmp dword [0x6ec774], esi
jne 0x5a6530
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x40], si
mov edx, dword [0x6ecd60]
push esi
push edx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x5c], esi
mov word [ebp - 0x60], si
call fcn.00402d00
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x50
cmp eax, esi
mov ebx, eax
jne 0x5a63b6
lea ebx, [ebp - 0x60]
mov edi, dword [ebp - 0x1c]
xor esi, esi
cmp edi, esi
jne 0x5a63c2
lea edi, [ebp - 0x18]
mov eax, 0x6df834
test eax, eax
je 0x5a64d9
cmp edi, esi
je 0x5a64d9
cmp ebx, esi
je 0x5a64d9
push esi
push eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], esi
mov word [ebp - 0x6c], si
call fcn.00402d00
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x51
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov word [ebp - 0x24], si
call fcn.004023e0
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x52
call fcn.0040e020
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x53
call fcn.00401070
mov edi, dword [ebp - 0x68]
lea ecx, [ebp - 0x28]
call fcn.004023d0
lea ecx, [ebp - 0x58]
mov ebx, eax
call fcn.004023d0
push eax
call fcn.005de123
mov edx, eax
push ebx
mov dword [ebp + 0xc], edx
call fcn.005de123
mov ecx, dword [ebp + 0xc]
add edi, ecx
lea ebx, [eax + edi + 3]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 0xc
cmp edx, esi
mov dword [ebp - 0x44], edx
je 0x5a64b5
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x58]
call fcn.004023d0
lea ecx, [ebp - 0x28]
mov edi, eax
call fcn.004023d0
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.004023d0
push edi
push esi
push eax
mov eax, dword [ebp - 0x44]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.005de123
add esp, 0x18
mov dword [ebp - 0x3c], eax
xor esi, esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x52
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x51
call fcn.00401070
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x50
call fcn.00401070
mov ecx, dword [ebp - 0x34]
cmp ecx, esi
jne 0x5a64e3
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x44]
cmp eax, esi
jne 0x5a64ed
lea eax, [ebp - 0x40]
push 0x50034
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x5a650e
push 0x6df7ec
push esi
call fcn.0049d030
add esp, 8
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x4f
call fcn.00401070
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x4e
call fcn.00401070
mov ebx, dword [ebp - 0x48]
xor esi, esi
jmp 0x5a6784
mov cl, byte [ebx + 0x335]
test cl, cl
je 0x5a6738
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov word [ebp - 0x24], si
mov ebx, dword [0x6ece04]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x54
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x40], si
call fcn.00401070
cmp ebx, esi
je 0x5a65b3
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5a65b3
push esi
push esi
push 0xffffffffffffffff
push ebx
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
mov dword [ebp - 0x3c], eax
je 0x5a65b3
lea edx, [eax + eax + 2]
push edx
call fcn.005f6c5c
add esp, 4
cmp eax, esi
mov dword [ebp - 0x44], eax
je 0x5a65b6
mov ecx, dword [ebp - 0x3c]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
cmp eax, esi
mov byte [ebp - 4], 0x55
mov ebx, eax
jne 0x5a65c3
lea ebx, [ebp - 0x40]
mov edi, dword [ebp - 0x1c]
cmp edi, esi
jne 0x5a65cd
lea edi, [ebp - 0x18]
mov edx, 0x6df834
test edx, edx
je 0x5a66e4
cmp edi, esi
je 0x5a66e4
cmp ebx, esi
je 0x5a66e4
push esi
push edx
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], esi
mov word [ebp - 0x6c], si
call fcn.00402d00
push edi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x5c], esi
mov word [ebp - 0x60], si
call fcn.004023e0
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x57
call fcn.0040e020
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x58
call fcn.00401070
mov edi, dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
call fcn.004023d0
lea ecx, [ebp - 0x58]
mov ebx, eax
call fcn.004023d0
push eax
call fcn.005de123
mov edx, eax
push ebx
mov dword [ebp + 0xc], edx
call fcn.005de123
mov ecx, dword [ebp + 0xc]
add edi, ecx
lea ebx, [eax + edi + 3]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 0xc
cmp edx, esi
mov dword [ebp - 0x28], edx
je 0x5a66c0
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x58]
call fcn.004023d0
lea ecx, [ebp - 0x64]
mov edi, eax
call fcn.004023d0
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.004023d0
push edi
push esi
push eax
mov eax, dword [ebp - 0x28]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.005de123
add esp, 0x18
mov dword [ebp - 0x20], eax
xor esi, esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x57
call fcn.00401070
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x56
call fcn.00401070
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x55
call fcn.00401070
mov ecx, dword [ebp - 0x34]
cmp ecx, esi
jne 0x5a66ee
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp eax, esi
jne 0x5a66f8
lea eax, [ebp - 0x24]
push 0x50034
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x5a6719
push 0x6df78c
push esi
call fcn.0049d030
add esp, 8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x54
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4e
call fcn.00401070
mov ebx, dword [ebp - 0x48]
xor esi, esi
jmp 0x5a6784
cmp eax, 0xffffffff
je 0x5a6749
cmp eax, 0x753b
mov eax, 0x30
jne 0x5a674e
mov eax, 0x10
mov edx, dword [ebp - 0x34]
cmp edx, esi
jne 0x5a6758
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
cmp ecx, esi
jne 0x5a6762
lea ecx, [ebp - 0x18]
or eax, 0x50000
push eax
push edx
push ecx
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [ebx + 0xa34], 0x757a
jne 0x5a6784
mov ecx, edi
call fcn.005b7070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x4d
call fcn.00401070
mov eax, dword [ebx + 4]
cmp eax, esi
je 0x5a6970
cmp eax, 3
jne 0x5a67b0
cmp dword [ebx + 0xa34], 0x756e
je 0x5a68ab
mov cl, byte [ebp + 8]
test cl, cl
je 0x5a68ab
cmp dword [ebx + 0xa34], 0xffffffff
jne 0x5a67e9
mov edx, dword [0x6ed82c]
push 0x50010
push 0x6bc018
push edx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
mov ecx, ebx
call fcn.005a8df0
jmp 0x5a6977
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x30], si
call fcn.00401070
mov eax, 0x6bc018
test eax, eax
je 0x5a6857
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5a6857
push esi
push esi
push 0xffffffffffffffff
push 0x6bc018
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
mov dword [ebp - 0x2c], eax
je 0x5a6857
lea ecx, [eax + eax + 2]
push ecx
call fcn.005f6c5c
mov ecx, eax
add esp, 4
cmp ecx, esi
mov dword [ebp - 0x34], ecx
je 0x5a685a
mov edx, dword [ebp - 0x2c]
push edx
push ecx
push 0xffffffffffffffff
push 0x6bc018
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebx + 0xa34]
cmp eax, 0xffffffff
je 0x5a6871
cmp eax, 0x753b
mov eax, 0x30
jne 0x5a6876
mov eax, 0x10
cmp ecx, esi
jne 0x5a687d
lea ecx, [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
cmp edx, esi
jne 0x5a6887
lea edx, [ebp - 0x18]
or eax, 0x50000
push eax
push ecx
push edx
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x34]
call fcn.00401070
push esi
mov ecx, ebx
call fcn.005a8df0
jmp 0x5a6977
cmp eax, 4
jne 0x5a6966
mov al, byte [ebx + 0x335]
test al, al
je 0x5a6966
lea eax, [ebp + 0x10]
lea ecx, [ebp + 0xc]
push eax
push ecx
mov byte [ebx + 0x335], 0
mov edx, dword [0x6ec7a0]
push esi
push esi
push 0x6df780
push edx
mov dword [ebp + 0x10], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x5a6966
mov ecx, dword [0x6ec7a0]
lea eax, [ebp + 0xc]
push 4
push eax
push 4
push esi
push 0x6df780
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.005f71bf
push eax
lea ecx, [ebp - 0x320]
call fcn.005187a0
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x59
call fcn.005f6856
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x5b
call fcn.004e84a0
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x5a
call fcn.00602365
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x4d
call fcn.005f6497
push esi
mov ecx, ebx
call fcn.005a8df0
jmp 0x5a6977
mov byte [ebx + 0x335], 0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x4c
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 1
call fcn.005fa859
jmp 0x5a4d21