Function at 0x51e9e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54b109
mov eax, dword fs:[0]
push eax
sub esp, 0x63c
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 - 0x530], ecx
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x648], 0
mov eax, dword [0x598a00]
and eax, 1
jne 0x51ea63
mov ecx, dword [0x598a00]
or ecx, 1
mov dword [0x598a00], ecx
mov dword [ebp - 4], 0
mov ecx, 0x5989e8
call fcn.0040e160
push 0x54c860
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x5989e8
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51eabf
lea eax, [ebp - 0x430]
push eax
call fcn.004ccb10
add esp, 4
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
mov dword [ebp - 0x624], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x624]
push edx
mov ecx, 0x5989e8
call fcn.0040e0e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x430]
call fcn.0040ac80
mov eax, dword [0x598a00]
and eax, 2
jne 0x51eafd
mov ecx, dword [0x598a00]
or ecx, 2
mov dword [0x598a00], ecx
mov dword [ebp - 4], 2
mov ecx, 0x598a04
call fcn.0040e160
push 0x54c8e0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x598a00]
and edx, 4
jne 0x51eb3a
mov eax, dword [0x598a00]
or eax, 4
mov dword [0x598a00], eax
mov dword [ebp - 4], 3
mov ecx, 0x598a1c
call fcn.0040e160
push 0x54c8c0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x598a00]
and ecx, 8
jne 0x51eb79
mov edx, dword [0x598a00]
or edx, 8
mov dword [0x598a00], edx
mov dword [ebp - 4], 4
mov ecx, 0x598a34
call fcn.0040e160
push 0x54c8f0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x598a00]
and eax, 0x10
jne 0x51ebb7
mov ecx, dword [0x598a00]
or ecx, 0x10
mov dword [0x598a00], ecx
mov dword [ebp - 4], 5
mov ecx, 0x598a4c
call fcn.0040e160
push 0x54c8d0
call fcn.004f880b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x598a04
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ec70
push str.2345PicViewer.exe
lea ecx, [ebp - 0x268]
call fcn.0040e120
mov dword [ebp - 4], 6
lea eax, [ebp - 0x268]
push eax
push 0x5989e8
lea ecx, [ebp - 0x418]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x620], eax
mov edx, dword [ebp - 0x620]
mov dword [ebp - 0x61c], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x61c]
push eax
mov ecx, 0x598a04
call fcn.0040e0e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x418]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.0040ac80
push 0x598a04
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51ec70
push 0x563018
mov ecx, 0x598a04
call fcn.0040e080
xor al, al
jmp 0x520067
mov ecx, 0x598a1c
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ed29
push str.2345PdfReader.exe
lea ecx, [ebp - 0x250]
call fcn.0040e120
mov dword [ebp - 4], 8
lea eax, [ebp - 0x250]
push eax
push 0x5989e8
lea ecx, [ebp - 0x400]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x618], eax
mov edx, dword [ebp - 0x618]
mov dword [ebp - 0x614], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x614]
push eax
mov ecx, 0x598a1c
call fcn.0040e0e0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x400]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x250]
call fcn.0040ac80
push 0x598a1c
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51ed29
push 0x563018
mov ecx, 0x598a1c
call fcn.0040e080
xor al, al
jmp 0x520067
mov ecx, 0x598a34
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ede2
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 - 0x3e8]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x610], eax
mov edx, dword [ebp - 0x610]
mov dword [ebp - 0x60c], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x60c]
push eax
mov ecx, 0x598a34
call fcn.0040e0e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3e8]
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 0x51ede2
push 0x563018
mov ecx, 0x598a34
call fcn.0040e080
xor al, al
jmp 0x520067
mov ecx, 0x598a4c
call fcn.0040e030
movzx edx, al
test edx, edx
je 0x51ee9b
push str.2345PicEdit.exe
lea ecx, [ebp - 0x238]
call fcn.0040e120
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x238]
push eax
push 0x5989e8
lea ecx, [ebp - 0x3d0]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x608], eax
mov edx, dword [ebp - 0x608]
mov dword [ebp - 0x600], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x600]
push eax
mov ecx, 0x598a4c
call fcn.0040e0e0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3d0]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.0040ac80
push 0x598a4c
call fcn.00415500
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x51ee9b
push 0x563018
mov ecx, 0x598a4c
call fcn.0040e080
xor al, al
jmp 0x520067
lea ecx, [ebp - 0x58]
call fcn.0040e160
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040e160
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040e160
mov byte [ebp - 4], 0x10
push 0x5570a0
mov edx, dword [ebp + 0x14]
push edx
call fcn.0040eae0
add esp, 8
movzx eax, al
test eax, eax
je 0x51f087
push str.__rightmenu
lea ecx, [ebp - 0x40]
call fcn.0040e080
push 0x598a04
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
push 0x567b68
lea ecx, [ebp - 0xb8]
call fcn.0040e120
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x524]
or ecx, 1
mov dword [ebp - 0x524], ecx
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51efbc
push 0x557080
lea ecx, [ebp - 0xa0]
call fcn.0040e120
mov dword [ebp - 4], 0x12
mov ecx, dword [ebp - 0x524]
or ecx, 2
mov dword [ebp - 0x524], ecx
lea edx, [ebp - 0xa0]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51efbc
push str..ofd
lea ecx, [ebp - 0x220]
call fcn.0040e120
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0x524]
or ecx, 4
mov dword [ebp - 0x524], ecx
lea edx, [ebp - 0x220]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51efbc
mov dword [ebp - 0x558], 0
jmp 0x51efc6
mov dword [ebp - 0x558], 1
mov cl, byte [ebp - 0x558]
mov byte [ebp - 0x52a], cl
mov dword [ebp - 4], 0x12
mov edx, dword [ebp - 0x524]
and edx, 4
je 0x51eff6
and dword [ebp - 0x524], 0xfffffffb
lea ecx, [ebp - 0x220]
call fcn.0040ac80
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x524]
and eax, 2
je 0x51f01a
and dword [ebp - 0x524], 0xfffffffd
lea ecx, [ebp - 0xa0]
call fcn.0040ac80
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x524]
and ecx, 1
je 0x51f03e
and dword [ebp - 0x524], 0xfffffffe
lea ecx, [ebp - 0xb8]
call fcn.0040ac80
movzx edx, byte [ebp - 0x52a]
test edx, edx
je 0x51f082
mov byte [ebp - 0x529], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x529]
jmp 0x520067
jmp 0x51fa09
push 0x5570d0
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040eae0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51f324
push 0x567b68
lea ecx, [ebp - 0xd0]
call fcn.0040e120
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412d00
add esp, 8
test eax, eax
jne 0x51f0da
mov dword [ebp - 0x554], 1
jmp 0x51f0e4
mov dword [ebp - 0x554], 0
mov cl, byte [ebp - 0x554]
mov byte [ebp - 0x528], cl
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xd0]
call fcn.0040ac80
movzx edx, byte [ebp - 0x528]
test edx, edx
je 0x51f1de
push str.2345PdfEditor.exe
lea ecx, [ebp - 0xe8]
call fcn.0040e120
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0xe8]
push eax
push 0x5989e8
lea ecx, [ebp - 0x3b8]
push ecx
call fcn.00418670
add esp, 0xc
mov dword [ebp - 0x5fc], eax
mov edx, dword [ebp - 0x5fc]
mov dword [ebp - 0x5f8], edx
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x5f8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040e0e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3b8]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe8]
call fcn.0040ac80
lea ecx, [ebp - 0x28]
push ecx
call fcn.00415500
add esp, 4
movzx edx, al
test edx, edx
jne 0x51f1d9
push 0x563018
lea ecx, [ebp - 0x28]
call fcn.0040e080
mov byte [ebp - 0x527], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x527]
jmp 0x520067
jmp 0x51f312
push 0x557080
lea ecx, [ebp - 0x118]
call fcn.0040e120
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x524]
or eax, 8
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x118]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f261
push str..ofd
lea ecx, [ebp - 0x100]
call fcn.0040e120
mov dword [ebp - 4], 0x18
mov eax, dword [ebp - 0x524]
or eax, 0x10
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x100]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f261
mov dword [ebp - 0x550], 0
jmp 0x51f26b
mov dword [ebp - 0x550], 1
mov al, byte [ebp - 0x550]
mov byte [ebp - 0x526], al
mov dword [ebp - 4], 0x17
mov ecx, dword [ebp - 0x524]
and ecx, 0x10
je 0x51f29b
and dword [ebp - 0x524], 0xffffffef
lea ecx, [ebp - 0x100]
call fcn.0040ac80
mov dword [ebp - 4], 0x10
mov edx, dword [ebp - 0x524]
and edx, 8
je 0x51f2bf
and dword [ebp - 0x524], 0xfffffff7
lea ecx, [ebp - 0x118]
call fcn.0040ac80
movzx eax, byte [ebp - 0x526]
test eax, eax
je 0x51f2d9
push 0x598a1c
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
jmp 0x51f312
mov byte [ebp - 0x525], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x525]
jmp 0x520067
push str.__rightmenu
lea ecx, [ebp - 0x40]
call fcn.0040e080
jmp 0x51fa09
push 0x5570dc
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040eae0
add esp, 8
movzx edx, al
test edx, edx
je 0x51f568
push 0x567b68
lea ecx, [ebp - 0x178]
call fcn.0040e120
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x524]
or eax, 0x20
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x178]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f406
push 0x557080
lea ecx, [ebp - 0x160]
call fcn.0040e120
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x524]
or eax, 0x40
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f406
push str..ofd
lea ecx, [ebp - 0x130]
call fcn.0040e120
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0x524]
or eax, 0x80
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x130]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f406
mov dword [ebp - 0x54c], 0
jmp 0x51f410
mov dword [ebp - 0x54c], 1
mov al, byte [ebp - 0x54c]
mov byte [ebp - 0x539], al
mov dword [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x524]
and ecx, 0x80
je 0x51f446
and dword [ebp - 0x524], 0xffffff7f
lea ecx, [ebp - 0x130]
call fcn.0040ac80
mov dword [ebp - 4], 0x19
mov edx, dword [ebp - 0x524]
and edx, 0x40
je 0x51f46a
and dword [ebp - 0x524], 0xffffffbf
lea ecx, [ebp - 0x160]
call fcn.0040ac80
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x524]
and eax, 0x20
je 0x51f48e
and dword [ebp - 0x524], 0xffffffdf
lea ecx, [ebp - 0x178]
call fcn.0040ac80
movzx ecx, byte [ebp - 0x539]
test ecx, ecx
je 0x51f4d2
mov byte [ebp - 0x538], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x538]
jmp 0x520067
push 0x557174
lea ecx, [ebp - 0x388]
call fcn.0040e120
mov dword [ebp - 0x5f4], eax
mov edx, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f0], edx
mov byte [ebp - 4], 0x1c
push str.__rightmenu
mov eax, dword [ebp - 0x5f0]
push eax
lea ecx, [ebp - 0x3a0]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5ec], eax
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5e8], edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x5e8]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040e0e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x3a0]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x388]
call fcn.0040ac80
push 0x598a34
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
jmp 0x51fa09
push 0x5570e8
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040eae0
add esp, 8
movzx edx, al
test edx, edx
je 0x51f7bb
push 0x567b68
lea ecx, [ebp - 0x1c0]
call fcn.0040e120
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x524]
or eax, 0x100
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x1c0]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f64e
push 0x557080
lea ecx, [ebp - 0x1a8]
call fcn.0040e120
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp - 0x524]
or eax, 0x200
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x1a8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f64e
push str..ofd
lea ecx, [ebp - 0x190]
call fcn.0040e120
mov dword [ebp - 4], 0x20
mov eax, dword [ebp - 0x524]
or eax, 0x400
mov dword [ebp - 0x524], eax
lea ecx, [ebp - 0x190]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412d00
add esp, 8
test eax, eax
je 0x51f64e
mov dword [ebp - 0x548], 1
jmp 0x51f658
mov dword [ebp - 0x548], 0
mov al, byte [ebp - 0x548]
mov byte [ebp - 0x531], al
mov dword [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x524]
and ecx, 0x400
je 0x51f68e
and dword [ebp - 0x524], 0xfffffbff
lea ecx, [ebp - 0x190]
call fcn.0040ac80
mov dword [ebp - 4], 0x1e
mov edx, dword [ebp - 0x524]
and edx, 0x200
je 0x51f6b8
and dword [ebp - 0x524], 0xfffffdff
lea ecx, [ebp - 0x1a8]
call fcn.0040ac80
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x524]
and eax, 0x100
je 0x51f6e1
and dword [ebp - 0x524], 0xfffffeff
lea ecx, [ebp - 0x1c0]
call fcn.0040ac80
movzx ecx, byte [ebp - 0x531]
test ecx, ecx
je 0x51f725
mov byte [ebp - 0x537], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x537]
jmp 0x520067
push 0x557180
lea ecx, [ebp - 0x358]
call fcn.0040e120
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e0], edx
mov byte [ebp - 4], 0x21
push str.__rightmenu
mov eax, dword [ebp - 0x5e0]
push eax
lea ecx, [ebp - 0x370]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5dc], eax
mov edx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5d8], edx
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x5d8]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040e0e0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x370]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x358]
call fcn.0040ac80
push 0x598a34
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
jmp 0x51fa09
push 0x5570b0
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040eae0
add esp, 8
movzx edx, al
test edx, edx
je 0x51fa09
push 1
mov eax, dword [ebp + 0x10]
push eax
call fcn.004ef950
add esp, 8
mov dword [ebp - 0x5d4], eax
cmp dword [ebp - 0x5d4], 0xffffffff
jne 0x51f82d
mov byte [ebp - 0x536], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x536]
jmp 0x520067
push str.0___pagetype5___subtype3
lea ecx, [ebp - 0x448]
call fcn.0040e120
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebp - 0x5d0]
mov dword [ebp - 0x5cc], ecx
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x5cc]
push edx
push str.__rightmenu
lea eax, [ebp - 0x340]
push eax
call fcn.0047a730
add esp, 0xc
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5c8]
mov dword [ebp - 0x5c4], ecx
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x5c4]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040e0e0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x340]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x448]
call fcn.0040ac80
push 0x598a4c
lea ecx, [ebp - 0x28]
call fcn.0040e0b0
lea eax, [ebp - 0x28]
push eax
push 0x565b3c
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.004188e0
add esp, 0xc
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5c0]
mov dword [ebp - 0x5bc], edx
mov byte [ebp - 4], 0x25
push 0x565b3c
mov eax, dword [ebp - 0x5bc]
push eax
lea ecx, [ebp - 0x2e0]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5b8], eax
mov edx, dword [ebp - 0x5b8]
mov dword [ebp - 0x604], edx
mov byte [ebp - 4], 0x26
push str.___1_
mov eax, dword [ebp - 0x604]
push eax
lea ecx, [ebp - 0x2f8]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5b4], eax
mov edx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b0], edx
mov byte [ebp - 4], 0x27
push 0x5642a4
mov eax, dword [ebp - 0x5b0]
push eax
lea ecx, [ebp - 0x310]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x5ac], eax
mov edx, dword [ebp - 0x5ac]
mov dword [ebp - 0x5a8], edx
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x5a8]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x5a0]
push ecx
lea ecx, [ebp - 0x58]
call fcn.0040e0e0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x328]
call fcn.0040ac80
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x310]
call fcn.0040ac80
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2f8]
call fcn.0040ac80
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x2e0]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2c8]
call fcn.0040ac80
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x280]
push ecx
call fcn.004169c0
add esp, 0xc
mov dword [ebp - 0x59c], eax
mov edx, dword [ebp - 0x59c]
mov dword [ebp - 0x598], edx
mov byte [ebp - 4], 0x2a
push str.Shell_
mov eax, dword [ebp - 0x598]
push eax
lea ecx, [ebp - 0x298]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x594], eax
mov edx, dword [ebp - 0x594]
mov dword [ebp - 0x590], edx
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x590]
push ecx
lea edx, [ebp - 0x2b0]
push edx
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x588], eax
mov byte [ebp - 4], 0x2c
push str.command
mov ecx, dword [ebp - 0x588]
push ecx
lea edx, [ebp - 0x70]
push edx
call fcn.00418990
add esp, 0xc
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2b0]
call fcn.0040ac80
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x298]
call fcn.0040ac80
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x280]
call fcn.0040ac80
push 0x5570b0
mov eax, dword [ebp + 0x14]
push eax
call fcn.0047a720
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51fc83
lea edx, [ebp - 0x28]
push edx
push 0x565b3c
lea eax, [ebp - 0x478]
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], 0x31
push 0x565b3c
mov edx, dword [ebp - 0x580]
push edx
lea eax, [ebp - 0x490]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
mov dword [ebp - 0x574], ecx
mov byte [ebp - 4], 0x32
push str.___1_
mov edx, dword [ebp - 0x574]
push edx
lea eax, [ebp - 0x4a8]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x57c]
mov dword [ebp - 0x640], ecx
mov byte [ebp - 4], 0x33
push 0x5571e0
mov edx, dword [ebp - 0x640]
push edx
lea eax, [ebp - 0x4c0]
push eax
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x62c], ecx
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x62c]
push eax
lea ecx, [ebp - 0x4d8]
push ecx
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x630], eax
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x634], edx
mov byte [ebp - 4], 0x35
push 0x565b3c
mov eax, dword [ebp - 0x634]
push eax
lea ecx, [ebp - 0x4f0]
push ecx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x638], eax
mov edx, dword [ebp - 0x638]
mov dword [ebp - 0x63c], edx
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x58]
call fcn.0040e0e0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x4f0]
call fcn.0040ac80
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x4d8]
call fcn.0040ac80
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x4c0]
call fcn.0040ac80
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x4a8]
call fcn.0040ac80
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x490]
call fcn.0040ac80
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x478]
call fcn.0040ac80
mov ecx, dword [ebp - 0x530]
mov ecx, dword [ecx]
call fcn.004cb380
movzx edx, al
test edx, edx
je 0x51fd05
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x530]
mov ecx, dword [edx]
call fcn.004cb340
movzx eax, al
test eax, eax
jne 0x51fd05
mov ecx, dword [ebp - 0x530]
mov ecx, dword [ecx]
call fcn.004cb860
mov byte [ebp - 0x535], 1
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x535]
jmp 0x520067
mov dword [ebp - 0x540], 0
lea edx, [ebp - 0x540]
push edx
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x530]
mov ecx, dword [edx]
call fcn.004cad10
movzx eax, al
test eax, eax
je 0x51fd85
push 0x563018
lea ecx, [ebp - 0x1d8]
call fcn.0040e120
mov byte [ebp - 4], 0x37
push 0
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x1d8]
push edx
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x530]
mov ecx, dword [ecx]
call fcn.004cb870
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x1d8]
call fcn.0040ac80
mov edx, dword [ebp - 0x540]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x51fdca
mov byte [ebp - 0x534], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x534]
jmp 0x520067
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x520]
push edx
call fcn.004169c0
add esp, 0xc
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x560], eax
mov byte [ebp - 4], 0x38
push str.Shell_
mov ecx, dword [ebp - 0x560]
push ecx
lea edx, [ebp - 0x508]
push edx
call fcn.00418990
add esp, 0xc
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x568], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp - 0x568]
push edx
lea eax, [ebp - 0x460]
push eax
call fcn.0043a6a0
add esp, 0xc
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x570], ecx
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x570]
push edx
lea ecx, [ebp - 0x70]
call fcn.0040e0e0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x460]
call fcn.0040ac80
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x508]
call fcn.0040ac80
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x520]
call fcn.0040ac80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x88]
call fcn.0040e180
mov byte [ebp - 4], 0x3b
push 0x5570e8
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040eae0
add esp, 8
movzx edx, al
test edx, edx
je 0x51fed4
push 0x5571e8
lea ecx, [ebp - 0x88]
call fcn.0040e050
jmp 0x51ffa1
push 0x5570d0
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040eae0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51ff35
push 0x567b68
lea ecx, [ebp - 0x1f0]
call fcn.0040e120
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x524]
or edx, 0x800
mov dword [ebp - 0x524], edx
lea eax, [ebp - 0x1f0]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00412d00
add esp, 8
test eax, eax
jne 0x51ff35
mov dword [ebp - 0x544], 1
jmp 0x51ff3f
mov dword [ebp - 0x544], 0
mov dl, byte [ebp - 0x544]
mov byte [ebp - 0x533], dl
mov dword [ebp - 4], 0x3b
mov eax, dword [ebp - 0x524]
and eax, 0x800
je 0x51ff74
and dword [ebp - 0x524], 0xfffff7ff
lea ecx, [ebp - 0x1f0]
call fcn.0040ac80
movzx ecx, byte [ebp - 0x533]
test ecx, ecx
je 0x51ff91
push 0x5571f0
lea ecx, [ebp - 0x88]
call fcn.0040e050
jmp 0x51ffa1
push 0x556e00
lea ecx, [ebp - 0x88]
call fcn.0040e050
lea edx, [ebp - 0x540]
push edx
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x530]
mov ecx, dword [edx]
call fcn.004cad10
movzx eax, al
test eax, eax
je 0x520018
push str.Icon
lea ecx, [ebp - 0x208]
call fcn.0040e120
mov byte [ebp - 4], 0x3d
push 0
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x208]
push edx
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x530]
mov ecx, dword [ecx]
call fcn.004cb870
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x208]
call fcn.0040ac80
mov edx, dword [ebp - 0x540]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0x532], 1
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x88]
call fcn.0040ac80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x70]
call fcn.0040ac80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0040ac80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ac80
mov al, byte [ebp - 0x532]
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