Function at 0x4a37b0
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Self delete

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52dd82
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x590
mov eax, dword [0x595be0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x232], 1
call fcn.0043b900
mov dword [ebp - 4], 0
push 0
call fcn.0042b3e0
add esp, 4
push eax
call fcn.00502270
add esp, 4
push 0
call fcn.0042b3e0
add esp, 4
mov dword [0x59d198], eax
mov dword [0x59d19c], edx
push 0x5747f0
mov ecx, 0x59d360
call fcn.00428d50
mov ecx, 0x59d360
call fcn.004394b0
push str.debug
push 0x59d360
call fcn.00439590
add esp, 8
movzx eax, al
test eax, eax
jne 0x4a387e
push str.test
push 0x59d360
call fcn.00439590
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x4a387e
push 0
push str.installerparam3placeholder
mov ecx, 0x59d360
call fcn.00439430
cmp eax, 0xffffffff
je 0x4a3885
mov byte [0x59d188], 1
lea edx, [ebp - 0x22c]
push edx
call dword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x4a394c
mov eax, 1
imul eax, eax, 7
movzx ecx, byte [ebp + eax - 0x224]
push ecx
mov edx, 1
imul edx, edx, 6
movzx eax, byte [ebp + edx - 0x224]
push eax
mov ecx, 1
imul ecx, ecx, 5
movzx edx, byte [ebp + ecx - 0x224]
push edx
mov eax, 1
shl eax, 2
movzx ecx, byte [ebp + eax - 0x224]
push ecx
mov edx, 1
imul edx, edx, 3
movzx eax, byte [ebp + edx - 0x224]
push eax
mov ecx, 1
shl ecx, 1
movzx edx, byte [ebp + ecx - 0x224]
push edx
mov eax, 1
shl eax, 0
movzx ecx, byte [ebp + eax - 0x224]
push ecx
mov edx, 1
imul edx, edx, 0
movzx eax, byte [ebp + edx - 0x224]
push eax
movzx ecx, word [ebp - 0x226]
push ecx
movzx edx, word [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x22c]
push eax
push 0x574748
push 0x59d318
call fcn.0042a490
add esp, 0x34
jmp 0x4a395b
push 0x5747e8
mov ecx, 0x59d318
call fcn.00428d50
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x230]
call fcn.00428940
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 1
push 0x5747e0
lea ecx, [ebp - 0x290]
call fcn.00428940
mov dword [ebp - 0x544], eax
mov byte [ebp - 4], 2
lea edx, [ebp - 0x290]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x23c]
push ecx
call fcn.00438220
add esp, 0xc
mov dword [ebp - 0x554], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x290]
call fcn.00428a40
lea ecx, [ebp - 0x23c]
call fcn.0042d620
movzx edx, al
test edx, edx
je 0x4a3a6a
push 0x574990
lea ecx, [ebp - 0x304]
call fcn.00428940
mov dword [ebp - 0x550], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x304]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00438120
add esp, 0xc
mov byte [ebp - 0x236], al
movzx eax, byte [ebp - 0x236]
test eax, eax
jne 0x4a3a2a
mov dword [ebp - 0x2fc], 1
jmp 0x4a3a34
mov dword [ebp - 0x2fc], 0
mov cl, byte [ebp - 0x2fc]
mov byte [ebp - 0x234], cl
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x304]
call fcn.00428a40
movzx edx, byte [ebp - 0x234]
test edx, edx
je 0x4a3a6a
push 0x574948
lea ecx, [ebp - 0x23c]
call fcn.00428d50
lea eax, [ebp - 0x23c]
push eax
mov ecx, 0x59d36c
call fcn.0042d650
push str.ABCD
lea ecx, [ebp - 0x248]
call fcn.00428940
mov dword [ebp - 0x500], eax
mov byte [ebp - 4], 6
push str.ptechNUMBER
push 0x574928
lea ecx, [ebp - 0x248]
call fcn.0042af90
push str.7340
push 0x574938
lea ecx, [ebp - 0x248]
call fcn.0042af90
push 0x574934
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x318]
push edx
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x4f0], eax
mov byte [ebp - 4], 7
push 0x59d318
mov ecx, dword [ebp - 0x4f0]
push ecx
lea edx, [ebp - 0x438]
push edx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x310], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x310]
call fcn.00402a70
push eax
lea ecx, [ebp - 0x254]
call fcn.004391f0
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x438]
call fcn.00428a40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x318]
call fcn.00428a40
push 0
lea ecx, [ebp - 0x254]
call fcn.00439840
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.00436a60
add esp, 8
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x440], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x440]
push ecx
mov ecx, 0x59d374
call fcn.0042d650
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x328]
call fcn.00428a40
push 0xffffffffffffffff
lea ecx, [ebp - 0x254]
call fcn.004ac390
lea ecx, [ebp - 0x24c]
call fcn.0042a230
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x24c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x508], esp
push 0x574a08
call fcn.00428940
mov dword [ebp - 0x548], eax
call fcn.00437ee0
add esp, 8
push 0x59d2f0
lea eax, [ebp - 0x24c]
push eax
call fcn.00438030
add esp, 8
mov ecx, 0x59d2f0
call fcn.00429940
sub eax, 1
push eax
mov ecx, 0x59d2f0
call fcn.00439190
mov word [ebp - 0x25a], ax
movzx ecx, word [ebp - 0x25a]
cmp ecx, 0x5c
je 0x4a3c4d
push 0x574a04
mov ecx, 0x59d2f0
call fcn.00432aa0
push 0
push 0x574a18
lea ecx, [ebp - 0x230]
call fcn.00439430
cmp eax, 0xffffffff
je 0x4a3d69
push 0x574a14
lea ecx, [ebp - 0x268]
call fcn.00428940
mov dword [ebp - 0x510], eax
mov byte [ebp - 4], 0xe
push 0x5749c0
push 0x59d2f0
lea edx, [ebp - 0x4b8]
push edx
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x4a8], eax
mov eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x330]
push edx
lea eax, [ebp - 0x348]
push eax
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x338], ecx
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x268]
push edx
mov eax, dword [ebp - 0x338]
push eax
lea ecx, [ebp - 0x450]
push ecx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x4b0], eax
mov edx, dword [ebp - 0x4b0]
mov dword [ebp - 0x340], edx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x340]
push eax
mov ecx, 0x59d2f8
call fcn.0042d650
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x450]
call fcn.00428a40
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x348]
call fcn.00428a40
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x4b8]
call fcn.00428a40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x268]
call fcn.00428a40
jmp 0x4a3df8
push 0x59d318
push 0x59d2f0
lea ecx, [ebp - 0x460]
push ecx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x350], eax
mov edx, dword [ebp - 0x350]
mov dword [ebp - 0x458], edx
mov byte [ebp - 4], 0x12
push 0x5749bc
mov eax, dword [ebp - 0x458]
push eax
lea ecx, [ebp - 0x360]
push ecx
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x358], eax
mov edx, dword [ebp - 0x358]
mov dword [ebp - 0x4c0], edx
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x4c0]
push eax
mov ecx, 0x59d2f8
call fcn.0042d650
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x360]
call fcn.00428a40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x460]
call fcn.00428a40
lea ecx, [ebp - 0x260]
call fcn.0042a230
mov byte [ebp - 4], 0x14
push 1
lea ecx, [ebp - 0x260]
push ecx
push 0x59d2f8
call fcn.0042f780
add esp, 0xc
push 0x59d318
push 0x59d2f8
lea edx, [ebp - 0x4d0]
push edx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x4c8], eax
mov byte [ebp - 4], 0x15
push 0x5749e8
mov ecx, dword [ebp - 0x4c8]
push ecx
lea edx, [ebp - 0x378]
push edx
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x468], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x468]
push ecx
mov ecx, 0x59d30c
call fcn.0042d650
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x378]
call fcn.00428a40
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4d0]
call fcn.00428a40
push str._logpath
lea ecx, [ebp - 0x2b8]
call fcn.00428940
mov dword [ebp - 0x538], eax
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x2b8]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x244]
push ecx
call fcn.00438220
add esp, 0xc
mov dword [ebp - 0x518], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2b8]
call fcn.00428a40
lea ecx, [ebp - 0x244]
call fcn.0042d620
movzx edx, al
test edx, edx
jne 0x4a415d
lea ecx, [ebp - 0x270]
call fcn.0042a230
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x244]
push eax
push str.desktop
call fcn.004ac5a0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4a4050
lea edx, [ebp - 0x250]
push edx
call fcn.004ab180
add esp, 4
mov dword [ebp - 0x54c], eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x250]
call fcn.0042d620
movzx eax, al
test eax, eax
jne 0x4a403c
push 0x574ad0
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x3a0]
push edx
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x470], eax
mov byte [ebp - 4], 0x1c
push 0x59d318
mov ecx, dword [ebp - 0x470]
push ecx
lea edx, [ebp - 0x4e0]
push edx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x4d8], eax
mov byte [ebp - 4], 0x1d
push 0x574a88
mov ecx, dword [ebp - 0x4d8]
push ecx
lea edx, [ebp - 0x398]
push edx
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x478], eax
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x478]
push ecx
mov ecx, 0x59d30c
call fcn.0042d650
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x398]
call fcn.00428a40
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x4e0]
call fcn.00428a40
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3a0]
call fcn.00428a40
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x250]
call fcn.00428a40
jmp 0x4a414e
push 0
lea edx, [ebp - 0x270]
push edx
lea eax, [ebp - 0x244]
push eax
call fcn.0042f780
add esp, 0xc
mov byte [ebp - 0x235], al
movzx ecx, byte [ebp - 0x235]
test ecx, ecx
je 0x4a414e
push 0x574a50
lea edx, [ebp - 0x244]
push edx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4e8]
mov dword [ebp - 0x3a8], ecx
mov byte [ebp - 4], 0x1f
push 0x59d318
mov edx, dword [ebp - 0x3a8]
push edx
lea eax, [ebp - 0x3c0]
push eax
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x3b0], ecx
mov byte [ebp - 4], 0x20
push str._LogFile.txt
mov edx, dword [ebp - 0x3b0]
push edx
lea eax, [ebp - 0x308]
push eax
call fcn.0042d750
add esp, 0xc
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x3b8], ecx
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x3b8]
push edx
mov ecx, 0x59d30c
call fcn.0042d650
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x308]
call fcn.00428a40
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x3c0]
call fcn.00428a40
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x4e4]
call fcn.00428a40
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x270]
call fcn.00428a40
call fcn.004aa860
call fcn.004ab4b0
push str._g_strTempFolder
lea ecx, [ebp - 0x280]
call fcn.00428940
mov dword [ebp - 0x520], eax
mov byte [ebp - 4], 0x22
push str.strTempFolder
lea ecx, [ebp - 0x2c0]
call fcn.00428940
mov dword [ebp - 0x540], eax
mov byte [ebp - 4], 0x23
push 0x574a54
lea ecx, [ebp - 0x278]
call fcn.00428940
mov dword [ebp - 0x528], eax
mov byte [ebp - 4], 0x24
push 0x574c50
lea ecx, [ebp - 0x2e0]
call fcn.00428940
mov dword [ebp - 0x4f8], eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x400]
call fcn.0042a230
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2c0]
push ecx
mov edx, dword [ebp - 0x494]
push edx
lea eax, [ebp - 0x4ac]
push eax
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x4c4], ecx
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x24c]
push edx
mov eax, dword [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x3d8], eax
mov edx, dword [ebp - 0x3d8]
mov dword [ebp - 0x49c], edx
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x280]
push eax
mov ecx, dword [ebp - 0x49c]
push ecx
lea edx, [ebp - 0x4cc]
push edx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x4dc], eax
mov byte [ebp - 4], 0x29
push 0x59d2f0
mov ecx, dword [ebp - 0x4dc]
push ecx
lea edx, [ebp - 0x3f0]
push edx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x4a4], eax
mov byte [ebp - 4], 0x2a
push 0
mov ecx, dword [ebp - 0x4a4]
push ecx
lea edx, [ebp - 0x278]
push edx
lea eax, [ebp - 0x2e0]
push eax
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x3f0]
call fcn.00428a40
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x4cc]
call fcn.00428a40
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x3f8]
call fcn.00428a40
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x4ac]
call fcn.00428a40
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x400]
call fcn.00428a40
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2e0]
call fcn.00428a40
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x278]
call fcn.00428a40
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c0]
call fcn.00428a40
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x280]
call fcn.00428a40
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp + 8]
mov dword [0x59d18c], ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 0xff
call fcn.004a3050
add esp, 4
push 0
mov edx, dword [ebp + 8]
push edx
push 0
mov ecx, 0x59d320
call fcn.004a32a0
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x408], eax
call fcn.00460d50
lea ecx, [ebp - 0x230]
call fcn.0042d620
movzx ecx, al
test ecx, ecx
jne 0x4a44d2
push 0
lea ecx, [ebp - 0x230]
call fcn.00439190
mov word [ebp - 0x258], ax
movzx edx, word [ebp - 0x258]
cmp edx, 0x22
jne 0x4a444d
lea ecx, [ebp - 0x230]
call fcn.00429940
sub eax, 1
push eax
push 1
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x230]
call fcn.0042d670
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b4]
mov dword [ebp - 0x410], ecx
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x410]
push edx
lea ecx, [ebp - 0x230]
call fcn.0042d650
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x47c]
call fcn.00428a40
lea ecx, [ebp - 0x230]
call fcn.00429940
sub eax, 1
push eax
lea ecx, [ebp - 0x230]
call fcn.00439190
mov word [ebp - 0x256], ax
movzx eax, word [ebp - 0x256]
cmp eax, 0x22
jne 0x4a44d2
lea ecx, [ebp - 0x230]
call fcn.00429940
sub eax, 2
push eax
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x230]
call fcn.0043b7f0
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x480], edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x480]
push eax
lea ecx, [ebp - 0x230]
call fcn.0042d650
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x420]
call fcn.00428a40
push 0
push 0
push 0
lea ecx, [ebp - 0x5a0]
call fcn.004a36c0
push 0
lea ecx, [ebp - 0x5a0]
push ecx
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
mov dword [ebp - 0x4fc], eax
lea eax, [ebp - 0x230]
push eax
call fcn.004a5170
add esp, 4
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x504], ecx
movzx edx, byte [0x59d189]
test edx, edx
je 0x4a453b
cmp dword [0x59d1c0], 3
jne 0x4a453b
mov byte [ebp - 0x232], 0
mov eax, dword [ebp - 0x428]
push eax
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov ecx, 0x59d320
call fcn.004a33b0
call dword [sym.imp.ole32.dll_CoUninitialize]
push str.out_of_loop
lea ecx, [ebp - 0x2c8]
call fcn.00428940
mov dword [ebp - 0x50c], eax
mov byte [ebp - 4], 0x2d
push 0x574c98
lea ecx, [ebp - 0x288]
call fcn.00428940
mov dword [ebp - 0x514], eax
mov byte [ebp - 4], 0x2e
push 0x574c74
lea ecx, [ebp - 0x300]
call fcn.00428940
mov dword [ebp - 0x51c], eax
mov byte [ebp - 4], 0x2f
push 0
lea ecx, [ebp - 0x2c8]
push ecx
lea edx, [ebp - 0x288]
push edx
lea eax, [ebp - 0x300]
push eax
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x300]
call fcn.00428a40
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x288]
call fcn.00428a40
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2c8]
call fcn.00428a40
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x244]
call fcn.00428a40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x260]
call fcn.00428a40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x24c]
call fcn.00428a40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x254]
call fcn.00428a40
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x248]
call fcn.00428a40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x23c]
call fcn.00428a40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00428a40
jmp 0x4a46f2
mov dword [ebp - 4], 0xffffffff
jmp 0x4a4702
push 0x574b20
lea ecx, [ebp - 0x240]
call fcn.00428940
mov dword [ebp - 4], 0x34
push 4
lea ecx, [ebp - 0x498]
push ecx
lea ecx, [ebp - 0x240]
call fcn.0043b7f0
mov dword [ebp - 0x490], eax
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x430], edx
mov byte [ebp - 4], 0x35
push 0x574cf8
mov ecx, dword [ebp - 0x430]
call fcn.004ac460
test eax, eax
jne 0x4a4763
mov dword [ebp - 0x2a0], 1
jmp 0x4a476d
mov dword [ebp - 0x2a0], 0
mov al, byte [ebp - 0x2a0]
mov byte [ebp - 0x233], al
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x498]
call fcn.00428a40
movzx ecx, byte [ebp - 0x233]
test ecx, ecx
je 0x4a4988
push 0x574cf4
lea ecx, [ebp - 0x2d8]
call fcn.004289c0
mov byte [ebp - 4], 0x36
push 0x574d08
lea ecx, [ebp - 0x2a8]
call fcn.004289c0
mov byte [ebp - 4], 0x37
push 0x574d04
lea ecx, [ebp - 0x2f8]
call fcn.004289c0
mov byte [ebp - 4], 0x38
push 4
lea edx, [ebp - 0x394]
push edx
lea ecx, [ebp - 0x240]
call fcn.00458b80
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 0x39
push 0x574cb8
lea ecx, [ebp - 0x38c]
call fcn.004289c0
mov dword [ebp - 0x314], eax
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x31c], ecx
mov byte [ebp - 4], 0x3a
lea edx, [ebp - 0x2f8]
push edx
mov eax, dword [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x384]
push ecx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x324], eax
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x32c], edx
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0x32c]
push ecx
lea edx, [ebp - 0x37c]
push edx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2d8]
push ecx
mov edx, dword [ebp - 0x33c]
push edx
lea eax, [ebp - 0x374]
push eax
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
mov dword [ebp - 0x354], ecx
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x34c]
push edx
mov eax, dword [ebp - 0x354]
push eax
lea ecx, [ebp - 0x36c]
push ecx
call fcn.0042b170
add esp, 0xc
mov dword [ebp - 0x35c], eax
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x364], edx
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x364]
push eax
lea ecx, [ebp - 0x240]
call fcn.0042d650
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x36c]
call fcn.00428a40
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x374]
call fcn.00428a40
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x37c]
call fcn.00428a40
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x384]
call fcn.00428a40
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x38c]
call fcn.00428a40
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x394]
call fcn.00428a40
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x2f8]
call fcn.00428a40
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2a8]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2d8]
call fcn.00428a40
push ecx
mov ecx, esp
mov dword [ebp - 0x524], esp
lea edx, [ebp - 0x240]
push edx
call fcn.00428920
mov dword [ebp - 0x52c], eax
call fcn.004a5e90
add esp, 4
push str.DONE
lea ecx, [ebp - 0x264]
call fcn.00428940
mov byte [ebp - 4], 0x3f
push 0x574ce0
lea ecx, [ebp - 0x2f0]
call fcn.00428940
mov byte [ebp - 4], 0x40
push 0x574cbc
lea ecx, [ebp - 0x2b0]
call fcn.00428940
mov byte [ebp - 4], 0x41
push 0
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x2f0]
push ecx
lea edx, [ebp - 0x2b0]
push edx
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x2b0]
call fcn.00428a40
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x2f0]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x264]
call fcn.00428a40
movzx eax, byte [0x59d18b]
test eax, eax
je 0x4a4d4a
push 0x104
lea ecx, [ebp - 0x21c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4a4a61
jmp 0x4a4d4a
push 0x3c
push 0
lea edx, [ebp - 0x590]
push edx
call fcn.00503b40
add esp, 0xc
mov dword [ebp - 0x590], 0x3c
mov dword [ebp - 0x584], str.open
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x574], 5
mov dword [ebp - 0x58c], 0x440
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x57c], ecx
lea edx, [ebp - 0x590]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x4a4ace
mov dword [ebp - 0x26c], 1
jmp 0x4a4ad8
mov dword [ebp - 0x26c], 0
cmp dword [ebp - 0x26c], 1
jne 0x4a4d42
push str.tWinMain_ShellExecuteEx_
lea ecx, [ebp - 0x274]
call fcn.00428940
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x3dc]
push eax
call fcn.00438450
add esp, 4
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3bc], ecx
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x3d4]
call fcn.0042a230
mov dword [ebp - 0x3a4], eax
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3ac], edx
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x274]
push eax
mov ecx, dword [ebp - 0x3ac]
push ecx
lea edx, [ebp - 0x3cc]
push edx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x3c4], eax
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x3bc]
push ecx
mov edx, dword [ebp - 0x3c4]
push edx
lea eax, [ebp - 0x294]
push eax
call fcn.0042a940
add esp, 0xc
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x3cc]
call fcn.00428a40
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x3d4]
call fcn.00428a40
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x3dc]
call fcn.00428a40
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x274]
call fcn.00428a40
push ecx
mov ecx, esp
mov dword [ebp - 0x534], esp
push 0x574dec
call fcn.00428940
mov dword [ebp - 0x53c], eax
lea ecx, [ebp - 0x294]
push ecx
call fcn.0042ba30
add esp, 8
push str.ShellExecuteEx_error
lea ecx, [ebp - 0x28c]
call fcn.00428940
mov byte [ebp - 4], 0x4b
push 0x574d30
lea ecx, [ebp - 0x284]
call fcn.00428940
mov byte [ebp - 4], 0x4c
push 0x574d0c
lea ecx, [ebp - 0x27c]
call fcn.00428940
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x424]
call fcn.0042a230
mov dword [ebp - 0x3e4], eax
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x3ec], edx
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x28c]
push eax
mov ecx, dword [ebp - 0x3ec]
push ecx
lea edx, [ebp - 0x41c]
push edx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x3fc], eax
mov byte [ebp - 4], 0x4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x3fc]
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0042a8b0
add esp, 0xc
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x40c], eax
mov byte [ebp - 4], 0x50
push 2
mov ecx, dword [ebp - 0x40c]
push ecx
lea edx, [ebp - 0x284]
push edx
lea eax, [ebp - 0x27c]
push eax
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x414]
call fcn.00428a40
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x41c]
call fcn.00428a40
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x424]
call fcn.00428a40
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x27c]
call fcn.00428a40
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x284]
call fcn.00428a40
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x28c]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x294]
call fcn.00428a40
jmp 0x4a4d4a
xor ecx, ecx
jne 0x4a4a44
push str.strInstallerParam3
lea ecx, [ebp - 0x2ac]
call fcn.00428940
mov byte [ebp - 4], 0x51
push 0x574d44
lea ecx, [ebp - 0x2a4]
call fcn.00428940
mov byte [ebp - 4], 0x52
push 0x574eac
lea ecx, [ebp - 0x29c]
call fcn.00428940
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x46c]
call fcn.0042a230
mov dword [ebp - 0x42c], eax
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x434], edx
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x2ac]
push eax
mov ecx, dword [ebp - 0x434]
push ecx
lea edx, [ebp - 0x464]
push edx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x444], eax
mov byte [ebp - 4], 0x55
push 0x59d360
mov ecx, dword [ebp - 0x444]
push ecx
lea edx, [ebp - 0x45c]
push edx
call fcn.0042a940
add esp, 0xc
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x454], eax
mov byte [ebp - 4], 0x56
push 0
mov ecx, dword [ebp - 0x454]
push ecx
lea edx, [ebp - 0x2a4]
push edx
lea eax, [ebp - 0x29c]
push eax
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x45c]
call fcn.00428a40
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x464]
call fcn.00428a40
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x46c]
call fcn.00428a40
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x29c]
call fcn.00428a40
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x2a4]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2ac]
call fcn.00428a40
movzx ecx, byte [ebp - 0x232]
test ecx, ecx
je 0x4a5130
movzx edx, byte [0x59d188]
test edx, edx
jne 0x4a5130
mov ecx, 0x59d304
call fcn.0042d620
movzx eax, al
test eax, eax
jne 0x4a4ed7
mov ecx, 0x59d304
call fcn.0042d620
movzx ecx, al
test ecx, ecx
jne 0x4a5130
cmp dword [0x59d1c0], 4
jne 0x4a5130
push str.delete_with_batch
lea ecx, [ebp - 0x2c4]
call fcn.00428940
mov byte [ebp - 4], 0x57
push 0x574ef4
lea ecx, [ebp - 0x2bc]
call fcn.00428940
mov byte [ebp - 4], 0x58
push 0x574ed0
lea ecx, [ebp - 0x2b4]
call fcn.00428940
mov byte [ebp - 4], 0x59
push 0
lea edx, [ebp - 0x2c4]
push edx
lea eax, [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0x2b4]
push ecx
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x2b4]
call fcn.00428a40
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x2bc]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2c4]
call fcn.00428a40
push 0
push 0
push 1
call fcn.004a7430
add esp, 0xc
cmp dword [0x59d1c0], 2
je 0x4a4f85
cmp dword [0x59d1c0], 0
jne 0x4a5059
push 0x574e24
push 0x59d2fc
call fcn.00439590
add esp, 8
movzx edx, al
test edx, edx
je 0x4a5059
push str.delete_with_batch_EXE
lea ecx, [ebp - 0x2dc]
call fcn.00428940
mov byte [ebp - 4], 0x5a
push 0x574e74
lea ecx, [ebp - 0x2d4]
call fcn.00428940
mov byte [ebp - 4], 0x5b
push 0x574e50
lea ecx, [ebp - 0x2cc]
call fcn.00428940
mov byte [ebp - 4], 0x5c
push 0
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x2d4]
push ecx
lea edx, [ebp - 0x2cc]
push edx
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x2cc]
call fcn.00428a40
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x2d4]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2dc]
call fcn.00428a40
cmp dword [0x59d1c0], 2
jne 0x4a503e
mov byte [ebp - 0x231], 1
jmp 0x4a5045
mov byte [ebp - 0x231], 0
push 0
movzx eax, byte [ebp - 0x231]
push eax
push 0
call fcn.004a7430
add esp, 0xc
cmp dword [0x59d1c0], 0
jne 0x4a5130
push 0x574fb0
push 0x59d2fc
call fcn.00439590
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4a5130
mov ecx, 0x59d308
call fcn.0042d620
movzx edx, al
test edx, edx
jne 0x4a5130
push str.delete_with_batch_NSIS
lea ecx, [ebp - 0x2f4]
call fcn.00428940
mov byte [ebp - 4], 0x5d
push 0x575000
lea ecx, [ebp - 0x2ec]
call fcn.00428940
mov byte [ebp - 4], 0x5e
push 0x574fdc
lea ecx, [ebp - 0x2e4]
call fcn.00428940
mov byte [ebp - 4], 0x5f
push 0
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x2ec]
push ecx
lea edx, [ebp - 0x2e4]
push edx
mov ecx, 0x59d250
call fcn.0042aad0
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x2e4]
call fcn.00428a40
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x2ec]
call fcn.00428a40
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2f4]
call fcn.00428a40
push 1
push 0
push 0
call fcn.004a7430
add esp, 0xc
mov dword [ebp - 0x474], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
call fcn.00428a40
mov eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004fdc6a
mov esp, ebp
pop ebp
ret 0x10