Function at 0x51e9f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54b0f3
mov eax, dword fs:[0]
push eax
sub esp, 0x5ec
mov eax, dword [0x5938b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x4f4], 0
mov eax, dword [0x598a00]
and eax, 1
jne 0x51ea69
mov ecx, dword [0x598a00]
or ecx, 1
mov dword [0x598a00], ecx
mov dword [ebp - 4], 0
mov ecx, 0x5989e8
call fcn.0040e160
push 0x54c840
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x5989e8
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51eac5
lea eax, [ebp - 0x388]
push eax
call fcn.004ccb10
add esp, 4
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5c8], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x5c8]
push edx
mov ecx, 0x5989e8
call fcn.0040e0e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.0040ac80
mov eax, dword [0x598a00]
and eax, 2
jne 0x51eb03
mov ecx, dword [0x598a00]
or ecx, 2
mov dword [0x598a00], ecx
mov dword [ebp - 4], 2
mov ecx, 0x598a04
call fcn.0040e160
push 0x54c8c0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x598a00]
and edx, 4
jne 0x51eb40
mov eax, dword [0x598a00]
or eax, 4
mov dword [0x598a00], eax
mov dword [ebp - 4], 3
mov ecx, 0x598a1c
call fcn.0040e160
push 0x54c8a0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x598a00]
and ecx, 8
jne 0x51eb7f
mov edx, dword [0x598a00]
or edx, 8
mov dword [0x598a00], edx
mov dword [ebp - 4], 4
mov ecx, 0x598a34
call fcn.0040e160
push 0x54c8d0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x598a00]
and eax, 0x10
jne 0x51ebbd
mov ecx, dword [0x598a00]
or ecx, 0x10
mov dword [0x598a00], ecx
mov dword [ebp - 4], 5
mov ecx, 0x598a4c
call fcn.0040e160
push 0x54c8b0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x598a04
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ec76
push str.2345PicViewer.exe
lea ecx, [ebp - 0x178]
call fcn.0040e120
mov dword [ebp - 4], 6
lea eax, [ebp - 0x178]
push eax
push 0x5989e8
lea ecx, [ebp - 0x370]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x5c4], eax
mov edx, dword [ebp - 0x5c4]
mov dword [ebp - 0x5dc], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x5dc]
push eax
mov ecx, 0x598a04
call fcn.0040e0e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x370]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.0040ac80
push 0x598a04
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51ec76
push 0x563068
mov ecx, 0x598a04
call fcn.0040e080
xor al, al
jmp 0x52006f
mov ecx, 0x598a1c
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ed2f
push str.2345PdfReader.exe
lea ecx, [ebp - 0x160]
call fcn.0040e120
mov dword [ebp - 4], 8
lea eax, [ebp - 0x160]
push eax
push 0x5989e8
lea ecx, [ebp - 0x478]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x5bc], eax
mov edx, dword [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x5b4]
push eax
mov ecx, 0x598a1c
call fcn.0040e0e0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x478]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.0040ac80
push 0x598a1c
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51ed2f
push 0x563068
mov ecx, 0x598a1c
call fcn.0040e080
xor al, al
jmp 0x52006f
mov ecx, 0x598a34
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ede8
push str.2345PicPrinter.exe
lea ecx, [ebp - 0x148]
call fcn.0040e120
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x148]
push eax
push 0x5989e8
lea ecx, [ebp - 0x448]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x5b0], eax
mov edx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5ac], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x5ac]
push eax
mov ecx, 0x598a34
call fcn.0040e0e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x448]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.0040ac80
push 0x598a34
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51ede8
push 0x563068
mov ecx, 0x598a34
call fcn.0040e080
xor al, al
jmp 0x52006f
mov ecx, 0x598a4c
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51eea1
push str.2345PicEdit.exe
lea ecx, [ebp - 0x190]
call fcn.0040e120
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x190]
push eax
push 0x5989e8
lea ecx, [ebp - 0x430]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x5a8], eax
mov edx, dword [ebp - 0x5a8]
mov dword [ebp - 0x5a4], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x5a4]
push eax
mov ecx, 0x598a4c
call fcn.0040e0e0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x430]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.0040ac80
push 0x598a4c
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51eea1
push 0x563068
mov ecx, 0x598a4c
call fcn.0040e080
xor al, al
jmp 0x52006f
lea ecx, [ebp - 0x70]
call fcn.0040e160
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040e160
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040e160
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040e160
mov byte [ebp - 4], 0x11
push 0x5570a0
mov edx, dword [ebp + 0x14]
push edx
call fcn.0040eae0
add esp, 8
movzx eax, al
test eax, eax
je 0x51f0a5
push str.__rightmenu
lea ecx, [ebp - 0x40]
call fcn.0040e080
push 0x598a04
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
push 0x567bb8
lea ecx, [ebp - 0xe8]
call fcn.0040e120
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x4f4]
or ecx, 1
mov dword [ebp - 0x4f4], ecx
lea edx, [ebp - 0xe8]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51efce
push 0x557080
lea ecx, [ebp - 0x100]
call fcn.0040e120
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0x4f4]
or ecx, 2
mov dword [ebp - 0x4f4], ecx
lea edx, [ebp - 0x100]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51efce
push str..ofd
lea ecx, [ebp - 0x118]
call fcn.0040e120
mov dword [ebp - 4], 0x14
mov ecx, dword [ebp - 0x4f4]
or ecx, 4
mov dword [ebp - 0x4f4], ecx
lea edx, [ebp - 0x118]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51efce
mov dword [ebp - 0x524], 0
jmp 0x51efd8
mov dword [ebp - 0x524], 1
mov cl, byte [ebp - 0x524]
mov byte [ebp - 0x505], cl
mov dword [ebp - 4], 0x13
mov edx, dword [ebp - 0x4f4]
and edx, 4
je 0x51f008
and dword [ebp - 0x4f4], 0xfffffffb
lea ecx, [ebp - 0x118]
call fcn.0040ac80
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x4f4]
and eax, 2
je 0x51f02c
and dword [ebp - 0x4f4], 0xfffffffd
lea ecx, [ebp - 0x100]
call fcn.0040ac80
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x4f4]
and ecx, 1
je 0x51f050
and dword [ebp - 0x4f4], 0xfffffffe
lea ecx, [ebp - 0xe8]
call fcn.0040ac80
movzx edx, byte [ebp - 0x505]
test edx, edx
je 0x51f0a0
mov byte [ebp - 0x506], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x506]
jmp 0x52006f
jmp 0x51f992
push 0x5570d0
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040eae0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51f35a
push 0x567bb8
lea ecx, [ebp - 0xd0]
call fcn.0040e120
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
jne 0x51f0f8
mov dword [ebp - 0x520], 1
jmp 0x51f102
mov dword [ebp - 0x520], 0
mov cl, byte [ebp - 0x520]
mov byte [ebp - 0x507], cl
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xd0]
call fcn.0040ac80
movzx edx, byte [ebp - 0x507]
test edx, edx
je 0x51f208
push 0x54d650
lea ecx, [ebp - 0xb8]
call fcn.0040e120
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0xb8]
push eax
push 0x5989e8
lea ecx, [ebp - 0x418]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x5a0], eax
mov edx, dword [ebp - 0x5a0]
mov dword [ebp - 0x59c], edx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x59c]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040e0e0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x418]
call fcn.0040ac80
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb8]
call fcn.0040ac80
lea ecx, [ebp - 0x28]
push ecx
call fcn.00415500
add esp, 4
movzx edx, al
test edx, edx
jne 0x51f203
push 0x563068
lea ecx, [ebp - 0x28]
call fcn.0040e080
mov byte [ebp - 0x508], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x508]
jmp 0x52006f
jmp 0x51f348
push 0x557080
lea ecx, [ebp - 0x280]
call fcn.0040e120
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x4f4]
or eax, 8
mov dword [ebp - 0x4f4], eax
lea ecx, [ebp - 0x280]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f28b
push str..ofd
lea ecx, [ebp - 0x130]
call fcn.0040e120
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0x4f4]
or eax, 0x10
mov dword [ebp - 0x4f4], eax
lea ecx, [ebp - 0x130]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f28b
mov dword [ebp - 0x510], 0
jmp 0x51f295
mov dword [ebp - 0x510], 1
mov al, byte [ebp - 0x510]
mov byte [ebp - 0x4f5], al
mov dword [ebp - 4], 0x18
mov ecx, dword [ebp - 0x4f4]
and ecx, 0x10
je 0x51f2c5
and dword [ebp - 0x4f4], 0xffffffef
lea ecx, [ebp - 0x130]
call fcn.0040ac80
mov dword [ebp - 4], 0x11
mov edx, dword [ebp - 0x4f4]
and edx, 8
je 0x51f2e9
and dword [ebp - 0x4f4], 0xfffffff7
lea ecx, [ebp - 0x280]
call fcn.0040ac80
movzx eax, byte [ebp - 0x4f5]
test eax, eax
je 0x51f303
push 0x598a1c
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
jmp 0x51f348
mov byte [ebp - 0x4f6], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4f6]
jmp 0x52006f
push str.__rightmenu
lea ecx, [ebp - 0x40]
call fcn.0040e080
jmp 0x51f992
push 0x5570dc
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040eae0
add esp, 8
movzx edx, al
test edx, edx
je 0x51f540
push 0x567bb8
lea ecx, [ebp - 0x250]
call fcn.0040e120
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x4f4]
or eax, 0x20
mov dword [ebp - 0x4f4], eax
lea ecx, [ebp - 0x250]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f43c
push 0x557080
lea ecx, [ebp - 0x268]
call fcn.0040e120
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0x4f4]
or eax, 0x40
mov dword [ebp - 0x4f4], eax
lea ecx, [ebp - 0x268]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f43c
push str..ofd
lea ecx, [ebp - 0x1a8]
call fcn.0040e120
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0x4f4]
or eax, 0x80
mov dword [ebp - 0x4f4], eax
lea ecx, [ebp - 0x1a8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f43c
mov dword [ebp - 0x51c], 0
jmp 0x51f446
mov dword [ebp - 0x51c], 1
mov al, byte [ebp - 0x51c]
mov byte [ebp - 0x4f7], al
mov dword [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x4f4]
and ecx, 0x80
je 0x51f47c
and dword [ebp - 0x4f4], 0xffffff7f
lea ecx, [ebp - 0x1a8]
call fcn.0040ac80
mov dword [ebp - 4], 0x1a
mov edx, dword [ebp - 0x4f4]
and edx, 0x40
je 0x51f4a0
and dword [ebp - 0x4f4], 0xffffffbf
lea ecx, [ebp - 0x268]
call fcn.0040ac80
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x4f4]
and eax, 0x20
je 0x51f4c4
and dword [ebp - 0x4f4], 0xffffffdf
lea ecx, [ebp - 0x250]
call fcn.0040ac80
movzx ecx, byte [ebp - 0x4f7]
test ecx, ecx
je 0x51f514
mov byte [ebp - 0x4f8], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4f8]
jmp 0x52006f
push str.__rightmenu
lea ecx, [ebp - 0x40]
call fcn.0040e080
push str.__product_2345PicViewer
lea ecx, [ebp - 0x58]
call fcn.0040e080
push 0x598a34
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
jmp 0x51f992
push 0x5570e8
mov edx, dword [ebp + 0x14]
push edx
call fcn.0040eae0
add esp, 8
movzx eax, al
test eax, eax
je 0x51f738
push 0x567bb8
lea ecx, [ebp - 0x208]
call fcn.0040e120
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x4f4]
or ecx, 0x100
mov dword [ebp - 0x4f4], ecx
lea edx, [ebp - 0x208]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f629
push 0x557080
lea ecx, [ebp - 0x220]
call fcn.0040e120
mov dword [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x4f4]
or ecx, 0x200
mov dword [ebp - 0x4f4], ecx
lea edx, [ebp - 0x220]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f629
push str..ofd
lea ecx, [ebp - 0x238]
call fcn.0040e120
mov dword [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x4f4]
or ecx, 0x400
mov dword [ebp - 0x4f4], ecx
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f629
mov dword [ebp - 0x518], 1
jmp 0x51f633
mov dword [ebp - 0x518], 0
mov cl, byte [ebp - 0x518]
mov byte [ebp - 0x4f9], cl
mov dword [ebp - 4], 0x1e
mov edx, dword [ebp - 0x4f4]
and edx, 0x400
je 0x51f669
and dword [ebp - 0x4f4], 0xfffffbff
lea ecx, [ebp - 0x238]
call fcn.0040ac80
mov dword [ebp - 4], 0x1d
mov eax, dword [ebp - 0x4f4]
and eax, 0x200
je 0x51f692
and dword [ebp - 0x4f4], 0xfffffdff
lea ecx, [ebp - 0x220]
call fcn.0040ac80
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x4f4]
and ecx, 0x100
je 0x51f6bc
and dword [ebp - 0x4f4], 0xfffffeff
lea ecx, [ebp - 0x208]
call fcn.0040ac80
movzx edx, byte [ebp - 0x4f9]
test edx, edx
je 0x51f70c
mov byte [ebp - 0x4fa], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4fa]
jmp 0x52006f
push str.__rightmenu
lea ecx, [ebp - 0x40]
call fcn.0040e080
push str.__product_2345PdfEditor
lea ecx, [ebp - 0x58]
call fcn.0040e080
push 0x598a34
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
jmp 0x51f992
push 0x5570b0
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040eae0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51f992
push 1
mov edx, dword [ebp + 0x10]
push edx
call fcn.004ef950
add esp, 8
mov dword [ebp - 0x598], eax
cmp dword [ebp - 0x598], 0xffffffff
jne 0x51f7b6
mov byte [ebp - 0x4fb], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4fb]
jmp 0x52006f
push str.0___pagetype5___subtype3
lea ecx, [ebp - 0x3e8]
call fcn.0040e120
mov dword [ebp - 0x594], eax
mov eax, dword [ebp - 0x594]
mov dword [ebp - 0x590], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x590]
push ecx
push str.__rightmenu
lea edx, [ebp - 0x400]
push edx
call fcn.0047a730
add esp, 0xc
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x588], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x588]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040e0e0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x400]
call fcn.0040ac80
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3e8]
call fcn.0040ac80
push 0x598a4c
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
lea edx, [ebp - 0x28]
push edx
push 0x565b8c
lea eax, [ebp - 0x460]
push eax
call fcn.004188e0
add esp, 0xc
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x584]
mov dword [ebp - 0x580], ecx
mov byte [ebp - 4], 0x22
push 0x565b8c
mov edx, dword [ebp - 0x580]
push edx
lea eax, [ebp - 0x3a0]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x57c]
mov dword [ebp - 0x578], ecx
mov byte [ebp - 4], 0x23
push str.___1_
mov edx, dword [ebp - 0x578]
push edx
lea eax, [ebp - 0x3b8]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x570], ecx
mov byte [ebp - 4], 0x24
push 0x5642f4
mov edx, dword [ebp - 0x570]
push edx
lea eax, [ebp - 0x298]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x5b8], ecx
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x5b8]
push eax
lea ecx, [ebp - 0x3d0]
push ecx
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x568], eax
mov edx, dword [ebp - 0x568]
mov dword [ebp - 0x564], edx
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x564]
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x3d0]
call fcn.0040ac80
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x298]
call fcn.0040ac80
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3b8]
call fcn.0040ac80
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x3a0]
call fcn.0040ac80
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x460]
call fcn.0040ac80
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x340]
push eax
call fcn.004169c0
add esp, 0xc
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x560]
mov dword [ebp - 0x55c], ecx
mov byte [ebp - 4], 0x27
push str.Shell_
mov edx, dword [ebp - 0x55c]
push edx
lea eax, [ebp - 0x358]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x554], ecx
mov byte [ebp - 4], 0x28
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x554]
push eax
lea ecx, [ebp - 0x490]
push ecx
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x550], eax
mov edx, dword [ebp - 0x550]
mov dword [ebp - 0x54c], edx
mov byte [ebp - 4], 0x29
push str.command
mov eax, dword [ebp - 0x54c]
push eax
lea ecx, [ebp - 0x88]
push ecx
call fcn.00418990
add esp, 0xc
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x490]
call fcn.0040ac80
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x358]
call fcn.0040ac80
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x340]
call fcn.0040ac80
push 0x5570b0
mov edx, dword [ebp + 0x14]
push edx
call fcn.0047a720
add esp, 8
movzx eax, al
test eax, eax
je 0x51fc4e
lea ecx, [ebp - 0x28]
push ecx
push 0x565b8c
lea edx, [ebp - 0x4a8]
push edx
call fcn.004188e0
add esp, 0xc
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x544], eax
mov byte [ebp - 4], 0x2e
push 0x565b8c
mov ecx, dword [ebp - 0x544]
push ecx
lea edx, [ebp - 0x2b0]
push edx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x53c], eax
mov byte [ebp - 4], 0x2f
push str.___1_
mov ecx, dword [ebp - 0x53c]
push ecx
lea edx, [ebp - 0x2c8]
push edx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x534], eax
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 0x30
push 0x557230
mov ecx, dword [ebp - 0x530]
push ecx
lea edx, [ebp - 0x2e0]
push edx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x538], eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x538]
push edx
lea eax, [ebp - 0x2f8]
push eax
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], ecx
mov byte [ebp - 4], 0x32
push 0x557228
mov edx, dword [ebp - 0x5f0]
push edx
lea eax, [ebp - 0x310]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f8], ecx
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x5f8]
push eax
lea ecx, [ebp - 0x328]
push ecx
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5c0]
mov dword [ebp - 0x5d0], edx
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x5d0]
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0e0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x328]
call fcn.0040ac80
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x310]
call fcn.0040ac80
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2f8]
call fcn.0040ac80
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2e0]
call fcn.0040ac80
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x2c8]
call fcn.0040ac80
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2b0]
call fcn.0040ac80
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x4a8]
call fcn.0040ac80
mov ecx, dword [ebp - 0x504]
mov ecx, dword [ecx]
call fcn.004cb380
movzx edx, al
test edx, edx
je 0x51fce6
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x504]
mov ecx, dword [edx]
call fcn.004cb340
movzx eax, al
test eax, eax
jne 0x51fce6
mov ecx, dword [ebp - 0x504]
mov ecx, dword [ecx]
call fcn.004cb860
mov byte [ebp - 0x4fc], 1
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x88]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4fc]
jmp 0x52006f
mov dword [ebp - 0x50c], 0
lea edx, [ebp - 0x50c]
push edx
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x504]
mov ecx, dword [edx]
call fcn.004cad10
movzx eax, al
test eax, eax
je 0x51fd69
push 0x563068
lea ecx, [ebp - 0x1f0]
call fcn.0040e120
mov byte [ebp - 4], 0x35
push 0
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x50c]
push eax
mov ecx, dword [ebp - 0x504]
mov ecx, dword [ecx]
call fcn.004cb870
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1f0]
call fcn.0040ac80
mov edx, dword [ebp - 0x50c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x51fdbd
mov byte [ebp - 0x4fd], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x88]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4fd]
jmp 0x52006f
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x4f0]
push edx
call fcn.004169c0
add esp, 0xc
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d4]
mov dword [ebp - 0x5d8], eax
mov byte [ebp - 4], 0x36
push str.Shell_
mov ecx, dword [ebp - 0x5d8]
push ecx
lea edx, [ebp - 0x4d8]
push edx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x5e4], eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp - 0x5e4]
push edx
lea eax, [ebp - 0x4c0]
push eax
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x5e8], eax
mov ecx, dword [ebp - 0x5e8]
mov dword [ebp - 0x528], ecx
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x528]
push edx
lea ecx, [ebp - 0x88]
call fcn.0040e0e0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x4c0]
call fcn.0040ac80
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x4d8]
call fcn.0040ac80
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x4f0]
call fcn.0040ac80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040e180
mov byte [ebp - 4], 0x39
push 0x5570e8
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040eae0
add esp, 8
movzx edx, al
test edx, edx
je 0x51feca
push 0x557238
lea ecx, [ebp - 0xa0]
call fcn.0040e050
jmp 0x51ff97
push 0x5570d0
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040eae0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51ff2b
push 0x567bb8
lea ecx, [ebp - 0x1d8]
call fcn.0040e120
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x4f4]
or edx, 0x800
mov dword [ebp - 0x4f4], edx
lea eax, [ebp - 0x1d8]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00412d00
add esp, 8
test eax, eax
jne 0x51ff2b
mov dword [ebp - 0x514], 1
jmp 0x51ff35
mov dword [ebp - 0x514], 0
mov dl, byte [ebp - 0x514]
mov byte [ebp - 0x4fe], dl
mov dword [ebp - 4], 0x39
mov eax, dword [ebp - 0x4f4]
and eax, 0x800
je 0x51ff6a
and dword [ebp - 0x4f4], 0xfffff7ff
lea ecx, [ebp - 0x1d8]
call fcn.0040ac80
movzx ecx, byte [ebp - 0x4fe]
test ecx, ecx
je 0x51ff87
push 0x557240
lea ecx, [ebp - 0xa0]
call fcn.0040e050
jmp 0x51ff97
push 0x556e00
lea ecx, [ebp - 0xa0]
call fcn.0040e050
lea edx, [ebp - 0x50c]
push edx
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x504]
mov ecx, dword [edx]
call fcn.004cad10
movzx eax, al
test eax, eax
je 0x520011
push str.Icon
lea ecx, [ebp - 0x1c0]
call fcn.0040e120
mov byte [ebp - 4], 0x3b
push 0
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x50c]
push eax
mov ecx, dword [ebp - 0x504]
mov ecx, dword [ecx]
call fcn.004cb870
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x1c0]
call fcn.0040ac80
mov edx, dword [ebp - 0x50c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0x4ff], 1
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xa0]
call fcn.0040ac80
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x88]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov al, byte [ebp - 0x4ff]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f8545
mov esp, ebp
pop ebp
ret 0x10