Function at 0x495fd9
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1b8
mov eax, 0x523a61
call fcn.004d8af2
mov ebx, edx
mov dword [ebp - 0x144], ebx
mov esi, ecx
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x138], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], eax
mov al, byte [eax]
test al, al
jne 0x496055
push 0x3d4d
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x150]
call fcn.00406620
and dword [ebp - 4], 0
lea eax, [ebp - 0x150]
push eax
mov ecx, esi
call fcn.0040121b
mov ecx, dword [ebp - 0x148]
add ecx, 0xfffffff0
call fcn.00407189
jmp 0x497129
and dword [ebp - 0x184], 0
mov dword [ebp - fcn.0040aec3], vtable.CRebootBlocker.0
lea ecx, [ebp - 0x188]
mov dword [ebp - 4], 1
call fcn.00495d78
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x161], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 2
call fcn.0044f24f
lea ecx, [ebp - 0x161]
mov byte [eax + 0x24], 0
call fcn.0044f694
mov edi, dword [ebx + 0x70]
lea ecx, [ebp - 0x168]
and dword [ebp - 0x16c], 0
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x170], 0x80004005
call fcn.0040687a
mov byte [ebp - 4], 3
cmp byte [ebx + 0xc0], 0
je 0x49620d
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x162], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 4
call fcn.0044f24f
add eax, 0x16c
lea ecx, [ebp - 0x178]
push eax
call fcn.004adb8d
lea ecx, [ebp - 0x162]
mov byte [ebp - 4], 6
call fcn.0044f694
mov edi, dword [ebp - 0x134]
push ecx
mov esi, esp
mov dword [ebp - 0x138], esp
mov dword [ebp - 0x13c], esi
mov ecx, dword [edi + 0x28]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 7
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [ebx + 0x14]
sub ecx, 0x10
mov dword [ebp - 0x13c], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
lea eax, [edi + 0x20]
mov byte [ebp - 4], 8
add edi, 8
push eax
mov ecx, dword [edi]
add ecx, 0x14
push ecx
mov esi, esp
mov dword [ebp - 0x158], esp
mov dword [ebp - 0x160], esi
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ebx
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x160], esp
push edi
call fcn.004044ab
mov eax, dword [ebp - 0x134]
lea edi, [ebp - 0x178]
add eax, 0x10
mov byte [ebp - 4], 0xa
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x130], esi
mov ecx, dword [ebx + 0xc]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 6
call fcn.0048a368
add esp, 0x24
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0xb
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, edi
call fcn.004ad684
jmp 0x49695d
cmp edi, 6
jne 0x496263
mov al, byte [ebx + 0x23]
mov cl, byte [ebx + 0x22]
mov esi, dword [ebp - 0x134]
mov bl, byte [ebx + 0x21]
push eax
push ecx
push ecx
push ecx
lea eax, [esi + 8]
mov ecx, esp
push eax
call fcn.004044ab
mov dl, bl
lea ecx, [ebp - 0x150]
call fcn.00494cf5
add esp, 0x10
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x170]
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x496969
cmp edi, 5
jne 0x49628e
mov esi, dword [ebp - 0x134]
push ecx
push ecx
mov ecx, esp
lea eax, [esi + 8]
push eax
call fcn.004044ab
lea ecx, [ebp - 0x150]
call fcn.004956f6
pop ecx
pop ecx
mov byte [ebp - 4], 0xd
jmp 0x496244
cmp edi, 8
jne 0x49637b
mov edi, dword [ebx + 0xf4]
mov ebx, dword [ebx + 0xf0]
push ecx
mov ecx, dword [ebp - 0x144]
mov esi, esp
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x130], esp
mov ecx, dword [ecx + 0xf8]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp - 0x144]
push ecx
mov byte [ebp - 4], 0xe
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [eax + 0xec]
sub ecx, 0x10
mov dword [ebp - 0x160], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp - 0x134]
push edi
push ebx
push ecx
push ecx
lea edi, [eax + 0x20]
mov dword [ebp - 0x158], esp
add eax, 8
mov ecx, esp
push eax
call fcn.004044ab
mov ebx, dword [ebp - 0x144]
push ecx
mov byte [ebp - 4], 0x10
mov esi, esp
mov dword [ebp - 0x138], esi
mov ecx, dword [ebx + 0x5c]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 3
call fcn.0047bb80
add esp, 0x1c
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x11
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x134]
jmp 0x49696f
cmp edi, 1
je 0x49670b
cmp edi, 2
je 0x49670b
cmp edi, 3
jne 0x49646f
mov eax, dword [ebp - 0x134]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x130], esp
lea edi, [eax + 0x20]
add eax, 8
push eax
call fcn.004044ab
push ecx
mov byte [ebp - 4], 0x1c
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [ebx + 0x7c]
sub ecx, 0x10
mov dword [ebp - 0x160], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x1d
mov esi, esp
mov dword [ebp - 0x138], esi
mov ecx, dword [ebx + 0x5c]
sub ecx, 0x10
mov dword [ebp - 0x158], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x1e
mov esi, esp
mov dword [ebp - 0x13c], esi
mov ecx, dword [ebx + 0x3c]
sub ecx, 0x10
mov dword [ebp - 0x138], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x1f
mov esi, esp
mov dword [ebp - 0x13c], esi
mov ecx, dword [ebx + 0xc]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 3
call fcn.0047d98e
add esp, 0x18
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x20
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x49695d
cmp edi, 4
jne 0x496506
mov eax, dword [ebp - 0x134]
push ecx
push ecx
add eax, 8
mov dword [ebp - 0x130], esp
mov ecx, esp
push eax
call fcn.004044ab
push ecx
mov byte [ebp - 4], 0x21
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [ebx + 0x7c]
sub ecx, 0x10
mov dword [ebp - 0x160], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x22
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [ebx + 0x5c]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
mov byte [ebp - 4], 3
call fcn.0047ce56
add esp, 0x10
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x23
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x496963
cmp edi, 7
jne 0x49661d
lea ecx, [ebp - 0x13c]
call fcn.0040687a
mov byte [ebp - 4], 0x24
cmp byte [ebx + 0x10], 0
je 0x4965b4
cmp byte [ebx + 0x18], 0
jne 0x49657e
push 0x3d9d
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x150]
call fcn.00406620
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x150]
mov ecx, esi
push eax
call fcn.0040121b
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x13c]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x497110
push str..script
lea edx, [ebx + 0xc]
lea ecx, [ebp - 0x138]
call fcn.00409442
pop ecx
push eax
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x26
call fcn.00405d6e
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x138]
add ecx, 0xfffffff0
call fcn.00407189
push ebx
push ecx
mov esi, esp
mov dword [ebp - 0x130], esi
mov edi, dword [ebp - 0x13c]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp - 0x134]
push ecx
push ecx
mov ecx, esp
lea esi, [eax + 0x20]
add eax, 8
push eax
call fcn.004044ab
mov edx, esi
lea ecx, [ebp - 0x150]
call fcn.0047469f
add esp, 0x10
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x170]
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
jmp 0x496465
test edi, edi
jne 0x4966e8
lea ecx, [ebp - 0x13c]
call fcn.0040687a
mov byte [ebp - 4], 0x28
cmp byte [ebx + 0x10], 0
je 0x49669c
cmp byte [ebx + 0x18], 0
jne 0x496666
push 0x3da6
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x150]
call fcn.00406620
mov byte [ebp - 4], 0x29
jmp 0x49654f
push str..script
lea edx, [ebx + 0xc]
lea ecx, [ebp - 0x138]
call fcn.00409442
pop ecx
push eax
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x2a
call fcn.00405d6e
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x138]
add ecx, 0xfffffff0
call fcn.00407189
push ebx
push ecx
mov esi, esp
mov dword [ebp - 0x130], esi
mov edi, dword [ebp - 0x13c]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp - 0x134]
push ecx
push ecx
mov ecx, esp
lea esi, [eax + 0x20]
add eax, 8
push eax
call fcn.004044ab
mov edx, esi
lea ecx, [ebp - 0x150]
call fcn.00475237
add esp, 0x10
mov byte [ebp - 4], 0x2b
jmp 0x4965fb
push 0x3dad
push 0x80004005
push ecx
mov ecx, esp
push str.Internal_error___invalid_mode
call fcn.00406fea
mov ecx, esi
call fcn.00406620
jmp 0x497110
lea eax, [ebx + 0x74]
push eax
lea ecx, [ebp - 0x178]
call fcn.004adcee
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x174], 0
jne 0x4967eb
mov ecx, dword [ebp - 0x134]
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ecx + 0x18]
call fcn.0043b0f4
mov dword [ebp - 0x138], eax
push eax
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x178]
call fcn.00409a0d
mov esi, eax
lea edi, [ebp - 0x150]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x138]
push esi
push dword [ebp - 0x148]
call fcn.00409a5e
test al, al
jne 0x4967d1
cmp dword [ebp - 0x174], 0xccccccc
je 0x497131
push esi
push dword [ebp - 0x178]
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x194]
call fcn.004c1a6b
lea ecx, [ebp - 0x194]
mov esi, dword [eax + 4]
and dword [eax + 4], 0
call fcn.004c0cd7
push esi
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x178]
push dword [ebp - 0x150]
call fcn.00409917
mov ecx, dword [ebp - 0x13c]
add ecx, 0xfffffff0
call fcn.00407189
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x18c]
cmp edi, 1
jne 0x4968d7
mov esi, dword [ebp - 0x134]
xor eax, eax
mov cl, byte [ebx + 0xb3]
mov dl, byte [ebx + 0xb2]
push eax
mov bl, byte [ebx + 0xb1]
push eax
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [esi + 0x20]
push eax
push ecx
push edx
push ecx
push ecx
lea eax, [esi + 8]
mov dword [ebp - 0x130], esp
mov ecx, esp
push eax
call fcn.004044ab
mov edi, dword [ebp - 0x144]
push ecx
mov byte [ebp - 4], 0x14
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [edi + 0x7c]
sub ecx, 0x10
mov dword [ebp - 0x160], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x15
mov esi, esp
mov dword [ebp - 0x138], esi
mov ecx, dword [edi + 0x5c]
sub ecx, 0x10
mov dword [ebp - 0x158], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x16
mov esi, esp
mov dword [ebp - 0x15c], esi
mov ecx, dword [edi + 0x3c]
sub ecx, 0x10
mov dword [ebp - 0x138], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x17
mov esi, esp
mov dword [ebp - 0x15c], esi
mov ecx, dword [edi + 0xc]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
mov dl, bl
mov byte [ebp - 4], 0x12
call fcn.0047bd86
add esp, 0x34
mov byte [ebp - 4], 0x18
jmp 0x496938
cmp edi, 2
jne 0x4970c8
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x134]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x15c], esp
lea edi, [eax + 0x20]
add eax, 8
push eax
call fcn.004044ab
push ecx
mov byte [ebp - 4], 0x19
mov esi, esp
mov dword [ebp - 0x130], esi
mov ecx, dword [ebx + 0x5c]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 0x12
call fcn.0047b3bd
add esp, 0x10
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x170]
call fcn.004032ed
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x178]
call fcn.004add79
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x144]
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x13d], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0xfc
mov byte [ebp - 4], 0x2c
call fcn.004d8429
pop ecx
mov dword [ebp - 0x15c], eax
mov ecx, eax
mov byte [ebp - 4], 0x2d
call fcn.0044f464
mov byte [ebp - 4], 0x2c
mov ecx, dword [0x57d3c8]
mov dword [ebp - 0x154], ecx
mov dword [0x57d3c8], eax
test ecx, ecx
je 0x4969d5
call fcn.0044f7ad
push 0xfc
push dword [ebp - 0x154]
call fcn.004d840d
pop ecx
pop ecx
call fcn.0044e842
test al, al
je 0x496ac7
call fcn.0044f24f
cmp dword [eax + 0xc4], 0
je 0x496a02
call fcn.0044f24f
cmp dword [eax + 0xc4], 7
jne 0x496adb
push 0xfc
lea eax, [ebp - 0x10c]
mov byte [0x57d393], 1
push 0
push eax
call fcn.004d9f30
add esp, 0xc
lea ecx, [ebp - 0x10c]
call fcn.0044f464
mov byte [ebp - 4], 0x2e
mov ecx, dword [0x57d3c8]
push eax
call fcn.0049713c
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x2c
call fcn.0044f7ad
mov eax, dword [0x57d3c8]
mov dword [eax + 0x70], 5
mov eax, dword [0x57d3c8]
mov byte [eax + 8], 1
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0xd4
push eax
lea ecx, [ecx + 0x80]
call fcn.004adccd
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0xa8
push eax
lea ecx, [ecx + 0x54]
call fcn.00405d6e
call fcn.0044f24f
cmp byte [eax + 0x6c], 0
je 0x496adb
call fcn.0044f24f
mov cl, byte [eax + 0x6c]
mov eax, dword [0x57d3c8]
mov byte [eax + 0x18], cl
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0x60
push eax
lea ecx, [ecx + 0xc]
call fcn.00405d6e
jmp 0x496adb
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0x54
push eax
call fcn.00450522
mov eax, dword [0x57d3c8]
mov ecx, dword [eax + 0xe8]
and dword [eax + 0xe4], 0
and dword [eax + 0xe8], 0
test ecx, ecx
je 0x496afd
call fcn.00405adf
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0x164
push eax
lea ecx, [ecx + 0xe0]
call fcn.00405d6e
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0x160
push eax
lea ecx, [ecx + 0xdc]
call fcn.00405d6e
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
add eax, 0x16c
push eax
lea ecx, [ecx + 0xc4]
call fcn.004adb6c
mov ecx, dword [0x57d3c8]
lea ecx, [ecx + 0xcc]
call fcn.004add46
call fcn.0044e842
test al, al
jne 0x496b9b
call fcn.0044f24f
mov ecx, dword [0x57d3c8]
cmp byte [eax + 0x14], 0
lea ecx, [ecx + 0x90]
je 0x496b89
call fcn.004add46
jmp 0x496b92
lea eax, [esi + 0x10]
push eax
call fcn.004adccd
mov eax, dword [0x57d3c8]
mov byte [eax + 0x1d], 1
lea ecx, [ebp - 0x13d]
call fcn.0044f694
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x13d], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x2f
call fcn.0044f24f
mov byte [eax + 0x1a9], 1
call fcn.0044f24f
push str.Finishing...
mov esi, eax
call fcn.004ddaa2
pop ecx
push eax
push str.Finishing...
lea ecx, [esi + 0x44]
call fcn.00406efb
call fcn.0044f24f
lea ecx, [eax + 0x4c]
call fcn.00406d1e
call fcn.0044f24f
lea ecx, [eax + 0x48]
call fcn.00406d1e
call fcn.0044f24f
cmp byte [eax + 0x114], 0
je 0x496c2e
call fcn.0044f24f
push 0
mov ecx, eax
call fcn.00452892
call fcn.0044f24f
mov ecx, eax
call fcn.0045273f
lea ecx, [ebp - 0x13d]
mov byte [ebp - 4], 3
call fcn.0044f694
lea ecx, [ebp - 0x188]
call fcn.00495e13
lea ecx, [ebp - 0x180]
call fcn.0040687a
mov byte [ebp - 4], 0x30
cmp edi, 6
mov edx, dword [ebp - 0x134]
mov cl, byte [ebx + 8]
push 0xc
lea esi, [edx + 8]
mov eax, dword [esi]
mov dword [ebp - 0x154], esi
mov eax, dword [eax + 0xc]
mov byte [eax + 0x28], cl
mov eax, dword [esi]
mov cl, byte [edx + 0x20]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x29], cl
mov eax, dword [esi]
mov cl, byte [edx + 0x21]
pop edx
mov eax, dword [eax + 0xc]
mov byte [eax + 0x2a], cl
mov eax, dword [esi]
mov cl, byte [ebx + 0xb0]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x30], cl
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 5
mov byte [ecx + 0x36], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 7
mov byte [ecx + 0x37], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 1
mov byte [ecx + 0x38], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 2
mov byte [ecx + 0x31], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 8
mov byte [ecx + 0x32], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 3
mov byte [ecx + 0x33], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
cmp edi, 4
mov byte [ecx + 0x34], al
mov eax, dword [esi]
mov ecx, dword [eax + edx]
sete al
mov edx, edi
mov byte [ecx + 0x35], al
lea ecx, [ebp - 0x138]
call fcn.0044e963
mov byte [ebp - 4], 0x31
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx + 0xc]
add ecx, 0x2c
call fcn.00405d6e
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x138]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea eax, [ebp - 0x170]
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
add ecx, 0x4c
call fcn.004032ed
mov eax, dword [esi]
mov cl, byte [ebx + 0xc0]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x3a], cl
call fcn.0044e82b
mov ecx, dword [esi]
mov ecx, dword [ecx + 0xc]
push ecx
push ecx
mov byte [ecx + 0x3b], al
mov ecx, esp
push esi
call fcn.004044ab
lea eax, [ebp - 0x180]
mov edx, ebx
push eax
lea ecx, [ebp - 0x198]
call fcn.00482ac9
add esp, 0xc
mov byte [ebp - 4], 0x32
cmp dword [ebp - 0x198], 0
jge 0x496e3f
cmp dword [ebp - 0x194], 0
mov eax, 0x3e0e
cmovne eax, dword [ebp - 0x194]
push eax
push dword [ebp - 0x198]
push ecx
mov esi, esp
mov dword [ebp - 0x15c], esi
mov ecx, dword [ebp - 0x190]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x150]
mov dword [esi], eax
call fcn.00406620
mov ecx, dword [ebp - 0x18c]
lea eax, [ebp - 0x150]
push eax
mov byte [ebp - 4], 0x33
call fcn.0040121b
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x190]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x180]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x168]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x188]
call fcn.0044b431
mov eax, dword [ebp - 0x18c]
jmp 0x49712b
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x190]
lea ecx, [ecx - 0x10]
call fcn.00407189
cmp byte [ebx + 0xc0], 0
jne 0x496e8d
cmp edi, 1
je 0x496e8d
cmp edi, 6
je 0x496e8d
cmp edi, 5
je 0x496e8d
cmp edi, 2
je 0x496e8d
cmp edi, 8
je 0x496e8d
cmp edi, 3
je 0x496e8d
cmp edi, 4
je 0x496e8d
xor eax, eax
push eax
push eax
push eax
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
cmp byte [ebx + 0x18], 0
jne 0x497070
lea ecx, [ebp - 0x1b8]
call fcn.00476c24
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x34
call fcn.00476c5c
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00476d88
push ecx
mov esi, esp
mov byte [ebp - 4], 0x35
mov dword [ebp - 0x15c], esi
mov ecx, dword [ebx + 0x3c]
push 0x10
pop edi
sub ecx, edi
call fcn.004070e7
add eax, edi
lea ecx, [ebp - 0x13c]
mov dword [esi], eax
call fcn.0047fac9
mov eax, dword [ebp - 0x134]
mov esi, esp
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x15c], esp
mov ecx, dword [eax + 0x28]
sub ecx, edi
call fcn.004070e7
add eax, edi
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x36
mov esi, esp
mov dword [ebp - 0x160], esi
mov ecx, dword [ebx + 0x3c]
sub ecx, edi
mov dword [ebp - 0x130], esp
call fcn.004070e7
add eax, edi
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x37
mov esi, esp
mov dword [ebp - 0x158], esi
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x160], esp
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, edi
mov dword [esi], eax
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x154]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
add ecx, 0x48
push ecx
mov esi, esp
mov dword [ebp - 0x158], esp
mov dword [ebp - 0x138], esi
mov ecx, dword [ecx]
sub ecx, edi
call fcn.004070e7
add eax, edi
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x39
mov esi, esp
mov dword [ebp - 0x154], esi
mov ecx, dword [ebx + 0xc]
sub ecx, edi
mov dword [ebp - 0x138], esp
call fcn.004070e7
add eax, edi
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x3a
mov esi, esp
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x154], esp
mov dword [ebp - 0x144], esi
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, edi
mov dword [esi], eax
sub esp, 0xc
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.0040121b
xor dl, dl
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x150]
call fcn.004802de
add esp, 0x24
mov byte [ebp - 4], 0x3c
cmp dword [ebp - 0x150], 0
jge 0x497045
call fcn.0044e842
test al, al
jne 0x497045
push ecx
mov esi, esp
mov dword [ebp - 0x15c], esp
mov dword [ebp - 0x130], esi
mov ecx, dword [ebx + 0xc]
sub ecx, edi
call fcn.004070e7
add eax, edi
mov dword [esi], eax
sub esp, 0xc
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x150]
mov ecx, esp
push eax
call fcn.0040121b
mov byte [ebp - 4], 0x3c
call fcn.00481121
add esp, 0x10
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x13c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x30
call fcn.0047f5e4
lea ecx, [ebp - 0x12c]
call fcn.0042b0ee
cmp dword [eax + 4], 6
jne 0x49708b
cmp dword [eax + 8], 2
jae 0x49708d
cmp dword [eax + 4], 6
jbe 0x497098
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x17c]
call fcn.0044b60e
mov ecx, dword [ebp - 0x174]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x18c]
lea eax, [ebp - 0x170]
push eax
call fcn.0040121b
jmp 0x496e0d
push 0x3d90
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x150]
call fcn.00406620
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x1b
push eax
mov ecx, esi
call fcn.0040121b
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x178]
call fcn.004add79
mov ecx, dword [ebp - 0x168]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x188]
call fcn.0044b431
mov eax, esi
call fcn.004d8aa1
ret
call fcn.00409e63
int3