Function at 0x40a22b
Capabilities:
Contain obfuscated stackstrings
Delete file
Move file
Parse pe header

Disassembly:
mov eax, 0x4a6b12
call fcn.00483228
sub esp, 0x450
push ebx
push esi
push edi
mov esi, ecx
call fcn.004a42c8
push 1
xor ebx, ebx
pop edi
mov dword [ebp - 0x50], ebx
push 0x428
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], 0x3025
call fcn.0049de4d
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov dword [ebp - 4], ebx
je 0x40a275
mov ecx, eax
call fcn.0042e2ad
jmp 0x40a277
xor eax, eax
or dword [ebp - 4], 0xffffffff
push 0xdc8
mov dword [esi + 0x240], eax
call fcn.0049de4d
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov dword [ebp - 4], edi
je 0x40a29f
mov ecx, eax
call fcn.00459597
jmp 0x40a2a1
xor eax, eax
or dword [ebp - 4], 0xffffffff
push 0x4e80c0
mov ecx, esi
mov dword [esi + 0x244], eax
call fcn.004a3e88
cmp dword [0x4e8164], ebx
jne 0x40c3ce
mov ecx, esi
call fcn.0040cbdc
test eax, eax
je 0x40c3ce
push ecx
lea eax, [esi + 0x204]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
mov ecx, esi
call fcn.00407538
cmp eax, ebx
je 0x40c3ce
push ecx
lea eax, [esi + 0x208]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
mov ecx, esi
call fcn.00407538
cmp eax, ebx
je 0x40c3ce
cmp dword [0x4e810c], ebx
je 0x40a32a
cmp dword [0x4e80e8], ebx
jne 0x40a32a
mov dword [0x4e810c], ebx
mov eax, dword [0x4e8148]
cmp eax, ebx
je 0x40a418
lea eax, [ebp - 0x20]
mov ecx, 0x4e80c0
push eax
call fcn.0040c4c0
push ecx
mov dword [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x4dd1e4
call fcn.0049d946
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
mov byte [ebp - 4], 3
call fcn.0049d64d
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 2
push eax
call fcn.0044cf68
add esp, 0xc
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.0049d8d8
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x10]
push eax
call fcn.00447289
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.0049d8d8
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
call fcn.00449e37
cmp eax, ebx
pop ecx
je 0x40a40c
lea edi, [esi + 0x1fc]
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.0049d9c5
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push edi
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0040c3fd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0049d8d8
mov ecx, dword [esi + 0x240]
lea eax, [esi + 0x204]
push eax
call fcn.0042f6e0
test eax, eax
je 0x40c3ce
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x24]
push eax
call fcn.0040c3df
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 6
cmp dword [eax - 8], ebx
je 0x40c3c2
push 1
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
push ecx
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x48], esp
push ebx
push eax
mov byte [ebp - 4], 7
call fcn.0040c4de
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
call fcn.00447f34
add esp, 0x10
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 8
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.0049d8d8
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
mov dword [esi + 0x220], edi
je 0x40c3c2
call fcn.004a37ad
push 0xe000
lea ecx, [esi + 0x1f8]
mov dword [eax + 0xc], edi
call fcn.0049de81
mov ecx, esi
call fcn.004073d3
test eax, eax
jne 0x40c3c2
cmp dword [esi + 0x22c], ebx
je 0x40a513
mov eax, dword [0x4e815c]
mov ecx, dword [0x4e8110]
push eax
push 0x4e8330
push ecx
push 0x80c
mov ecx, dword [esi + 0x240]
call fcn.0042ebed
jmp 0x40c3c2
cmp dword [esi + 0x228], ebx
je 0x40a534
mov eax, dword [0x4e815c]
mov ecx, dword [0x4e8110]
push eax
push 0x4e8330
push ecx
push 0x80d
jmp 0x40a503
cmp dword [esi + 0x230], ebx
je 0x40a555
mov eax, dword [0x4e815c]
mov ecx, dword [0x4e8110]
push eax
push 0x4e8330
push ecx
push 0x812
jmp 0x40a503
cmp dword [esi + 0x234], ebx
je 0x40a576
mov eax, dword [0x4e815c]
mov ecx, dword [0x4e8110]
push eax
push 0x4e8330
push ecx
push 0x817
jmp 0x40a503
cmp dword [0x4e8174], ebx
push 1
pop edi
je 0x40a587
mov dword [0x4e8110], edi
push edi
push 0x2e
lea ecx, [ebp - 0x10]
call fcn.00496af4
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 9
push eax
call fcn.00448085
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xa
push ecx
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0044cb10
add esp, 0xc
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x14], esp
push str..hlp
push eax
push ecx
call fcn.0049db21
call fcn.00446e8e
pop ecx
cmp eax, ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
sete byte [ebp - 0x49]
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 9
call fcn.0049d8d8
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.0049d8d8
cmp byte [ebp - 0x49], bl
je 0x40a604
mov dword [esi + 0x238], ebx
mov eax, dword [esi + 0x240]
cmp dword [eax + 0x37c], edi
jne 0x40a61e
mov dword [0x4e80f4], edi
mov dword [0x4e8114], ebx
mov eax, dword [0x4e8110]
mov edi, 0xfbb
cmp eax, ebx
je 0x40a6b5
mov dword [ebp - 0x58], ebx
call fcn.004a37ad
mov eax, dword [eax + 0xc]
push edi
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
cmp dword [0x4e8174], ebx
mov dword [ebp - 0x10], eax
je 0x40a665
call fcn.00408bc7
cmp eax, ebx
jne 0x40a65b
xor eax, eax
jmp 0x40a65e
mov eax, dword [eax + 0x1c]
push str.Batch_Install
jmp 0x40a67a
call fcn.00408bc7
cmp eax, ebx
jne 0x40a672
xor eax, eax
jmp 0x40a675
mov eax, dword [eax + 0x1c]
push str.Silent_Install
push dword [ebp - 0x10]
mov ecx, 0x4e80c0
push edi
push eax
call fcn.00414dcc
cmp dword [0x4e80e8], ebx
jne 0x40a6b5
cmp dword [0x4e813c], ebx
jne 0x40a6b5
cmp dword [0x4e8140], ebx
jne 0x40a6b5
cmp dword [0x4e8118], ebx
jne 0x40a6b5
mov eax, dword [esi + 0x240]
mov dword [eax + 0x34c], ebx
mov eax, dword [esi + 0x240]
lea ecx, [esi + 0xc4]
add eax, 0x188
mov dword [ebp - 0x2c], ecx
push eax
call fcn.00452ad4
push 0x4e7e70
lea ecx, [ebp - 0x10]
call fcn.0049d946
push dword [0x4e8110]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xc
push eax
push ebx
push edi
mov edi, dword [ebp - 0x2c]
mov ecx, edi
call fcn.00453bc6
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.0049d8d8
mov dword [esi + 0x1c], edi
mov eax, dword [0x4e80ec]
cmp eax, ebx
je 0x40abab
mov eax, dword [esi + 0x240]
mov dword [eax + 0x2ac], ebx
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
push ecx
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x4dd574
call fcn.0049d946
push ecx
mov edi, str.Product
mov ecx, esp
mov dword [ebp - 0x48], esp
push edi
mov byte [ebp - 4], 0xf
call fcn.0049d946
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x18]
push eax
add ecx, 0x188
mov byte [ebp - 4], 0xe
call fcn.004522ec
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.Version
call fcn.0049d946
push ecx
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x48], esp
push edi
call fcn.0049d946
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x28]
push eax
add ecx, 0x188
mov byte [ebp - 4], 0xe
call fcn.004522ec
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], eax
push 0x7fb
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x12
call fcn.0049de81
push 0xb9a
lea ecx, [ebp - 0x20]
call fcn.0049de81
push 1
push ecx
lea eax, [ebp - 0x30]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
push ecx
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x48], esp
push ebx
push eax
mov byte [ebp - 4], 0x13
call fcn.00407bd2
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x12
push eax
call fcn.00447f34
add esp, 0x10
mov byte [ebp - 4], 0x14
lea edi, [esi + 0x20c]
push eax
mov ecx, edi
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x12
call fcn.0049d8d8
push 0x4dd424
lea ecx, [ebp - 0x10]
call fcn.0049d946
push 1
push ecx
lea ecx, [ebp - 0x10]
mov eax, esp
mov dword [ebp - 0x14], esp
push ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x15
push ecx
push eax
call fcn.0044ca2c
add esp, 8
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
mov byte [ebp - 4], 0x16
call fcn.0049d64d
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x15
push eax
call fcn.00447f34
add esp, 0x10
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x18
call fcn.0049d8d8
push ebx
push ecx
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x48], esp
push str._PN_
call fcn.0049d946
push ecx
mov byte [ebp - 4], 0x1a
mov ecx, esp
mov dword [ebp - 0x5c], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x18
push eax
call fcn.0044d1de
add esp, 0x14
push eax
mov ecx, edi
mov byte [ebp - 4], 0x1b
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x18
call fcn.0049d8d8
push ecx
mov edi, esp
mov dword [ebp - 0x14], esp
push ecx
mov ecx, 0x4e80c0
mov eax, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.00409563
push edi
call fcn.00447c52
pop ecx
lea eax, [ebp - 0x3c]
pop ecx
push eax
call fcn.0044cdd9
pop ecx
pop ecx
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x1c
cmp dword [eax - 8], ebx
jne 0x40a93f
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x34]
push eax
call fcn.00447c52
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1d
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1c
call fcn.0049d8d8
push ecx
mov ecx, 0x4e80c0
mov eax, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.00409563
lea eax, [ebp - 0x40]
push eax
call fcn.00447289
pop ecx
pop ecx
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x1e
cmp dword [eax - 8], ebx
jne 0x40aa28
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x34]
push eax
call fcn.00447289
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1f
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1e
call fcn.0049d8d8
push 1
push ecx
mov edi, esp
mov dword [ebp - 0x14], esp
push ebx
push ecx
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 0x20
mov ecx, esp
mov dword [ebp - 0x5c], esp
push str._PN_
call fcn.0049d946
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x21
call fcn.0049d64d
push edi
mov byte [ebp - 4], 0x1e
call fcn.0044d1de
add esp, 0x10
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x1c], esp
push ebx
push eax
mov byte [ebp - 4], 0x22
call fcn.00407bd2
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1e
push eax
call fcn.00447f34
add esp, 0x10
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x23
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1e
call fcn.0049d8d8
push 1
push ecx
lea eax, [ebp - 0x3c]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push ecx
lea eax, [ebp - 0x40]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x24
call fcn.0049d64d
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1e
push eax
call fcn.00447f34
add esp, 0x10
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x25
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1e
call fcn.0049d8d8
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, 0x4e80c0
call fcn.0040c489
fld qword [0x4baac8]
push ecx
push ecx
fstp qword [esp]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.response_file
call fcn.0049d946
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call fcn.00409ad5
cmp eax, ebx
jne 0x40ab14
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1c
call fcn.0049d8d8
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x18
call fcn.0049d8d8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.0049d8d8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.0049d8d8
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xe
call fcn.0049d8d8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call fcn.0049d8d8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x18]
jmp 0x40c3bd
cmp dword [0x4e8110], ebx
je 0x40ab57
push dword [0x4e815c]
mov ecx, dword [esi + 0x240]
mov edi, 0x83e
push 0x4e8330
push 1
push edi
call fcn.0042ebed
push dword [0x4e815c]
mov ecx, dword [esi + 0x240]
push 0x4e8330
push ebx
push edi
call fcn.0042ebed
jmp 0x40aac0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1c
call fcn.0049d8d8
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x18
call fcn.0049d8d8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.0049d8d8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.0049d8d8
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xe
call fcn.0049d8d8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.0049d8d8
cmp dword [0x4e8110], ebx
je 0x40abc4
mov ecx, dword [esi + 0x240]
add ecx, 0x41c
call fcn.0049d863
call fcn.0045de3f
test eax, eax
jne 0x40abfc
mov eax, dword [0x4e815c]
mov ecx, dword [0x4e8110]
push eax
push 0x4e8330
push ecx
mov ecx, dword [esi + 0x240]
push 0x7ed
call fcn.0042ebed
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
jmp 0x40c3c2
cmp dword [0x4e8110], ebx
je 0x40ac29
mov edi, 0x4e80c0
push 1
mov ecx, edi
call fcn.00414d79
test eax, eax
jne 0x40ac29
push 2
mov ecx, edi
call fcn.00414d79
test eax, eax
jne 0x40ac29
mov dword [esi + 0x23c], ebx
mov ecx, dword [esi + 0x240]
call fcn.0043101f
mov eax, dword [esi + 0x240]
mov eax, dword [eax + 0x344]
cmp eax, 1
je 0x40acdd
mov edi, dword [0x4e8190]
mov ecx, 0x4e8330
call fcn.00454eda
cmp edi, eax
jl 0x40ac64
mov ecx, 0x4e8330
jmp 0x40ac66
xor ecx, ecx
mov eax, dword [0x4e8110]
push ecx
push eax
mov eax, dword [esi + 0x240]
add eax, 0x188
push eax
call fcn.00408bc7
push eax
lea ecx, [ebp - 0x184]
call fcn.0044523a
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x26
call fcn.00499d69
cmp eax, 2
jne 0x40acce
cmp dword [0x4e8110], ebx
je 0x40acb2
mov esi, dword [esi + 0x240]
mov dword [esi + 0x36c], ebx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 6
call fcn.0040c512
jmp 0x40c3c2
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 6
call fcn.0040c512
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x38], eax
push 0x7f8
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x27
call fcn.0049de81
call fcn.00408bc7
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040f13d
cmp dword [esi + 0x23c], ebx
mov byte [ebp - 4], 0x28
je 0x40ad68
push ebx
push 0x78
lea ecx, [ebp - 0xc4]
call fcn.004999e8
push ebx
lea ecx, [ebp - 0xc4]
call fcn.0049c626
push 5
lea ecx, [ebp - 0xc4]
call fcn.0049d0b5
push ebx
push 0xfa
push 1
push dword [ebp - 0xa8]
call dword [sym.imp.USER32.dll_SetTimer]
push dword [ebp - 0xa8]
mov dword [ebp - 0x60], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, esi
call fcn.0049d404
mov eax, dword [esi + 0x200]
lea edi, [esi + 0x200]
cmp dword [eax - 8], ebx
jne 0x40ae67
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x10]
push eax
call fcn.0040c434
push eax
mov ecx, edi
mov byte [ebp - 4], 0x29
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
mov eax, dword [edi]
cmp dword [eax - 8], ebx
jne 0x40ae67
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x10]
push eax
call fcn.00408bf9
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2a
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x10]
push eax
call fcn.00447404
mov eax, dword [eax]
pop ecx
pop ecx
xor ecx, ecx
cmp dword [eax - 8], ebx
sete cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x10]
call fcn.0049d8d8
cmp dword [ebp - 0x34], ebx
je 0x40ae67
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 0x2b
mov edi, esp
mov dword [ebp - 0x14], esp
push ecx
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x14], esp
push ebx
push eax
call fcn.00407c01
push edi
call fcn.00447404
pop ecx
lea eax, [ebp - 0x10]
pop ecx
mov byte [ebp - 4], 0x28
push eax
call fcn.00447f34
add esp, 0x10
lea edi, [esi + 0x200]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2c
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
cmp dword [0x4e810c], ebx
push ecx
jne 0x40ae7d
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.0049d64d
jmp 0x40aeb5
mov edi, esp
mov dword [ebp - 0x1c], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4e7e70
call fcn.0049d946
push ecx
lea eax, [esi + 0x200]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x2d
call fcn.0049d64d
push edi
mov byte [ebp - 4], 0x28
call fcn.0044b4b5
add esp, 0xc
mov ecx, dword [esi + 0x240]
call fcn.00408c17
cmp dword [0x4e8114], ebx
je 0x40aed6
mov eax, dword [esi + 0x240]
mov dword [eax + 0x37c], ebx
jmp 0x40aeee
cmp dword [0x4e80f4], ebx
je 0x40aeee
mov eax, dword [esi + 0x240]
mov dword [eax + 0x37c], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4dd1e4
call fcn.0049d946
push ecx
mov ecx, dword [esi + 0x240]
mov eax, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x2e
call fcn.00408bf9
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x28
push eax
call fcn.0044cf68
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2f
call fcn.004076ac
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.0040d762
test eax, eax
jne 0x40af5c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov byte [ebp - 4], 0x30
jmp 0x40c39f
push 1
push ecx
lea eax, [esi + 0x200]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 0x31
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x4e7e70
call fcn.0049d946
mov edi, 0x4e8288
mov byte [ebp - 4], 0x28
mov ecx, edi
call fcn.00450d8d
cmp dword [0x4e816c], ebx
mov ecx, esi
je 0x40b141
call fcn.00409f7b
test eax, eax
jne 0x40afea
cmp dword [esi + 0x23c], ebx
je 0x40afd9
cmp dword [ebp - 0x60], ebx
je 0x40afc7
push dword [ebp - 0x60]
push dword [ebp - 0xa8]
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0xc4]
call fcn.0049aeb4
mov ecx, esi
call fcn.0049d419
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov byte [ebp - 4], 0x32
jmp 0x40c39f
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], eax
push dword [esi + 0x1dc]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x34
call fcn.0049de81
push 0xa94
lea ecx, [ebp - 0x3c]
call fcn.0049de81
push ebx
push ecx
mov eax, esp
mov edi, 0x4e80c0
mov dword [ebp - 0x1c], esp
push eax
mov ecx, edi
call fcn.0040a20d
push ecx
mov byte [ebp - 4], 0x35
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x4dd52c
call fcn.0049d946
push ecx
lea eax, [ebp - 0x3c]
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
mov byte [ebp - 4], 0x36
call fcn.0049d64d
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x34
push eax
call fcn.0044d02b
add esp, 0x14
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x37
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x34
call fcn.0049d8d8
cmp dword [esi + 0x23c], ebx
je 0x40b0a6
cmp dword [ebp - 0x60], ebx
je 0x40b094
push dword [ebp - 0x60]
push dword [ebp - 0xa8]
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0xc4]
call fcn.0049aeb4
mov ecx, esi
call fcn.0049d419
cmp dword [0x4e8110], ebx
je 0x40b0e4
push 1
mov ecx, edi
call fcn.00414d79
test eax, eax
jne 0x40b0e4
push dword [0x4e815c]
lea eax, [ebp - 0x3c]
push 0x4e8330
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0042ec4c
jmp 0x40b118
push dword [esi + 0x1c]
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x128]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040f1f9
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x38
call fcn.00499d69
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x34
call fcn.0040c568
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x33
call fcn.0049d8d8
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
mov byte [ebp - 4], 0x39
jmp 0x40c39f
call fcn.00408ca1
test eax, eax
je 0x40b376
cmp dword [0x4e80ec], ebx
jne 0x40b376
mov eax, dword [esi + 0x240]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
mov dword [eax + 0x360], 1
lea eax, [esi + 0x20c]
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0040c452
cmp dword [0x4e8118], ebx
je 0x40b37e
mov ecx, dword [esi + 0x240]
lea eax, [esi + 0x20c]
push ebx
push eax
call fcn.0042edea
test eax, eax
jne 0x40b1bb
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov byte [ebp - 4], 0x3a
jmp 0x40c39f
mov ecx, dword [esi + 0x240]
lea eax, [esi + 0x20c]
push eax
call fcn.0042f6e0
test eax, eax
jne 0x40b1e2
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov byte [ebp - 4], 0x3b
jmp 0x40c39f
mov ecx, dword [esi + 0x244]
call fcn.00456dd4
mov ecx, dword [esi + 0x240]
call fcn.00431193
mov ecx, dword [esi + 0x240]
call fcn.00431212
mov ecx, dword [esi + 0x240]
call fcn.00431403
mov ecx, dword [esi + 0x240]
call fcn.0043159b
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x10]
push eax
call fcn.00408bf9
push eax
lea ecx, [esi + 0x200]
mov byte [ebp - 4], 0x3c
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
push 1
push ecx
lea eax, [esi + 0x200]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 0x3d
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x4e7e70
call fcn.0049d946
mov ecx, edi
mov byte [ebp - 4], 0x28
call fcn.00450d8d
mov eax, dword [esi + 0x240]
cmp dword [eax + 0x388], ebx
jne 0x40b294
mov dword [ebp - 0x54], 0x3025
mov dword [ebp - 0x58], ebx
jmp 0x40b376
mov dword [eax + 0x3c8], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3cc], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3d0], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3d4], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3d8], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3dc], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3e0], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3e4], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3e8], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3ec], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3f0], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x410], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3f4], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3f8], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x400], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x404], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x408], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x40c], ebx
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3fc], 1
cmp dword [0x4e8118], ebx
jne 0x40b38e
cmp dword [0x4e813c], ebx
jne 0x40b38e
cmp dword [0x4e8140], ebx
je 0x40b3b5
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.00409581
push eax
lea ecx, [esi + 0x20c]
mov byte [ebp - 4], 0x3e
call fcn.0049d9c5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x28
call fcn.0049d8d8
push ecx
lea eax, [esi + 0x20c]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0040c452
mov eax, dword [esi + 0x244]
mov eax, dword [eax + 0x18]
cmp eax, ebx
je 0x40b3f4
cmp dword [eax + 0xc], ebx
jle 0x40b3f4
mov eax, dword [esi + 0x240]
mov dword [eax + 0x364], 1
mov eax, dword [esi + 0x240]
mov dword [eax + 0x394], 0x4e8288
push dword [esi + 0x240]
push 1
call fcn.00408bc7
push eax
lea ecx, [ebp - 0x264]
call fcn.00443a74
cmp dword [ebp - 0x58], ebx
mov byte [ebp - 4], 0x3f
je 0x40b74d
cmp dword [0x4e8104], ebx
je 0x40b43e
mov eax, dword [esi + 0x240]
mov dword [eax + 0x404], ebx
cmp dword [0x4e80ec], ebx
je 0x40b45a
cmp dword [0x4e8170], ebx
je 0x40b45a
mov eax, dword [esi + 0x240]
mov dword [eax + 0x3fc], ebx
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x18], ebx
call fcn.004a2c51
test eax, eax
jle 0x40b502
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x18]
mov edi, dword [eax + ecx*4]
cmp edi, ebx
je 0x40b4eb
lea eax, [edi + 0xf0]
cmp ecx, ebx
mov dword [eax], ebx
jne 0x40b492
mov dword [eax], 1
mov eax, dword [esi + 0x240]
mov edx, dword [edi]
mov dword [edi + 0xdc], eax
mov eax, dword [esi + 0x244]
mov dword [edi + 0xe0], eax
lea eax, [esi + 0x204]
push eax
mov ecx, edi
call dword [edx + pe_nt_image_headers32]
lea eax, [esi + 0x20c]
lea ecx, [edi + 0xf8]
push eax
call fcn.0049d9c5
lea eax, [esi + 0x214]
lea ecx, [edi + 0xfc]
push eax
call fcn.0049d9c5
mov eax, dword [esi + 0x21c]
mov dword [edi + 0x100], eax
inc dword [ebp - 0x18]
lea ecx, [ebp - 0x264]
call fcn.004a2c51
cmp dword [ebp - 0x18], eax
jl 0x40b470
cmp dword [0x4e80e8], ebx
je 0x40b512
cmp dword [0x4e8158], ebx
je 0x40b51e
mov eax, dword [esi + 0x240]
mov dword [eax + 0x36c], ebx
cmp dword [0x4e8144], ebx
jne 0x40b57c
mov ecx, dword [esi + 0x240]
push ebx
call fcn.00431632
test eax, eax
jne 0x40b57c
cmp dword [ebp - 0x60], ebx
je 0x40b54a
push dword [ebp - 0x60]
push dword [ebp - 0xa8]
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0xc4]
call fcn.0049aeb4
mov ecx, esi
call fcn.0049d419
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x40
jmp 0x40c39f
cmp dword [ebp - 0x60], ebx
je 0x40b590
push dword [ebp - 0x60]
push dword [ebp - 0xa8]
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0xc4]
call fcn.0049aeb4
mov ecx, esi
call fcn.0049d419
push dword [esi + 0xe0]
lea edi, [esi + 0xe0]
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [ebp - 0x264]
call fcn.004a2a70
push dword [edi]
mov dword [ebp - 0x54], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, 0x3025
cmp dword [ebp - 0x54], eax
je 0x40b5dc
cmp dword [0x4e80ec], ebx
jne 0x40b5fe
push dword [ebp - 0x58]
lea eax, [ebp - 0x264]
mov ecx, esi
push eax
call fcn.0040df5c
cmp dword [0x4e80ec], ebx
mov eax, 0x3025
je 0x40bc29
cmp dword [ebp - 0x54], eax
jne 0x40bef3
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x28], eax
push 0xa96
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x48
call fcn.0049de81
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x40], eax
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x4e80c0
mov byte [ebp - 4], 0x49
call fcn.00409563
mov eax, dword [eax]
mov byte [ebp - 4], 0x4a
mov dword [ebp - 0x10], eax
call fcn.00408bc7
push eax
push edi
push 0x200004
lea ecx, [ebp - 0x45c]
push dword [ebp - 0x10]
push ebx
push ebx
call fcn.004972fa
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x4c
call fcn.0049d8d8
push 0xa95
lea ecx, [ebp - 0x40]
mov edi, 0x4e80c0
call fcn.0049de81
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x45c]
mov dword [ebp - 0x3d0], eax
call fcn.0049745c
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jne 0x40b901
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x30], eax
push 0xe000
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x4d
call fcn.0049de81
push 0xa2b
lea ecx, [ebp - 0x40]
call fcn.0049de81
mov ecx, dword [esi + 0x1c]
push 0x24
push dword [ebp - 0x30]
push dword [ebp - 0x40]
call fcn.0049bcf1
mov edi, eax
lea ecx, [ebp - 0x30]
sub edi, 6
mov byte [ebp - 4], 0x4c
neg edi
sbb edi, edi
inc edi
call fcn.0049d8d8
cmp edi, ebx
je 0x40b66e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 0x4e
call fcn.0049d8d8
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0x49
call fcn.004999aa
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x48
call fcn.0049d8d8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x4f
jmp 0x40c39f
cmp dword [esi + 0x23c], ebx
je 0x40b787
cmp dword [ebp - 0x60], ebx
je 0x40b769
push dword [ebp - 0x60]
push dword [ebp - 0xa8]
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0xc4]
call fcn.0049aeb4
mov ecx, esi
call fcn.0049d419
push dword [esi + 0xe0]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [0x4e8144], ebx
jne 0x40b5dc
cmp dword [0x4e813c], ebx
jne 0x40b5dc
cmp dword [0x4e8140], ebx
jne 0x40b5dc
mov ecx, dword [esi + 0x240]
push ebx
call fcn.00431632
test eax, eax
jne 0x40b5dc
push 1
mov ecx, 0x4e80c0
call fcn.00414d79
test eax, eax
je 0x40b869
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
push dword [esi + 0x1d4]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x42
call fcn.0049de81
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x10]
push eax
call fcn.00408bdb
push dword [eax]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x43
push dword [esi + 0x1d0]
push eax
call fcn.004a18ba
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x42
call fcn.0049d8d8
push dword [esi + 0x1c]
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x128]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040f1f9
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x44
call fcn.00499d69
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x42
call fcn.0040c568
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x41
call fcn.0049d8d8
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x28]
jmp 0x40b8a8
push str.Setup_didnt_continue
lea ecx, [ebp - 0x10]
call fcn.0049d946
push dword [0x4e815c]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x45
push 0x4e8330
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0042ec4c
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x10]
call fcn.0049d8d8
mov ecx, dword [esi + 0x240]
lea eax, [ebp - 0x50]
push eax
call fcn.00407a9e
push ecx
lea eax, [ebp - 0x50]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x46
call fcn.0049d64d
call fcn.0045e666
pop ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x47
jmp 0x40c39f
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x45c]
push eax
call fcn.00497537
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x50
call fcn.0049d64d
lea eax, [ebp - 0x44]
push eax
call fcn.00447c52
pop ecx
pop ecx
push 0x2e
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x51
call fcn.0049dd53
cmp eax, 0xffffffff
jne 0x40b94e
push str..rsp
lea ecx, [ebp - 0x18]
call fcn.0049dc68
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, edi
call fcn.0040c489
push ecx
mov ecx, edi
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.00409563
call fcn.00446e8e
cmp eax, ebx
pop ecx
je 0x40baa5
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.00409563
push 0x4dd424
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x52
call fcn.0049d946
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x53
push eax
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x14]
push eax
call fcn.00447c52
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x54
call fcn.0044cb10
add esp, 0xc
push eax
push 0x4dd1e4
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x55
call fcn.0049d64d
lea eax, [ebp - 0x5c]
push eax
call fcn.00447289
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x56
call fcn.0049db21
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x57
call fcn.0049dabb
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x58
call fcn.0049d9c5
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x57
call fcn.0049d8d8
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x56
call fcn.0049d8d8
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x55
call fcn.0049d8d8
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x54
call fcn.0049d8d8
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x53
call fcn.0049d8d8
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x52
call fcn.0049d8d8
push str..old
lea ecx, [ebp - 0x20]
call fcn.0049dc68
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.00409563
push dword [ebp - 0x20]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
lea ecx, [ebp - 0x14]
call fcn.0049d8d8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x51
call fcn.0049d8d8
push ecx
mov edx, esp
mov dword [ebp - 0x1c], esp
push ecx
mov ecx, edi
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x14], edx
call fcn.00409563
mov eax, dword [ebp - 0x14]
push eax
call fcn.00447289
pop ecx
pop ecx
call fcn.00449e37
cmp eax, ebx
pop ecx
jne 0x40bbb5
push ecx
mov edi, esp
mov dword [ebp - 0x1c], esp
push ecx
mov ecx, 0x4e80c0
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.00409563
push edi
call fcn.00447289
pop ecx
pop ecx
call fcn.00446d96
cmp eax, ebx
pop ecx
jne 0x40bb92
mov eax, dword [0x4e815c]
mov ecx, dword [0x4e8110]
push eax
push 0x4e8330
push ecx
mov ecx, dword [esi + 0x240]
push 0x80e
call fcn.0042ebed
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x50
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4c
call fcn.0049d8d8
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 0x59
call fcn.0049d8d8
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0x49
call fcn.004999aa
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x48
call fcn.0049d8d8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x5a
jmp 0x40c39f
lea eax, [ebp - 0x14]
mov ecx, 0x4e80c0
push eax
call fcn.00409563
mov eax, dword [eax]
mov ecx, dword [esi + 0x20c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
lea ecx, [ebp - 0x14]
jmp 0x40bbd6
lea eax, [ebp - 0x14]
mov ecx, 0x4e80c0
push eax
call fcn.00409563
mov eax, dword [eax]
mov ecx, dword [esi + 0x20c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
lea ecx, [ebp - 0x14]
call fcn.0049d8d8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x50
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4c
call fcn.0049d8d8
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 0x5b
call fcn.0049d8d8
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0x49
call fcn.004999aa
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x48
call fcn.0049d8d8
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x28]
jmp 0x40bf9a
cmp dword [ebp - 0x54], eax
jne 0x40bef3
mov edi, dword [ebp - 0x2c]
cmp edi, ebx
je 0x40bc4a
cmp dword [edi + 0x1c], ebx
je 0x40bc4a
push dword [esi + 0xe0]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 3
mov ecx, 0x4e80c0
call fcn.00414d79
test eax, eax
je 0x40bcc2
push dword [esi + 0x240]
call fcn.00408bc7
push eax
lea ecx, [ebp - 0x158]
call fcn.004068d0
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x5c
call fcn.00499d69
cmp eax, 2
jne 0x40bcb3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x58]
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x3f
call fcn.004069a6
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x5d
jmp 0x40c39f
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x3f
call fcn.004069a6
mov eax, dword [0x4e8144]
mov edi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
cmp eax, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x44], ebx
jne 0x40be0f
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x124], ebx
je 0x40bdac
push ecx
mov ecx, dword [esi + 0x240]
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.00408bf9
call fcn.00446d96
cmp eax, ebx
pop ecx
jne 0x40bdac
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
push 0x6c
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x5f
call fcn.0049de81
push 0xe000
lea ecx, [ebp - 0x28]
call fcn.0049de81
cmp dword [0x4e8110], ebx
je 0x40bd64
push dword [0x4e815c]
lea eax, [ebp - 0x18]
push 0x4e8330
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0042ec4c
jmp 0x40bd74
mov ecx, dword [esi + 0x1c]
push 0x10
push dword [ebp - 0x28]
push dword [ebp - 0x18]
call fcn.0049bcf1
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x5e
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x60
jmp 0x40c39f
lea eax, [ebp - 0x30]
push ebx
push eax
push ebx
push 0x10
call edi
cmp dword [ebp - 0x30], ebx
je 0x40bdc3
push 2
push ebx
push ebx
push 0x11
call edi
lea eax, [ebp - 0x44]
push ebx
push eax
push ebx
push 0x54
call edi
cmp dword [ebp - 0x44], ebx
je 0x40bdda
push 2
push ebx
push ebx
push 0x56
call edi
mov ecx, esi
call fcn.00407c76
mov ecx, dword [esi + 0x240]
cmp dword [ecx + 0x3c4], ebx
je 0x40be12
cmp dword [0x4e8180], ebx
jne 0x40be12
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x61
jmp 0x40c39f
push 1
pop eax
push eax
mov ecx, esi
call fcn.0040e32e
test eax, eax
jne 0x40be3e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x62
jmp 0x40c39f
mov ecx, dword [esi + 0x240]
call fcn.0043162b
test eax, eax
je 0x40bed7
cmp dword [0x4e8180], ebx
jne 0x40bed7
cmp dword [0x4e8110], ebx
je 0x40be7a
push 1
mov ecx, 0x4e80c0
call fcn.00414d79
test eax, eax
jne 0x40be7a
mov dword [ebp - 0x50], 1
jmp 0x40bed7
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
push 0xe000
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x64
call fcn.0049de81
push 0xa43
lea ecx, [ebp - 0x28]
call fcn.0049de81
mov ecx, dword [esi + 0x1c]
push 0x24
push dword [ebp - 0x18]
push dword [ebp - 0x28]
call fcn.0049bcf1
cmp eax, 6
jne 0x40bebf
mov dword [ebp - 0x50], 1
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x63
call fcn.0049d8d8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
cmp dword [ebp - 0x30], ebx
je 0x40bee5
push 2
push ebx
push 1
push 0x11
call edi
cmp dword [ebp - 0x44], ebx
je 0x40bef3
push 2
push ebx
push 1
push 0x56
call edi
mov eax, dword [esi + 0x240]
add eax, 0x420
mov ecx, dword [eax]
cmp dword [ecx - 8], ebx
je 0x40bf9f
cmp dword [0x4e8110], ebx
jne 0x40bf9f
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push ecx
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x14], esp
push ebx
push eax
mov byte [ebp - 4], 0x65
call fcn.0040c4de
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x3f
push eax
call fcn.00447f34
add esp, 0xc
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x66
call fcn.0049d64d
call fcn.00446e8e
cmp eax, ebx
pop ecx
je 0x40bf93
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4dd594
call fcn.0049d946
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x67
call fcn.0049d64d
mov byte [ebp - 4], 0x66
call fcn.0045c9aa
pop ecx
pop ecx
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x18]
call fcn.0049d8d8
cmp dword [0x4e80ec], ebx
je 0x40c22a
cmp dword [ebp - 0x54], 0x3025
jne 0x40c22a
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x28], eax
push 0x4dd1e4
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x68
call fcn.0049d946
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x69
push eax
lea eax, [esi + 0x214]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0044cc8b
add esp, 0xc
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x6a
call fcn.0049d9c5
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x69
call fcn.0049d8d8
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x68
call fcn.0049d8d8
push 1
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push dword [esi + 0x21c]
call fcn.0045d679
pop ecx
lea eax, [ebp - 0x28]
pop ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x20]
push eax
call fcn.00447289
pop ecx
pop ecx
push ebx
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x6b
call fcn.0049d64d
push dword [esi + 0x21c]
call fcn.0045d679
pop ecx
lea eax, [ebp - 0x20]
pop ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x14]
push eax
call fcn.00447289
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x6c
call fcn.0049d9c5
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x6b
call fcn.0049d8d8
push ebx
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push dword [esi + 0x21c]
call fcn.0045d679
pop ecx
lea eax, [ebp - 0x20]
pop ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
lea eax, [ebp - 0x14]
push eax
call fcn.00447289
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x6d
call fcn.0049d9c5
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x6b
call fcn.0049d8d8
push ebx
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
push dword [esi + 0x21c]
call fcn.0045d679
pop ecx
lea edi, [esi + 0x20c]
pop ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.0049d64d
call fcn.00446e8e
cmp eax, ebx
pop ecx
je 0x40c12a
push dword [edi]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, 0x4e7e70
lea ecx, [ebp - 0x30]
push edi
call fcn.0049d946
push edi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x6e
call fcn.0049d946
push dword [esi + 0x1dc]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x6f
call fcn.0049de81
push 0xa92
lea ecx, [ebp - 0x18]
call fcn.0049de81
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
mov ecx, 0x4e80c0
call fcn.00409563
push ecx
mov byte [ebp - 4], 0x70
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x4dd52c
call fcn.0049d946
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x5c], esp
push eax
mov byte [ebp - 4], 0x71
call fcn.0049d64d
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x6f
push eax
call fcn.0044d02b
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x72
call fcn.0049d9c5
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x6f
call fcn.0049d8d8
push dword [esi + 0x1c]
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x128]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040f1f9
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x73
call fcn.00499d69
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x6f
call fcn.0040c568
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x6e
call fcn.0049d8d8
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x6b
call fcn.0049d8d8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x68
call fcn.0049d8d8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
mov eax, dword [esi + 0x240]
cmp dword [eax + 0x368], ebx
je 0x40c25c
push ecx
lea edi, [esi + 0x20c]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.0049d64d
call fcn.00446e8e
cmp eax, ebx
pop ecx
je 0x40c25c
push dword [edi]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x50], ebx
je 0x40c379
cmp dword [0x4e8180], ebx
jne 0x40c379
mov edi, dword [ebp - 0x2c]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x58]
push 1
call fcn.0045def5
cmp eax, ebx
pop ecx
jne 0x40c37c
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x74
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x10]
push 0x4dd590
push eax
call fcn.00497249
mov eax, dword [0x4e43a4]
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], eax
push 0xe000
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x76
call fcn.0049de81
push dword [ebp - 0x10]
lea eax, [ebp - 0x2c]
push 0xaf8
push eax
call fcn.004a18ba
cmp dword [0x4e8110], ebx
je 0x40c31d
push 1
mov ecx, 0x4e80c0
call fcn.00414d79
test eax, eax
jne 0x40c31d
push dword [0x4e815c]
lea eax, [ebp - 0x2c]
push 0x4e8330
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0042ec4c
jmp 0x40c353
push dword [0x4e815c]
lea eax, [ebp - 0x2c]
push 0x4e8330
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0049d64d
mov ecx, dword [esi + 0x240]
call fcn.0042ec4c
mov ecx, dword [esi + 0x1c]
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x2c]
call fcn.0049bcf1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x75
call fcn.0049d8d8
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x74
call fcn.0049d8d8
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x3f
call fcn.0049d8d8
jmp 0x40c37c
mov edi, dword [ebp - 0x2c]
cmp edi, ebx
je 0x40c38c
cmp dword [edi + 0x1c], ebx
je 0x40c38c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x58]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00444123
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x68]
call fcn.0049d8d8
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x27
call fcn.004999aa
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x38]
call fcn.0049d8d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0049d8d8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
leave
ret