Function at 0x414b96
Capabilities:
Accept command line arguments
Check os version
Create process on windows
Self delete
Set current directory

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x318
mov eax, dword [0x4310cc]
xor eax, ebp
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x70]
push ebx
push esi
xor ecx, ecx
mov dword [0x432458], eax
push edi
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x30], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x414be6
xor al, al
jmp 0x414bed
cmp dword [ebp - 0x20], 2
sete al
mov byte [0x43245c], al
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
lea ecx, [ebp - 0x184]
call fcn.0040401d
lea ecx, [ebp - 0x94]
call fcn.0040401d
lea ecx, [ebp - 0x168]
call fcn.0040401d
lea ecx, [ebp - 0x128]
call fcn.0040401d
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409d13
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
call fcn.0040e685
lea ecx, [ebp - 0x150]
mov word [0x432450], ax
call fcn.0040401d
lea eax, [ebp - 0x150]
push eax
push dword [0x432458]
call fcn.0040aac5
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push 0x427fc8
lea ecx, [ebp - 0x88]
mov byte [ebp - 0x79], 0
call fcn.00409a48
mov esi, eax
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
test bl, bl
je 0x414d22
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 0x79], 1
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
mov edi, 0x4277b4
push edi
lea ecx, [ebp - 0x15c]
mov byte [ebp - 0x99], 0
mov byte [ebp - 0x98], 0
call fcn.00409a48
push edi
lea ecx, [ebp - 0x144]
call fcn.00409a48
push 0x427fc0
lea ecx, [ebp - 0x88]
call fcn.00409a48
mov esi, eax
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
test bl, bl
je 0x414ff2
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push edi
lea ecx, [ebp - 0x19c]
call fcn.00409a48
mov ebx, dword [ebp - 0x78]
xor esi, esi
push 0x427fbc
lea ecx, [ebp - 0x74]
call fcn.00409a48
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x88]
or ebx, 3
call fcn.0040adc1
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x414e2b
cmp esi, dword [ebp - 0x90]
mov byte [ebp - 0x66], 1
jl 0x414e2f
mov byte [ebp - 0x66], 0
test bl, 2
je 0x414e43
push dword [ebp - 0x88]
and ebx, 0xfffffffd
call fcn.0041beb5
pop ecx
test bl, 1
je 0x414e54
push dword [ebp - 0x74]
and ebx, 0xfffffffe
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x66], 0
je 0x414e76
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x19c]
call fcn.00404035
inc esi
jmp 0x414deb
mov edi, dword [ebp - 0x19c]
xor esi, esi
push 0x427fb8
lea ecx, [ebp - 0x74]
call fcn.00409a48
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x88]
or ebx, 0xc
call fcn.0040adc1
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x414eb8
cmp esi, dword [ebp - 0x198]
mov byte [ebp - 0x66], 1
jl 0x414ebc
mov byte [ebp - 0x66], 0
test bl, 8
je 0x414ed0
push dword [ebp - 0x88]
and ebx, 0xfffffff7
call fcn.0041beb5
pop ecx
test bl, 4
je 0x414ee1
push dword [ebp - 0x74]
and ebx, 0xfffffffb
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x66], 0
je 0x414efa
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x144]
call fcn.00404035
inc esi
jmp 0x414e7e
inc esi
inc esi
push 0x427fb4
lea ecx, [ebp - 0x74]
call fcn.00409a48
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x88]
or ebx, 0x30
call fcn.0040adc1
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x414f36
cmp esi, dword [ebp - 0x198]
mov byte [ebp - 0x66], 1
jl 0x414f3a
mov byte [ebp - 0x66], 0
test bl, 0x20
je 0x414f4e
push dword [ebp - 0x88]
and ebx, 0xffffffdf
call fcn.0041beb5
pop ecx
test bl, 0x10
je 0x414f5f
push dword [ebp - 0x74]
and ebx, 0xffffffef
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x66], 0
je 0x414f78
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404035
inc esi
jmp 0x414efc
push str.oslist
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x78], ebx
call fcn.00409a48
push dword [ebp - 0x74]
push dword [ebp - 0x144]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x414fb4
mov byte [ebp - 0x99], 1
jmp 0x414feb
push str.osblock
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
push dword [ebp - 0x144]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x414feb
mov byte [ebp - 0x98], 1
push edi
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x104]
mov byte [ebp - 0x65], 0
call fcn.0040401d
push 0x427f8c
lea ecx, [ebp - 0x88]
call fcn.00409a48
push 2
pop edi
mov esi, eax
push edi
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
mov esi, 0x427f84
test bl, bl
je 0x415123
push edi
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
push esi
lea ecx, [ebp - 0x74]
call fcn.00409a48
push 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409932
push dword [ebp - 0x74]
mov ebx, eax
call fcn.0041beb5
pop ecx
test ebx, ebx
jle 0x415123
push ebx
push 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409ab5
push eax
lea ecx, [ebp - 0x104]
call fcn.00409a7e
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x104]
call fcn.00409dd1
lea ecx, [ebp - 0x104]
call fcn.00409dab
push ebx
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x104]
call fcn.00409dd1
lea ecx, [ebp - 0x104]
call fcn.00409dab
mov byte [ebp - 0x65], 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 0x96], 0
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push esi
lea ecx, [ebp - 0x88]
call fcn.00409a48
mov esi, eax
push edi
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
test bl, bl
je 0x41539a
push edi
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push 0x427f80
lea ecx, [ebp - 0x74]
mov byte [ebp - 0x96], 1
call fcn.00409a48
push 1
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x88]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
pop ecx
test bl, bl
je 0x415226
and dword [ebp - 0xa0], 0
jmp 0x41539a
lea ecx, [ebp - 0x204]
call fcn.0040401d
xor esi, esi
mov byte [ebp - 0x66], 0
push 0x427fbc
lea ecx, [ebp - 0x74]
call fcn.00409a48
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
or dword [ebp - 0x78], 0xc0
push eax
lea ecx, [ebp - 0x88]
call fcn.0040adc1
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x41527b
cmp esi, dword [ebp - 0x90]
jge 0x41527b
mov bl, 1
jmp 0x41527d
xor bl, bl
test byte [ebp - 0x78], 0x80
je 0x415296
push dword [ebp - 0x88]
and dword [ebp - 0x78], 0xffffff7f
call fcn.0041beb5
pop ecx
test byte [ebp - 0x78], 0x40
je 0x4152a9
push dword [ebp - 0x74]
and dword [ebp - 0x78], 0xffffffbf
call fcn.0041beb5
pop ecx
test bl, bl
je 0x4152e2
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x204]
call fcn.00404035
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
call fcn.0041c491
pop ecx
test eax, eax
je 0x4152dc
mov byte [ebp - 0x66], 1
inc esi
jmp 0x415237
cmp dword [ebp - 0x200], 0
mov esi, dword [ebp - 0x204]
jne 0x415306
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x178], 1
jmp 0x415393
push str.default
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
push esi
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x41533a
and dword [ebp - 0xa0], 0
jmp 0x415393
push str.launch
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
push esi
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x415371
mov dword [ebp - 0xa0], 1
jmp 0x415393
cmp byte [ebp - 0x66], 0
je 0x415380
and dword [ebp - 0xa0], 0
jmp 0x415386
mov dword [ebp - 0xa0], edi
push esi
call fcn.0041c3a9
pop ecx
mov dword [ebp - 0x178], eax
push esi
call fcn.0041beb5
pop ecx
mov esi, dword [ebp - 0x78]
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
lea ecx, [ebp - 0x174]
call fcn.0040a1ee
mov ecx, dword [ebp - 0x150]
lea eax, [ebp - 0x174]
push eax
push str.___InstallEnd__
mov edx, str.___Install__UTF_8_
call fcn.00413ee3
test al, al
jne 0x415454
cmp byte [ebp - 0x79], al
jne 0x4153e9
push 0xf4241
call fcn.004120cc
push dword [ebp - 0x174]
call fcn.0041beb5
push dword [ebp - 0x104]
call fcn.0041beb5
push dword [ebp - 0x144]
call fcn.0041beb5
push dword [ebp - 0x15c]
call fcn.0041beb5
push dword [ebp - 0x150]
call fcn.0041beb5
push dword [ebp - 0x128]
call fcn.0041beb5
push dword [ebp - 0x168]
call fcn.0041beb5
push dword [ebp - 0x94]
call fcn.0041beb5
push dword [ebp - 0x184]
call fcn.0041beb5
add esp, 0x24
jmp 0x41711b
push 0x427f58
lea ecx, [ebp - 0x190]
call fcn.00409a48
lea ecx, [ebp - 0x110]
call fcn.0040401d
lea ecx, [ebp - 0x11c]
mov byte [ebp - 0x1f8], 1
call fcn.0040401d
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0x95], 1
mov byte [ebp - 0x7a], 0
call fcn.0040401d
lea ecx, [ebp - 0xc8]
call fcn.0040401d
xor ebx, ebx
mov edi, 0x4279fc
cmp dword [ebp - 0x170], ebx
je 0x415f76
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], 4
mov dword [ebp - 0xdc], vtable.CObjectVector_struct_CTextConfigPair_.0
call fcn.0040a50e
test al, al
jne 0x415511
cmp byte [ebp - 0x79], al
jne 0x415501
push 0xf4242
call fcn.004120cc
lea ecx, [ebp - 0xdc]
call fcn.00413c25
jmp 0x41707e
push edi
lea ecx, [ebp - 0x88]
call fcn.00409a48
push str.DeleteTempFiles
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push dword [ebp - 0x88]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0xac]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
add esp, 0xc
test bl, bl
je 0x415582
mov byte [ebp - 0x95], 0
push 0x427f30
lea ecx, [ebp - 0x88]
call fcn.00409a48
push str.BrowseForFolder
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push dword [ebp - 0x88]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0xac]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
add esp, 0xc
test bl, bl
je 0x4155f4
mov byte [ebp - 0x7a], 1
push str.OSBit
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.0040a4d1
push dword [ebp - 0x74]
call fcn.0041beb5
cmp dword [ebp - 0xf8], 0
pop ecx
je 0x4157a5
lea ecx, [ebp - 0xf8]
call fcn.00409dd1
lea ecx, [ebp - 0xf8]
call fcn.00409dab
call fcn.00417282
push 0x427efc
lea ecx, [ebp - 0x88]
mov edi, eax
call fcn.00409a48
push dword [ebp - 0x88]
mov esi, 0x100
push dword [ebp - 0xf8]
or dword [ebp - 0x78], esi
call fcn.0040a03a
mov ebx, 0x200
test eax, eax
je 0x4156a3
push 0x427ef4
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
or dword [ebp - 0x78], ebx
push dword [ebp - 0xf8]
call fcn.0040a03a
mov byte [ebp - 0x66], 0
test eax, eax
jne 0x4156a7
mov byte [ebp - 0x66], 1
test dword [ebp - 0x78], ebx
je 0x4156bc
push dword [ebp - 0x74]
and dword [ebp - 0x78], 0xfffffdff
call fcn.0041beb5
pop ecx
test dword [ebp - 0x78], esi
je 0x4156d4
push dword [ebp - 0x88]
and dword [ebp - 0x78], 0xfffffeff
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x66], 0
je 0x41570f
test edi, edi
je 0x4157a5
sub esp, 0xc
lea eax, [ebp - 0xf8]
mov ecx, esp
mov dword [ebp - 0x1ac], esp
push eax
call fcn.00404128
call fcn.0041827a
push dword [ebp - 0xf8]
call fcn.0041beb5
pop ecx
jmp 0x415501
push 0x427eec
lea ecx, [ebp - 0x88]
call fcn.00409a48
push dword [ebp - 0x88]
or dword [ebp - 0x78], 0x400
push dword [ebp - 0xf8]
call fcn.0040a03a
mov esi, 0x800
test eax, eax
je 0x415766
push 0x427ee4
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
or dword [ebp - 0x78], esi
push dword [ebp - 0xf8]
call fcn.0040a03a
test eax, eax
je 0x415766
xor bl, bl
jmp 0x415768
mov bl, 1
test dword [ebp - 0x78], esi
je 0x41577d
push dword [ebp - 0x74]
and dword [ebp - 0x78], 0xfffff7ff
call fcn.0041beb5
pop ecx
test dword [ebp - 0x78], 0x400
je 0x415799
push dword [ebp - 0x88]
and dword [ebp - 0x78], 0xfffffbff
call fcn.0041beb5
pop ecx
test bl, bl
je 0x4157a5
test edi, edi
je 0x4156e2
push str.OSList
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.0040a4d1
push dword [ebp - 0x74]
call fcn.0041beb5
lea ecx, [ebp - 0x74]
mov dword [esp], str.OSBlock
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x1c4]
push eax
call fcn.0040a4d1
push dword [ebp - 0x74]
call fcn.0041beb5
cmp byte [ebp - 0x99], 0
pop ecx
je 0x41582b
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.00409a7e
push 0x4277b4
lea ecx, [ebp - 0x1c4]
call fcn.0040a8c9
cmp byte [ebp - 0x98], 0
je 0x415856
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x1c4]
call fcn.00409a7e
push 0x4277b4
lea ecx, [ebp - 0x1a8]
call fcn.0040a8c9
xor edi, edi
cmp dword [ebp - 0x1c0], edi
je 0x4158b3
cmp dword [ebp - 0x1a4], edi
je 0x41589b
push 0xf4243
call fcn.004120cc
push dword [ebp - 0x1c4]
call fcn.0041beb5
push dword [ebp - 0x1a8]
call fcn.0041beb5
push dword [ebp - 0xf8]
call fcn.0041beb5
add esp, 0xc
jmp 0x415501
push edi
lea eax, [ebp - 0x1c4]
push eax
call fcn.004179bc
test eax, eax
je 0x4158c5
call fcn.00418ad6
jmp 0x415872
cmp dword [ebp - 0x1a4], edi
je 0x4158c5
push 1
lea eax, [ebp - 0x1a8]
jmp 0x4158a2
push str.OSLangBlock
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.0040a4d1
push dword [ebp - 0x74]
call fcn.0041beb5
lea ecx, [ebp - 0x88]
mov dword [esp], str.OSLangList
call fcn.00409a48
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040a4d1
push dword [ebp - 0x88]
call fcn.0041beb5
lea ecx, [ebp - 0xac]
mov dword [esp], str.HPSEA_ReturnVal
call fcn.00409a48
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.0040a4d1
push dword [ebp - 0xac]
call fcn.0041beb5
cmp byte [ebp - 0x96], 0
pop ecx
jne 0x415a36
push str.default
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
push dword [ebp - 0x1dc]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x4159a8
mov dword [ebp - 0xa0], edi
jmp 0x415a36
push str.launch
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
push dword [ebp - 0x1dc]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x4159e4
mov dword [ebp - 0xa0], 1
jmp 0x415a36
xor bl, bl
xor esi, esi
cmp dword [ebp - 0x1d8], edi
jle 0x415a1a
mov eax, dword [ebp - 0x1dc]
movzx eax, word [eax + esi*2]
push eax
call fcn.0041c491
pop ecx
test eax, eax
je 0x415a07
mov bl, 1
inc esi
cmp esi, dword [ebp - 0x1d8]
jl 0x4159f0
mov dword [ebp - 0xa0], edi
test bl, bl
jne 0x415a24
mov dword [ebp - 0xa0], 2
push dword [ebp - 0x1dc]
call fcn.0041c3a9
pop ecx
mov dword [ebp - 0x178], eax
push dword [ebp - 0x19c]
call fcn.0040a13e
push dword [ebp - 0x21c]
call fcn.0040a13e
cmp dword [ebp - 0x198], edi
je 0x415acc
cmp dword [ebp - 0x218], edi
je 0x415ab0
push 0xf4244
call fcn.004120cc
push dword [ebp - 0x1dc]
call fcn.0041beb5
push dword [ebp - 0x21c]
call fcn.0041beb5
push dword [ebp - 0x19c]
call fcn.0041beb5
push dword [ebp - 0x1c4]
call fcn.0041beb5
push dword [ebp - 0x1a8]
call fcn.0041beb5
push dword [ebp - 0xf8]
call fcn.0041beb5
add esp, 0x18
jmp 0x415501
push edi
lea eax, [ebp - 0x19c]
push eax
call fcn.00417bc9
test eax, eax
je 0x415be9
call fcn.00417e9a
jmp 0x415a66
cmp dword [ebp - 0x218], edi
je 0x415be9
xor esi, esi
inc esi
push esi
lea eax, [ebp - 0x21c]
push eax
call fcn.00417bc9
test eax, eax
je 0x415be9
call fcn.00417e9a
push dword [ebp - 0x1dc]
call fcn.0041beb5
push dword [ebp - 0x21c]
call fcn.0041beb5
push dword [ebp - 0x19c]
call fcn.0041beb5
push dword [ebp - 0x1c4]
call fcn.0041beb5
push dword [ebp - 0x1a8]
call fcn.0041beb5
push dword [ebp - 0xf8]
call fcn.0041beb5
add esp, 0x18
lea ecx, [ebp - 0xdc]
call fcn.00413c25
push dword [ebp - 0xc8]
call fcn.0041beb5
push dword [ebp - 0xb8]
call fcn.0041beb5
push dword [ebp - 0x11c]
call fcn.0041beb5
push dword [ebp - 0x110]
call fcn.0041beb5
push dword [ebp - 0x190]
call fcn.0041beb5
push dword [ebp - 0x174]
call fcn.0041beb5
push dword [ebp - 0x104]
call fcn.0041beb5
push dword [ebp - 0x144]
call fcn.0041beb5
push dword [ebp - 0x15c]
call fcn.0041beb5
push dword [ebp - 0x150]
call fcn.0041beb5
push dword [ebp - 0x128]
call fcn.0041beb5
push dword [ebp - 0x168]
call fcn.0041beb5
push dword [ebp - 0x94]
call fcn.0041beb5
push dword [ebp - 0x184]
call fcn.0041beb5
add esp, 0x38
mov eax, esi
jmp 0x41711e
push str.ExtractFolder
lea ecx, [ebp - 0x74]
call fcn.00409a48
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xbc], esp
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0xdc]
push ecx
push eax
call fcn.0040a4d1
lea eax, [ebp - 0xe8]
push eax
call fcn.004140ac
push eax
lea ecx, [ebp - 0xb8]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
pop ecx
push str.SubFolder
lea ecx, [ebp - 0x88]
call fcn.00409a48
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xbc], esp
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0xdc]
push ecx
push eax
call fcn.0040a4d1
lea eax, [ebp - 0xe8]
push eax
call fcn.004140ac
push eax
lea ecx, [ebp - 0xc8]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
push str.Title
lea ecx, [ebp - 0xac]
call fcn.00409a48
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x11c]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
push dword [ebp - 0xac]
call fcn.0041beb5
pop ecx
pop ecx
cmp dword [ebp - 0x118], edi
jne 0x415d04
push 0x427e20
lea ecx, [ebp - 0x11c]
call fcn.0040a8c9
push str.BeginPrompt
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.0040a4d1
push dword [ebp - 0x74]
call fcn.0041beb5
lea ecx, [ebp - 0x88]
mov dword [esp], 0x427df4
call fcn.00409a48
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.0040a4d1
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
mov edi, 0x4279fc
push edi
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
push dword [ebp - 0x230]
call fcn.0040a03a
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041beb5
pop ecx
test bl, bl
je 0x415da0
mov byte [ebp - 0x1f8], 0
push str.Directory
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0040a49b
push dword [ebp - 0x74]
mov esi, eax
call fcn.0041beb5
pop ecx
test esi, esi
jl 0x415de4
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + esi*4]
add eax, 0xc
push eax
lea ecx, [ebp - 0x190]
call fcn.00409a7e
cmp dword [ebp - 0x200], 0
je 0x415e2d
cmp byte [ebp - 0x79], 0
jne 0x415e2d
push 0x24
push dword [ebp - 0x11c]
push dword [ebp - 0x204]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x415e2d
push dword [ebp - 0x230]
call fcn.0041beb5
push dword [ebp - 0x204]
call fcn.0041beb5
pop ecx
pop ecx
xor esi, esi
jmp 0x415af5
push str.RunProgram
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x110]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
pop ecx
push str.ExecuteFile
lea ecx, [ebp - 0x88]
call fcn.00409a48
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x168]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
cmp byte [ebp - 0x65], 0
pop ecx
pop ecx
jne 0x415f0b
push str.ExecuteParameters
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x128]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
pop ecx
push dword [ebp - 0x230]
call fcn.0041beb5
push dword [ebp - 0x204]
call fcn.0041beb5
push dword [ebp - 0x1dc]
call fcn.0041beb5
push dword [ebp - 0x21c]
call fcn.0041beb5
push dword [ebp - 0x19c]
call fcn.0041beb5
push dword [ebp - 0x1c4]
call fcn.0041beb5
push dword [ebp - 0x1a8]
call fcn.0041beb5
push dword [ebp - 0xf8]
call fcn.0041beb5
add esp, 0x20
lea ecx, [ebp - 0xdc]
call fcn.00413c25
mov esi, dword [ebp - 0x78]
xor ebx, ebx
lea ecx, [ebp - 0x134]
mov byte [ebp - 0x138], 0
call fcn.0040401d
lea ecx, [ebp - 0x1b8]
call fcn.0040401d
lea eax, [ebp - 0x1b8]
push eax
call fcn.0040b422
sub esp, 0xc
lea eax, [ebp - 0x1b8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x138]
call fcn.00413d49
cmp dword [ebp - 0xb4], ebx
je 0x41628e
push 0x4277b8
lea ecx, [ebp - 0x74]
call fcn.00409a48
push 1
push 1
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00409ab5
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0xe8]
mov ebx, eax
call fcn.0041beb5
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
pop ecx
test ebx, ebx
je 0x416021
lea eax, [ebp - 0xb8]
push eax
call fcn.0040b344
push 0x427d84
lea ecx, [ebp - 0x88]
call fcn.00409a48
push 2
push 1
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb8]
or esi, 0x3000
call fcn.00409ab5
push dword [ebp - 0x88]
push dword [eax]
call fcn.0040a03a
mov edi, 0x4000
mov ebx, 0x8000
test eax, eax
je 0x4160a1
push 0x427d7c
lea ecx, [ebp - 0x74]
call fcn.00409a48
push 2
push 1
lea eax, [ebp - 0xe8]
or esi, edi
push eax
lea ecx, [ebp - 0xb8]
or esi, ebx
call fcn.00409ab5
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a03a
mov byte [ebp - 0x65], 0
test eax, eax
jne 0x4160a5
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x4160bb
push dword [ebp - 0xe8]
and esi, 0xffff7fff
call fcn.0041beb5
pop ecx
test edi, esi
je 0x4160ce
push dword [ebp - 0x74]
and esi, 0xffffbfff
call fcn.0041beb5
pop ecx
test esi, 0x2000
je 0x4160e8
push dword [ebp - 0xac]
and esi, 0xffffdfff
call fcn.0041beb5
pop ecx
test esi, 0x1000
je 0x416102
push dword [ebp - 0x88]
and esi, 0xffffefff
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x65], 0
je 0x416307
push 0x42782c
lea ecx, [ebp - 0x88]
call fcn.00409a48
push 1
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb8]
or esi, 0x30000
call fcn.0040d8ed
push dword [ebp - 0x88]
push dword [eax]
call fcn.0040a03a
mov edi, 0x40000
mov ebx, 0x80000
test eax, eax
je 0x416188
push 0x427818
lea ecx, [ebp - 0x74]
call fcn.00409a48
push 1
lea eax, [ebp - 0xe8]
or esi, edi
push eax
lea ecx, [ebp - 0xb8]
or esi, ebx
call fcn.0040d8ed
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a03a
mov byte [ebp - 0x65], 0
test eax, eax
jne 0x41618c
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x4161a2
push dword [ebp - 0xe8]
and esi, 0xfff7ffff
call fcn.0041beb5
pop ecx
test edi, esi
je 0x4161b5
push dword [ebp - 0x74]
and esi, 0xfffbffff
call fcn.0041beb5
pop ecx
test esi, 0x20000
je 0x4161cf
push dword [ebp - 0xac]
and esi, 0xfffdffff
call fcn.0041beb5
pop ecx
test esi, 0x10000
je 0x4161e9
push dword [ebp - 0x88]
and esi, 0xfffeffff
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x65], 0
je 0x416223
mov eax, dword [ebp - 0xb4]
dec eax
push eax
push 0
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00409ab5
push eax
lea ecx, [ebp - 0xb8]
call fcn.00409a7e
push dword [ebp - 0xe8]
call fcn.0041beb5
pop ecx
push 0x42782c
lea ecx, [ebp - 0x88]
call fcn.00409a48
push 0x427818
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040e55e
push dword [ebp - 0x74]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
push ecx
lea eax, [ebp - 0xb8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x138]
call fcn.00413d49
mov edi, 0x4279fc
cmp dword [ebp - 0xc4], 0
mov ebx, 0x100000
je 0x4162c1
push 0x427f30
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
or esi, ebx
push dword [ebp - 0xc8]
call fcn.0040a03a
mov byte [ebp - 0x65], 0
test eax, eax
jne 0x4162c5
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x4162d8
push dword [ebp - 0x74]
and esi, 0xffefffff
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x65], 0
je 0x416326
push dword [0x430f70]
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x138]
call fcn.0040b586
push dword [ebp - 0xe8]
call fcn.0041beb5
pop ecx
jmp 0x41641a
push dword [ebp - 0x1b8]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x138]
call fcn.00413bc2
xor esi, esi
inc esi
jmp 0x415b45
cmp dword [ebp - 0xc4], 0
mov ebx, 0x200000
je 0x416355
push edi
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
or esi, ebx
push dword [ebp - 0xc8]
call fcn.0040a03a
mov byte [ebp - 0x65], 1
test eax, eax
jne 0x416359
mov byte [ebp - 0x65], 0
test ebx, esi
je 0x41636c
push dword [ebp - 0x74]
and esi, 0xffdfffff
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x65], 0
je 0x4163ca
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00409a7e
push 0x42782c
lea ecx, [ebp - 0xb8]
call fcn.0040adf4
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040a900
sub esp, 0xc
lea eax, [ebp - 0xb8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x138]
call fcn.00413d49
jmp 0x41641a
cmp dword [ebp - 0xc4], 0
mov ebx, 0x400000
je 0x4163f9
push edi
lea ecx, [ebp - 0x74]
call fcn.00409a48
push dword [ebp - 0x74]
or esi, ebx
push dword [ebp - 0xc8]
call fcn.0040a03a
mov byte [ebp - 0x65], 1
test eax, eax
je 0x4163fd
mov byte [ebp - 0x65], 0
test ebx, esi
je 0x416410
push dword [ebp - 0x74]
and esi, 0xffbfffff
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x65], 0
je 0x417067
cmp byte [ebp - 0x7a], 0
je 0x416627
push 0
sub esp, 0xc
lea eax, [ebp - 0xc8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.00404128
sub esp, 0xc
lea eax, [ebp - 0x134]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.00404128
lea eax, [ebp - 0x11c]
push eax
mov ecx, 0x432460
call fcn.00413df4
push eax
lea ecx, [ebp - 0xac]
call fcn.00409a48
cmp dword [ebp - 0xa8], 0
jne 0x4164a4
push dword [ebp - 0xac]
call fcn.0041beb5
push dword [ebp - 0x1b8]
call fcn.0041beb5
pop ecx
pop ecx
lea ecx, [ebp - 0x138]
call fcn.00413bc2
xor esi, esi
jmp 0x415b45
push 0x42782c
lea ecx, [ebp - 0x88]
call fcn.00409a48
push 1
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0xac]
or esi, 0x1800000
call fcn.0040d8ed
push dword [ebp - 0x88]
push dword [eax]
call fcn.0040a03a
mov edi, 0x2000000
mov ebx, 0x4000000
test eax, eax
je 0x416520
push 0x427818
lea ecx, [ebp - 0x74]
call fcn.00409a48
push 1
lea eax, [ebp - 0xe8]
or esi, edi
push eax
lea ecx, [ebp - 0xac]
or esi, ebx
call fcn.0040d8ed
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040a03a
mov byte [ebp - 0x7a], 0
test eax, eax
jne 0x416524
mov byte [ebp - 0x7a], 1
test ebx, esi
je 0x41653a
push dword [ebp - 0xe8]
and esi, 0xfbffffff
call fcn.0041beb5
pop ecx
test edi, esi
je 0x41654d
push dword [ebp - 0x74]
and esi, 0xfdffffff
call fcn.0041beb5
pop ecx
test esi, 0x1000000
je 0x416567
push dword [ebp - 0x1e8]
and esi, 0xfeffffff
call fcn.0041beb5
pop ecx
test esi, 0x800000
je 0x41657b
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
cmp byte [ebp - 0x7a], 0
je 0x4165b5
mov eax, dword [ebp - 0xa8]
dec eax
push eax
push 0
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0xac]
call fcn.00409ab5
push eax
lea ecx, [ebp - 0xac]
call fcn.00409a7e
push dword [ebp - 0x1e8]
call fcn.0041beb5
pop ecx
push 0x42782c
lea ecx, [ebp - 0x88]
call fcn.00409a48
push 0x427818
lea ecx, [ebp - 0x74]
call fcn.00409a48
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xac]
call fcn.0040e55e
push dword [ebp - 0x74]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
push ecx
lea eax, [ebp - 0xac]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x138]
call fcn.00413d49
push dword [ebp - 0xac]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x138]
call fcn.0040b93f
test al, al
jne 0x41664e
cmp byte [ebp - 0x79], al
jne 0x416307
push 0xf4246
call fcn.004120cc
jmp 0x416307
cmp byte [ebp - 0x95], 0
jne 0x41665e
mov byte [ebp - 0x138], 0
lea eax, [ebp - 0x134]
xor esi, esi
push eax
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x224], 0x427cec
mov dword [ebp - 0x220], esi
call fcn.00404128
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 0x97], 0
call fcn.0040401d
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x97]
push eax
push dword [ebp - 0x1f8]
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.004116fc
cmp eax, esi
je 0x416cf0
cmp byte [ebp - 0x79], 0
jne 0x416cc7
mov ebx, 0xc4
mov edi, 0x43f
cmp eax, 1
je 0x4166f0
cmp byte [ebp - 0x97], 0
je 0x4169e4
mov si, word [0x432450]
cmp si, word [0x430de0]
je 0x4169b4
and dword [ebp - 0x64], 0
push ebx
lea eax, [ebp - 0x60]
push 0
push eax
call fcn.0041b1d0
movzx eax, si
add esp, 0xc
cmp eax, edi
jg 0x41684b
je 0x416841
sub eax, 0x401
cmp eax, 0x29
ja case.0x416736.1033
jmp dword [eax*4 + 0x417132]
mov eax, 0x283f
jmp 0x416994
mov eax, 0x2871
jmp 0x416994
mov eax, 0x28a3
jmp 0x416994
mov eax, 0x2925
jmp 0x416994
mov eax, 0x2835
jmp 0x416994
mov eax, 0x2853
jmp 0x416994
mov eax, 0x288f
jmp 0x416994
mov eax, 0x28d5
jmp 0x416994
mov eax, 0x28fd
jmp 0x416994
mov eax, 0x2939
jmp 0x416994
mov eax, 0x28b7
jmp 0x416994
mov eax, 0x28ad
jmp 0x416994
mov eax, 0x280d
jmp 0x416994
mov eax, 0x2885
jmp 0x416994
mov eax, 0x2817
jmp 0x416994
mov eax, 0x2821
jmp 0x416994
mov eax, 0x2975
jmp 0x416994
mov eax, 0x294d
jmp 0x416994
mov eax, 0x297f
jmp 0x416994
mov eax, 0x2989
jmp 0x416994
mov eax, 0x28f3
jmp 0x416994
mov eax, 0x2911
jmp 0x416994
mov eax, 0x296b
jmp 0x416994
mov eax, 0x292f
jmp 0x416994
mov eax, 0x2957
jmp 0x416994
mov eax, 0x29a7
jmp 0x416994
mov eax, 0x2a79
jmp 0x416994
mov ecx, 0x100c
cmp eax, ecx
jg 0x416914
je case.0x416736.1036
mov ecx, 0x81a
cmp eax, ecx
jg 0x4168c6
je 0x41694c
add ecx, 0xfffffff2
cmp eax, ecx
jg 0x41689a
je case.0x416736.1036
sub eax, 0x804
je 0x416890
sub eax, 3
je case.0x416736.1031
dec eax
dec eax
je case.0x416736.1033
dec eax
jmp 0x416989
mov eax, 0x502b
jmp 0x416994
sub eax, 0x813
je case.0x416736.1043
dec eax
je case.0x416736.1044
dec eax
dec eax
jne case.0x416736.1033
mov eax, 0x28df
jmp 0x416994
mov eax, 0x28cb
jmp 0x416994
mov eax, 0x28c1
jmp 0x416994
sub eax, 0xc04
je case.0x416736.1028
sub eax, 3
je case.0x416736.1031
dec eax
dec eax
je case.0x416736.1033
dec eax
je case.0x416736.1034
sub eax, 0x10
je 0x41694c
sub eax, 0x3ea
je case.0x416736.1028
sub eax, 5
mov eax, 0x285d
jmp 0x416994
mov eax, 0x2849
jmp 0x416994
mov eax, 0x282b
jmp 0x416994
mov eax, 0x287b
jmp 0x416994
mov ecx, 0x280a
cmp eax, ecx
jg 0x41695a
je case.0x416736.1034
sub eax, 0x101a
je case.0x416736.1050
sub eax, 0x7ef
je case.0x416736.1033
sub eax, 0x11
je 0x41694c
sub eax, 0x3ef
je case.0x416736.1033
sub eax, 0x11
je 0x41694c
sub eax, 0x3f0
je case.0x416736.1034
sub eax, 0x400
jmp 0x416989
mov eax, 0x7907
jmp 0x416994
mov eax, 0x2907
jmp 0x416994
cmp eax, 0x2c0a
je case.0x416736.1034
cmp eax, 0x300a
je case.0x416736.1034
cmp eax, 0x340a
je case.0x416736.1034
cmp eax, 0x380a
je case.0x416736.1034
cmp eax, 0x3c0a
je case.0x416736.1034
cmp eax, 0x400a
je case.0x416736.1034
cmp eax, 0x500a
jne case.0x416736.1033
mov eax, 0x2867
push 0x64
lea ecx, [ebp - 0x64]
push ecx
push eax
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x1d0]
call fcn.0040a8c9
jmp 0x4169dd
push 0x285d
lea eax, [ebp - 0x1e8]
push eax
call fcn.0040c244
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00409a7e
push dword [ebp - 0x1e8]
call fcn.0041beb5
pop ecx
mov eax, 0x80004005
xor esi, esi
cmp eax, 0x80004004
je 0x416cc7
cmp dword [ebp - 0x1cc], esi
je 0x416cc7
push ebx
lea eax, [ebp - 0x60]
push esi
push eax
mov dword [ebp - 0x64], esi
call fcn.0041b1d0
movzx eax, word [0x432450]
add esp, 0xc
cmp eax, edi
jg 0x416b44
je 0x416b3a
sub eax, 0x401
cmp eax, 0x29
ja case.0x416a2f.1033
jmp dword [eax*4 + 0x4171da]
mov eax, 0x283e
jmp 0x416c8d
mov eax, 0x2870
jmp 0x416c8d
mov eax, 0x28a2
jmp 0x416c8d
mov eax, 0x2924
jmp 0x416c8d
mov eax, 0x2834
jmp 0x416c8d
mov eax, 0x2852
jmp 0x416c8d
mov eax, 0x288e
jmp 0x416c8d
mov eax, 0x28d4
jmp 0x416c8d
mov eax, 0x28fc
jmp 0x416c8d
mov eax, 0x2938
jmp 0x416c8d
mov eax, 0x28b6
jmp 0x416c8d
mov eax, 0x28ac
jmp 0x416c8d
mov eax, 0x280c
jmp 0x416c8d
mov eax, 0x2884
jmp 0x416c8d
mov eax, 0x2816
jmp 0x416c8d
mov eax, 0x2820
jmp 0x416c8d
mov eax, 0x2974
jmp 0x416c8d
mov eax, 0x294c
jmp 0x416c8d
mov eax, 0x297e
jmp 0x416c8d
mov eax, 0x2988
jmp 0x416c8d
mov eax, 0x28f2
jmp 0x416c8d
mov eax, 0x2910
jmp 0x416c8d
mov eax, 0x296a
jmp 0x416c8d
mov eax, 0x292e
jmp 0x416c8d
mov eax, 0x2956
jmp 0x416c8d
mov eax, 0x29a6
jmp 0x416c8d
mov eax, 0x2a78
jmp 0x416c8d
mov ecx, 0x100c
cmp eax, ecx
jg 0x416c0d
je case.0x416a2f.1036
mov ecx, 0x81a
cmp eax, ecx
jg 0x416bbf
je 0x416c45
add ecx, 0xfffffff2
cmp eax, ecx
jg 0x416b93
je case.0x416a2f.1036
sub eax, 0x804
je 0x416b89
sub eax, 3
je case.0x416a2f.1031
dec eax
dec eax
je case.0x416a2f.1033
dec eax
jmp 0x416c82
mov eax, 0x502a
jmp 0x416c8d
sub eax, 0x813
je case.0x416a2f.1043
dec eax
je case.0x416a2f.1044
dec eax
dec eax
jne case.0x416a2f.1033
mov eax, 0x28de
jmp 0x416c8d
mov eax, 0x28ca
jmp 0x416c8d
mov eax, 0x28c0
jmp 0x416c8d
sub eax, 0xc04
je case.0x416a2f.1028
sub eax, 3
je case.0x416a2f.1031
dec eax
dec eax
je case.0x416a2f.1033
dec eax
je case.0x416a2f.1034
sub eax, 0x10
je 0x416c45
sub eax, 0x3ea
je case.0x416a2f.1028
sub eax, 5
mov eax, 0x285c
jmp 0x416c8d
mov eax, 0x2848
jmp 0x416c8d
mov eax, 0x282a
jmp 0x416c8d
mov eax, 0x287a
jmp 0x416c8d
mov ecx, 0x280a
cmp eax, ecx
jg 0x416c53
je case.0x416a2f.1034
sub eax, 0x101a
je case.0x416a2f.1050
sub eax, 0x7ef
je case.0x416a2f.1033
sub eax, 0x11
je 0x416c45
sub eax, 0x3ef
je case.0x416a2f.1033
sub eax, 0x11
je 0x416c45
sub eax, 0x3f0
je case.0x416a2f.1034
sub eax, 0x400
jmp 0x416c82
mov eax, 0x7906
jmp 0x416c8d
mov eax, 0x2906
jmp 0x416c8d
cmp eax, 0x2c0a
je case.0x416a2f.1034
cmp eax, 0x300a
je case.0x416a2f.1034
cmp eax, 0x340a
je case.0x416a2f.1034
cmp eax, 0x380a
je case.0x416a2f.1034
cmp eax, 0x3c0a
je case.0x416a2f.1034
cmp eax, 0x400a
je case.0x416a2f.1034
cmp eax, 0x500a
jne case.0x416a2f.1033
mov eax, 0x2866
push 0x64
lea ecx, [ebp - 0x64]
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00409a48
push 0x10
push dword [eax]
push dword [ebp - 0x1d0]
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x1e8]
call fcn.0041beb5
pop ecx
push dword [ebp - 0x1d0]
call fcn.0041beb5
push dword [ebp - 0x1f4]
call fcn.0041beb5
push dword [ebp - 0x1b8]
call fcn.0041beb5
add esp, 0xc
jmp 0x416313
lea ecx, [ebp - 0x210]
call fcn.00414084
push dword [ebp - 0x134]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x416d4b
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x210]
call fcn.0041beb5
push dword [ebp - 0x1d0]
call fcn.0041beb5
push dword [ebp - 0x1f4]
call fcn.0041beb5
push dword [ebp - 0x1b8]
call fcn.0041beb5
add esp, 0x10
jmp 0x416313
cmp dword [ebp - 0x164], esi
je 0x416eb3
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0040c36b
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x26c], 0x3c
mov dword [ebp - 0x268], 0x140
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x260], esi
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x90], esi
je 0x416dc0
push 0x427fbc
lea ecx, [ebp - 0x128]
call fcn.0040adf4
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x128]
call fcn.0040a900
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040c36b
mov eax, dword [ebp - 0xa8]
neg eax
sbb eax, eax
and eax, dword [ebp - 0xac]
and dword [ebp - 0x254], 0
and dword [ebp - 0x234], 0
mov dword [ebp - 0x258], eax
xor esi, esi
lea eax, [ebp - 0x26c]
inc esi
push eax
mov dword [ebp - 0x250], esi
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [ebp - 0x24c], 0x20
jg 0x416e89
cmp byte [ebp - 0x79], 0
jne 0x416e26
push 0xf4247
call fcn.004120cc
push dword [ebp - 0xac]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x210]
call fcn.0041beb5
push dword [ebp - 0x1d0]
call fcn.0041beb5
push dword [ebp - 0x1f4]
call fcn.0041beb5
push dword [ebp - 0x1b8]
call fcn.0041beb5
add esp, 0x10
lea ecx, [ebp - 0x138]
call fcn.00413bc2
jmp 0x415b45
push dword [ebp - 0x234]
call fcn.00414a88
push dword [ebp - 0xac]
mov esi, eax
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
jmp 0x417042
cmp dword [ebp - 0x10c], esi
je 0x41703c
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x88]
call fcn.00404128
lea eax, [ebp - 0x88]
push eax
call fcn.0040c056
push str.__T_
lea ecx, [ebp - 0xac]
call fcn.00409a48
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x110]
call fcn.0040e55e
push dword [ebp - 0xac]
call fcn.0041beb5
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
pop ecx
push 0x427d68
lea ecx, [ebp - 0x88]
call fcn.00409a48
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x110]
call fcn.0040e55e
push dword [ebp - 0x88]
call fcn.0041beb5
pop ecx
cmp dword [ebp - 0x90], esi
je 0x416f7a
push 0x20
lea ecx, [ebp - 0x110]
call fcn.00404035
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x110]
call fcn.0040a900
xor eax, eax
mov word [ebp - 0x27e], ax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x1e8]
push eax
mov dword [ebp - 0x2b0], 0x44
mov dword [ebp - 0x2ac], esi
mov dword [ebp - 0x2a8], esi
mov dword [ebp - 0x2a4], esi
mov dword [ebp - 0x284], esi
mov dword [ebp - 0x27c], esi
call fcn.0040a92d
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040c36b
push dword [ebp - 0x1e8]
call fcn.0041beb5
pop ecx
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x2b0]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push dword [ebp - 0x74]
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x417016
cmp byte [ebp - 0x79], al
jne 0x417008
push esi
call fcn.0040d107
push dword [ebp - 0x74]
call fcn.0041beb5
pop ecx
jmp 0x416d0b
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xec]
call fcn.00414a88
push dword [ebp - 0x74]
mov esi, eax
call fcn.0041beb5
jmp 0x416ead
mov esi, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xa0]
sub eax, 0
je 0x417060
dec eax
dec eax
jne 0x416e3e
mov esi, dword [ebp - 0x178]
jmp 0x416e3e
xor esi, esi
jmp 0x416e3e
push dword [ebp - 0x1b8]
call fcn.0041beb5
pop ecx
lea ecx, [ebp - 0x138]
call fcn.00413bc2
push dword [ebp - 0xc8]
call fcn.0041beb5
push dword [ebp - 0xb8]
call fcn.0041beb5
push dword [ebp - 0x11c]
call fcn.0041beb5
push dword [ebp - 0x110]
call fcn.0041beb5
push dword [ebp - 0x190]
call fcn.0041beb5
push dword [ebp - 0x174]
call fcn.0041beb5
push dword [ebp - 0x104]
call fcn.0041beb5
push dword [ebp - 0x144]
call fcn.0041beb5
push dword [ebp - 0x15c]
call fcn.0041beb5
push dword [ebp - 0x150]
call fcn.0041beb5
push dword [ebp - 0x128]
call fcn.0041beb5
push dword [ebp - 0x168]
call fcn.0041beb5
push dword [ebp - 0x94]
call fcn.0041beb5
push dword [ebp - 0x184]
call fcn.0041beb5
add esp, 0x38
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004192b3
add ebp, 0x68
leave
ret 0x10