Function at 0x414c0e
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, 0x330
mov eax, dword [0x4320cc]
xor eax, ebp
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x70]
push ebx
push esi
xor ecx, ecx
mov dword [0x433458], eax
push edi
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x30], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x414c5e
xor al, al
jmp 0x414c65
cmp dword [ebp - 0x20], 2
sete al
mov byte [0x43345c], al
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
lea ecx, [ebp - 0x198]
call fcn.0040401d
lea ecx, [ebp - 0x94]
call fcn.0040401d
lea ecx, [ebp - 0x158]
call fcn.0040401d
lea ecx, [ebp - 0x134]
call fcn.0040401d
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00409d13
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
call fcn.0040e685
lea ecx, [ebp - 0x164]
mov word [0x433450], ax
call fcn.0040401d
lea eax, [ebp - 0x164]
push eax
push dword [0x433458]
call fcn.0040aac5
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push 0x428fec
lea ecx, [ebp - 0x78]
mov byte [ebp - 0x6a], 0
call fcn.00409a48
mov esi, eax
push 2
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
pop ecx
test bl, bl
je 0x414da0
push 2
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 0x6a], 1
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
mov edi, 0x4287b4
push edi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 0x9d], 0
mov byte [ebp - 0x9e], 0
call fcn.00409a48
push edi
lea ecx, [ebp - 0x170]
call fcn.00409a48
push 0x428fe4
lea ecx, [ebp - 0x78]
call fcn.00409a48
mov esi, eax
push 2
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
pop ecx
test bl, bl
je 0x415076
push 2
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push edi
lea ecx, [ebp - 0x1b0]
call fcn.00409a48
mov ebx, dword [ebp - 0x68]
xor esi, esi
push 0x428fe0
lea ecx, [ebp - 0x78]
call fcn.00409a48
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x84]
or ebx, 3
call fcn.0040adc1
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x414eaf
cmp esi, dword [ebp - 0x90]
mov byte [ebp - 0x69], 1
jl 0x414eb3
mov byte [ebp - 0x69], 0
test bl, 2
je 0x414ec7
push dword [ebp - 0x84]
and ebx, 0xfffffffd
call fcn.0041c3e5
pop ecx
test bl, 1
je 0x414ed8
push dword [ebp - 0x78]
and ebx, 0xfffffffe
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x69], 0
je 0x414efa
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00404035
inc esi
jmp 0x414e6f
mov edi, dword [ebp - 0x1b0]
xor esi, esi
push 0x428fdc
lea ecx, [ebp - 0x78]
call fcn.00409a48
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x84]
or ebx, 0xc
call fcn.0040adc1
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x414f3c
cmp esi, dword [ebp - 0x1ac]
mov byte [ebp - 0x69], 1
jl 0x414f40
mov byte [ebp - 0x69], 0
test bl, 8
je 0x414f54
push dword [ebp - 0x84]
and ebx, 0xfffffff7
call fcn.0041c3e5
pop ecx
test bl, 4
je 0x414f65
push dword [ebp - 0x78]
and ebx, 0xfffffffb
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x69], 0
je 0x414f7e
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x170]
call fcn.00404035
inc esi
jmp 0x414f02
inc esi
inc esi
push 0x428fd8
lea ecx, [ebp - 0x78]
call fcn.00409a48
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x84]
or ebx, 0x30
call fcn.0040adc1
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x414fba
cmp esi, dword [ebp - 0x1ac]
mov byte [ebp - 0x69], 1
jl 0x414fbe
mov byte [ebp - 0x69], 0
test bl, 0x20
je 0x414fd2
push dword [ebp - 0x84]
and ebx, 0xffffffdf
call fcn.0041c3e5
pop ecx
test bl, 0x10
je 0x414fe3
push dword [ebp - 0x78]
and ebx, 0xffffffef
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x69], 0
je 0x414ffc
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x14c]
call fcn.00404035
inc esi
jmp 0x414f80
push str.oslist
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x68], ebx
call fcn.00409a48
push dword [ebp - 0x78]
push dword [ebp - 0x170]
call fcn.0040a03a
push dword [ebp - 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x415038
mov byte [ebp - 0x9d], 1
jmp 0x41506f
push str.osblock
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
push dword [ebp - 0x170]
call fcn.0040a03a
push dword [ebp - 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x41506f
mov byte [ebp - 0x9e], 1
push edi
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x6b], 0
call fcn.0040401d
push 0x428fb0
lea ecx, [ebp - 0x78]
call fcn.00409a48
push 2
pop edi
mov esi, eax
push edi
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
pop ecx
mov esi, 0x428fa8
test bl, bl
je 0x4151bd
push edi
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
push esi
lea ecx, [ebp - 0x78]
call fcn.00409a48
push 0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409932
push dword [ebp - 0x78]
mov ebx, eax
call fcn.0041c3e5
pop ecx
test ebx, ebx
jle 0x4151bd
push ebx
push 0
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409ab5
push eax
lea ecx, [ebp - 0x100]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x100]
call fcn.00409dd1
lea ecx, [ebp - 0x100]
call fcn.00409dab
push ebx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x100]
call fcn.00409dd1
lea ecx, [ebp - 0x100]
call fcn.00409dab
mov byte [ebp - 0x6b], 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 0x9f], 0
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push esi
lea ecx, [ebp - 0x78]
call fcn.00409a48
mov esi, eax
push edi
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [esi]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
pop ecx
test bl, bl
je 0x41543a
push edi
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409c6a
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00409dd1
lea ecx, [ebp - 0x94]
call fcn.00409dab
push 0x428fa4
lea ecx, [ebp - 0x78]
mov byte [ebp - 0x9f], 1
call fcn.00409a48
push 1
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x94]
call fcn.00409b49
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
pop ecx
test bl, bl
je 0x4152c6
and dword [ebp - 0x9c], 0
jmp 0x41543a
lea ecx, [ebp - 0x218]
call fcn.0040401d
xor esi, esi
mov byte [ebp - 0x69], 0
push 0x428fe0
lea ecx, [ebp - 0x78]
call fcn.00409a48
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
or dword [ebp - 0x68], 0xc0
push eax
lea ecx, [ebp - 0x84]
call fcn.0040adc1
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a009
test eax, eax
je 0x41531b
cmp esi, dword [ebp - 0x90]
jge 0x41531b
mov bl, 1
jmp 0x41531d
xor bl, bl
test byte [ebp - 0x68], 0x80
je 0x415336
push dword [ebp - 0x84]
and dword [ebp - 0x68], 0xffffff7f
call fcn.0041c3e5
pop ecx
test byte [ebp - 0x68], 0x40
je 0x415349
push dword [ebp - 0x78]
and dword [ebp - 0x68], 0xffffffbf
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x415382
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x218]
call fcn.00404035
mov eax, dword [ebp - 0x94]
movzx eax, word [eax + esi*2]
push eax
call fcn.0041c9c1
pop ecx
test eax, eax
je 0x41537c
mov byte [ebp - 0x69], 1
inc esi
jmp 0x4152d7
cmp dword [ebp - 0x214], 0
mov esi, dword [ebp - 0x218]
jne 0x4153a6
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x180], 1
jmp 0x415433
push str.default
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
push esi
call fcn.0040a03a
push dword [ebp - 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x4153da
and dword [ebp - 0x9c], 0
jmp 0x415433
push str.launch
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
push esi
call fcn.0040a03a
push dword [ebp - 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x415411
mov dword [ebp - 0x9c], 1
jmp 0x415433
cmp byte [ebp - 0x69], 0
je 0x415420
and dword [ebp - 0x9c], 0
jmp 0x415426
mov dword [ebp - 0x9c], edi
push esi
call fcn.0041c8d9
pop ecx
mov dword [ebp - 0x180], eax
push esi
call fcn.0041c3e5
pop ecx
push 0x428fe0
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040d303
push eax
lea ecx, [ebp - 0x100]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040a92d
push eax
lea ecx, [ebp - 0x94]
call fcn.00409a7e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x17c]
call fcn.0040a1ee
mov ecx, dword [ebp - 0x164]
lea eax, [ebp - 0x17c]
push eax
push str.___InstallEnd__
mov edx, str.___Install__UTF_8_
call fcn.00413f5b
test al, al
jne 0x415541
cmp byte [ebp - 0x6a], al
jne 0x4154d6
push 0xf4241
call fcn.004120cc
push dword [ebp - 0x17c]
call fcn.0041c3e5
push dword [ebp - 0x100]
call fcn.0041c3e5
push dword [ebp - 0x170]
call fcn.0041c3e5
push dword [ebp - 0x14c]
call fcn.0041c3e5
push dword [ebp - 0x164]
call fcn.0041c3e5
push dword [ebp - 0x134]
call fcn.0041c3e5
push dword [ebp - 0x158]
call fcn.0041c3e5
push dword [ebp - 0x94]
call fcn.0041c3e5
push dword [ebp - 0x198]
call fcn.0041c3e5
add esp, 0x24
jmp 0x41732b
push 0x428f7c
lea ecx, [ebp - 0x1a4]
call fcn.00409a48
lea ecx, [ebp - 0x118]
call fcn.0040401d
lea ecx, [ebp - 0x140]
mov byte [ebp - 0x20c], 1
call fcn.0040401d
lea ecx, [ebp - 0xc4]
mov byte [ebp - 0x96], 1
mov byte [ebp - 0x85], 0
call fcn.0040401d
lea ecx, [ebp - 0xe0]
call fcn.0040401d
lea ecx, [ebp - 0x18c]
call fcn.0040401d
xor esi, esi
mov edi, 0x4289fc
cmp dword [ebp - 0x178], esi
je 0x4160e4
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x17c]
push eax
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], 4
mov dword [ebp - 0xf4], vtable.CObjectVector_struct_CTextConfigPair_.0
call fcn.0040a50e
test al, al
jne 0x41560c
cmp byte [ebp - 0x6a], al
jne 0x4155fc
push 0xf4242
call fcn.004120cc
lea ecx, [ebp - 0xf4]
call fcn.00413c9d
jmp 0x417283
push edi
lea ecx, [ebp - 0xb8]
call fcn.00409a48
push str.DeleteTempFiles
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040a4d1
push dword [ebp - 0xb8]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
push dword [ebp - 0xb8]
call fcn.0041c3e5
add esp, 0xc
test bl, bl
je 0x41567d
mov byte [ebp - 0x96], 0
push 0x428f54
lea ecx, [ebp - 0xb8]
call fcn.00409a48
push str.BrowseForFolder
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040a4d1
push dword [ebp - 0xb8]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
push dword [ebp - 0xb8]
call fcn.0041c3e5
add esp, 0xc
test bl, bl
je 0x4156f2
mov byte [ebp - 0x85], 1
push str.OSBit
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0040a4d1
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
cmp dword [ebp - 0x10c], esi
je 0x4158a2
lea ecx, [ebp - 0x10c]
call fcn.00409dd1
lea ecx, [ebp - 0x10c]
call fcn.00409dab
call fcn.00417492
push 0x428f20
lea ecx, [ebp - 0xb8]
mov edi, eax
call fcn.00409a48
push dword [ebp - 0xb8]
mov esi, 0x100
push dword [ebp - 0x10c]
or dword [ebp - 0x68], esi
call fcn.0040a03a
mov ebx, 0x200
test eax, eax
je 0x4157a0
push 0x428f18
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
or dword [ebp - 0x68], ebx
push dword [ebp - 0x10c]
call fcn.0040a03a
mov byte [ebp - 0x69], 0
test eax, eax
jne 0x4157a4
mov byte [ebp - 0x69], 1
test dword [ebp - 0x68], ebx
je 0x4157b9
push dword [ebp - 0x78]
and dword [ebp - 0x68], 0xfffffdff
call fcn.0041c3e5
pop ecx
test dword [ebp - 0x68], esi
je 0x4157d1
push dword [ebp - 0xb8]
and dword [ebp - 0x68], 0xfffffeff
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x69], 0
je 0x41580c
test edi, edi
je 0x4158a2
sub esp, 0xc
lea eax, [ebp - 0x10c]
mov ecx, esp
mov dword [ebp - 0x1cc], esp
push eax
call fcn.00404128
call fcn.004187b1
push dword [ebp - 0x10c]
call fcn.0041c3e5
pop ecx
jmp 0x4155fc
push 0x428f10
lea ecx, [ebp - 0xb8]
call fcn.00409a48
push dword [ebp - 0xb8]
or dword [ebp - 0x68], 0x400
push dword [ebp - 0x10c]
call fcn.0040a03a
mov esi, 0x800
test eax, eax
je 0x415863
push 0x428f08
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
or dword [ebp - 0x68], esi
push dword [ebp - 0x10c]
call fcn.0040a03a
test eax, eax
je 0x415863
xor bl, bl
jmp 0x415865
mov bl, 1
test dword [ebp - 0x68], esi
je 0x41587a
push dword [ebp - 0x78]
and dword [ebp - 0x68], 0xfffff7ff
call fcn.0041c3e5
pop ecx
test dword [ebp - 0x68], 0x400
je 0x415896
push dword [ebp - 0xb8]
and dword [ebp - 0x68], 0xfffffbff
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x4158a2
test edi, edi
je 0x4157df
push str.OSList
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.0040a4d1
push dword [ebp - 0x78]
call fcn.0041c3e5
lea ecx, [ebp - 0x78]
mov dword [esp], str.OSBlock
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.0040a4d1
push dword [ebp - 0x78]
call fcn.0041c3e5
cmp byte [ebp - 0x9d], 0
pop ecx
je 0x415928
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00409a7e
push 0x4287b4
lea ecx, [ebp - 0x1d8]
call fcn.0040a8c9
cmp byte [ebp - 0x9e], 0
je 0x415953
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.00409a7e
push 0x4287b4
lea ecx, [ebp - 0x1c8]
call fcn.0040a8c9
xor edi, edi
cmp dword [ebp - 0x1d4], edi
je 0x4159b0
cmp dword [ebp - 0x1c4], edi
je 0x415998
push 0xf4243
call fcn.004120cc
push dword [ebp - 0x1d8]
call fcn.0041c3e5
push dword [ebp - 0x1c8]
call fcn.0041c3e5
push dword [ebp - 0x10c]
call fcn.0041c3e5
add esp, 0xc
jmp 0x4155fc
push edi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00417d50
test eax, eax
je 0x4159c2
call fcn.0041900d
jmp 0x41596f
cmp dword [ebp - 0x1c4], edi
je 0x4159c2
push 1
lea eax, [ebp - 0x1c8]
jmp 0x41599f
push str.OSLangBlock
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.0040a4d1
push dword [ebp - 0x78]
call fcn.0041c3e5
lea ecx, [ebp - 0xb8]
mov dword [esp], str.OSLangList
call fcn.00409a48
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0040a4d1
push dword [ebp - 0xb8]
call fcn.0041c3e5
lea ecx, [ebp - 0xd4]
mov dword [esp], str.HPSEA_ReturnVal
call fcn.00409a48
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x1f0]
push eax
call fcn.0040a4d1
push dword [ebp - 0xd4]
call fcn.0041c3e5
cmp byte [ebp - 0x9f], 0
pop ecx
jne 0x415b33
push str.default
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
push dword [ebp - 0x1f0]
call fcn.0040a03a
push dword [ebp - 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x415aa5
mov dword [ebp - 0x9c], edi
jmp 0x415b33
push str.launch
lea ecx, [ebp - 0x78]
call fcn.00409a48
push dword [ebp - 0x78]
push dword [ebp - 0x1f0]
call fcn.0040a03a
push dword [ebp - 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x415ae1
mov dword [ebp - 0x9c], 1
jmp 0x415b33
xor bl, bl
xor esi, esi
cmp dword [ebp - 0x1ec], edi
jle 0x415b17
mov eax, dword [ebp - 0x1f0]
movzx eax, word [eax + esi*2]
push eax
call fcn.0041c9c1
pop ecx
test eax, eax
je 0x415b04
mov bl, 1
inc esi
cmp esi, dword [ebp - 0x1ec]
jl 0x415aed
mov dword [ebp - 0x9c], edi
test bl, bl
jne 0x415b21
mov dword [ebp - 0x9c], 2
push dword [ebp - 0x1f0]
call fcn.0041c8d9
pop ecx
mov dword [ebp - 0x180], eax
push dword [ebp - 0x1b0]
call fcn.0040a13e
push dword [ebp - 0x208]
call fcn.0040a13e
cmp dword [ebp - 0x1ac], edi
je 0x415bc9
cmp dword [ebp - 0x204], edi
je 0x415bad
push 0xf4244
call fcn.004120cc
push dword [ebp - 0x1f0]
call fcn.0041c3e5
push dword [ebp - 0x208]
call fcn.0041c3e5
push dword [ebp - 0x1b0]
call fcn.0041c3e5
push dword [ebp - 0x1d8]
call fcn.0041c3e5
push dword [ebp - 0x1c8]
call fcn.0041c3e5
push dword [ebp - 0x10c]
call fcn.0041c3e5
add esp, 0x18
jmp 0x4155fc
push edi
lea eax, [ebp - 0x1b0]
push eax
call fcn.00417f5d
test eax, eax
je 0x415cf1
call fcn.004183d1
jmp 0x415b63
cmp dword [ebp - 0x204], edi
je 0x415cf1
xor esi, esi
inc esi
push esi
lea eax, [ebp - 0x208]
push eax
call fcn.00417f5d
test eax, eax
je 0x415cf1
call fcn.004183d1
push dword [ebp - 0x1f0]
call fcn.0041c3e5
push dword [ebp - 0x208]
call fcn.0041c3e5
push dword [ebp - 0x1b0]
call fcn.0041c3e5
push dword [ebp - 0x1d8]
call fcn.0041c3e5
push dword [ebp - 0x1c8]
call fcn.0041c3e5
push dword [ebp - 0x10c]
call fcn.0041c3e5
add esp, 0x18
lea ecx, [ebp - 0xf4]
call fcn.00413c9d
push dword [ebp - 0x18c]
call fcn.0041c3e5
push dword [ebp - 0xe0]
call fcn.0041c3e5
push dword [ebp - 0xc4]
call fcn.0041c3e5
push dword [ebp - 0x140]
call fcn.0041c3e5
push dword [ebp - 0x118]
call fcn.0041c3e5
push dword [ebp - 0x1a4]
call fcn.0041c3e5
push dword [ebp - 0x17c]
call fcn.0041c3e5
push dword [ebp - 0x100]
call fcn.0041c3e5
push dword [ebp - 0x170]
call fcn.0041c3e5
push dword [ebp - 0x14c]
call fcn.0041c3e5
push dword [ebp - 0x164]
call fcn.0041c3e5
push dword [ebp - 0x134]
call fcn.0041c3e5
push dword [ebp - 0x158]
call fcn.0041c3e5
push dword [ebp - 0x94]
call fcn.0041c3e5
push dword [ebp - 0x198]
call fcn.0041c3e5
add esp, 0x3c
mov eax, esi
jmp 0x41732e
push str.ExtractFolder
lea ecx, [ebp - 0x78]
call fcn.00409a48
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xc8], esp
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [ebp - 0xf4]
push ecx
push eax
call fcn.0040a4d1
lea eax, [ebp - 0xac]
push eax
call fcn.00414124
push eax
lea ecx, [ebp - 0xc4]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
pop ecx
push str.SubFolder
lea ecx, [ebp - 0xb8]
call fcn.00409a48
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xc8], esp
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0xf4]
push ecx
push eax
call fcn.0040a4d1
lea eax, [ebp - 0xac]
push eax
call fcn.00414124
push eax
lea ecx, [ebp - 0xe0]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0xb8]
call fcn.0041c3e5
pop ecx
pop ecx
push str.ReturnAbort
lea ecx, [ebp - 0xd4]
call fcn.00409a48
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x18c]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0xd4]
call fcn.0041c3e5
pop ecx
pop ecx
push str.Title
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x140]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
pop ecx
cmp dword [ebp - 0x13c], edi
jne 0x415e5a
push 0x428e2c
lea ecx, [ebp - 0x140]
call fcn.0040a8c9
push str.BeginPrompt
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040a4d1
push dword [ebp - 0x84]
call fcn.0041c3e5
lea ecx, [ebp - 0x78]
mov dword [esp], 0x428e00
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.0040a4d1
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
mov edi, 0x4289fc
push edi
lea ecx, [ebp - 0x84]
call fcn.00409a48
push dword [ebp - 0x84]
push dword [ebp - 0x238]
call fcn.0040a03a
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x415eff
mov byte [ebp - 0x20c], 0
push str.Directory
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0040a49b
push dword [ebp - 0x84]
mov esi, eax
call fcn.0041c3e5
pop ecx
test esi, esi
jl 0x415f4c
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + esi*4]
add eax, 0xc
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00409a7e
cmp dword [ebp - 0x214], 0
je 0x415f95
cmp byte [ebp - 0x6a], 0
jne 0x415f95
push 0x24
push dword [ebp - 0x140]
push dword [ebp - 0x218]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x415f95
push dword [ebp - 0x238]
call fcn.0041c3e5
push dword [ebp - 0x218]
call fcn.0041c3e5
pop ecx
pop ecx
xor esi, esi
jmp 0x415bf2
push str.RunProgram
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x118]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
pop ecx
push str.ExecuteFile
lea ecx, [ebp - 0x78]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x158]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
cmp byte [ebp - 0x6b], 0
pop ecx
pop ecx
jne 0x41607c
push str.ExecuteParameters
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040a4d1
push eax
lea ecx, [ebp - 0x134]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
pop ecx
push dword [ebp - 0x238]
call fcn.0041c3e5
push dword [ebp - 0x218]
call fcn.0041c3e5
push dword [ebp - 0x1f0]
call fcn.0041c3e5
push dword [ebp - 0x208]
call fcn.0041c3e5
push dword [ebp - 0x1b0]
call fcn.0041c3e5
push dword [ebp - 0x1d8]
call fcn.0041c3e5
push dword [ebp - 0x1c8]
call fcn.0041c3e5
push dword [ebp - 0x10c]
call fcn.0041c3e5
add esp, 0x20
lea ecx, [ebp - 0xf4]
call fcn.00413c9d
xor esi, esi
lea ecx, [ebp - 0x124]
mov byte [ebp - 0x128], 0
call fcn.0040401d
lea ecx, [ebp - 0x1bc]
call fcn.0040401d
lea eax, [ebp - 0x1bc]
push eax
call fcn.0040b422
sub esp, 0xc
lea eax, [ebp - 0x1bc]
mov ecx, esp
mov dword [ebp - 0xc8], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x128]
call fcn.00413dc1
cmp dword [ebp - 0xc0], esi
je 0x416420
push 0x4287b8
lea ecx, [ebp - 0x84]
call fcn.00409a48
push 1
push 1
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00409ab5
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040a03a
push dword [ebp - 0xac]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.0041c3e5
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
pop ecx
test bl, bl
je 0x41619e
lea eax, [ebp - 0xc4]
push eax
call fcn.0040b344
push 0x428d90
lea ecx, [ebp - 0x78]
call fcn.00409a48
mov esi, dword [ebp - 0x68]
push 2
push 1
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xc4]
or esi, 0x3000
call fcn.00409ab5
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a03a
mov edi, 0x4000
mov ebx, 0x8000
test eax, eax
je 0x416221
push 0x428d88
lea ecx, [ebp - 0x84]
call fcn.00409a48
push 2
push 1
lea eax, [ebp - 0xac]
or esi, edi
push eax
lea ecx, [ebp - 0xc4]
or esi, ebx
call fcn.00409ab5
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040a03a
mov byte [ebp - 0x6b], 0
test eax, eax
jne 0x416225
mov byte [ebp - 0x6b], 1
test ebx, esi
je 0x41623b
push dword [ebp - 0xac]
and esi, 0xffff7fff
call fcn.0041c3e5
pop ecx
test edi, esi
je 0x416251
push dword [ebp - 0x84]
and esi, 0xffffbfff
call fcn.0041c3e5
pop ecx
test esi, 0x2000
je 0x41626b
push dword [ebp - 0xb8]
and esi, 0xffffdfff
call fcn.0041c3e5
pop ecx
test esi, 0x1000
je 0x416282
push dword [ebp - 0x78]
and esi, 0xffffefff
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x6b], 0
je 0x41645a
push 0x42882c
lea ecx, [ebp - 0x78]
call fcn.00409a48
push 1
lea eax, [ebp - 0xb8]
or esi, 0x30000
push eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x68], esi
call fcn.0040d8ed
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a03a
mov edi, 0x40000
mov ebx, 0x80000
test eax, eax
je 0x41630e
push 0x428818
lea ecx, [ebp - 0x84]
call fcn.00409a48
or esi, edi
push 1
lea eax, [ebp - 0xac]
or esi, ebx
push eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x68], esi
call fcn.0040d8ed
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040a03a
mov byte [ebp - 0x6b], 0
test eax, eax
jne 0x416312
mov byte [ebp - 0x6b], 1
test ebx, esi
je 0x41632b
push dword [ebp - 0xac]
and esi, 0xfff7ffff
mov dword [ebp - 0x68], esi
call fcn.0041c3e5
pop ecx
test edi, esi
je 0x416344
push dword [ebp - 0x84]
and esi, 0xfffbffff
mov dword [ebp - 0x68], esi
call fcn.0041c3e5
pop ecx
test esi, 0x20000
je 0x416361
push dword [ebp - 0xb8]
and esi, 0xfffdffff
mov dword [ebp - 0x68], esi
call fcn.0041c3e5
pop ecx
test esi, 0x10000
je 0x41637b
push dword [ebp - 0x78]
and esi, 0xfffeffff
mov dword [ebp - 0x68], esi
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x6b], 0
je 0x4163b5
mov eax, dword [ebp - 0xc0]
dec eax
push eax
push 0
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00409ab5
push eax
lea ecx, [ebp - 0xc4]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
pop ecx
push 0x42882c
lea ecx, [ebp - 0x78]
call fcn.00409a48
push 0x428818
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040e55e
push dword [ebp - 0x84]
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
push ecx
lea eax, [ebp - 0xc4]
mov ecx, esp
mov dword [ebp - 0xc8], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x128]
call fcn.00413dc1
mov edi, 0x4289fc
cmp dword [ebp - 0xdc], 0
mov esi, 0x100000
je 0x416479
push 0x428f54
lea ecx, [ebp - 0x84]
call fcn.00409a48
push dword [ebp - 0x84]
or dword [ebp - 0x68], esi
push dword [ebp - 0xe0]
call fcn.0040a03a
test eax, eax
je 0x416479
xor bl, bl
jmp 0x41647b
push dword [ebp - 0x1bc]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x128]
call fcn.00413c3a
xor esi, esi
inc esi
jmp 0x415c42
mov bl, 1
test dword [ebp - 0x68], esi
je 0x416493
push dword [ebp - 0x84]
and dword [ebp - 0x68], 0xffefffff
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x4164c0
push dword [0x431f70]
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x128]
call fcn.0040b586
push dword [ebp - 0xac]
call fcn.0041c3e5
pop ecx
jmp 0x4165c4
cmp dword [ebp - 0xdc], 0
mov esi, 0x200000
je 0x4164f6
push edi
lea ecx, [ebp - 0x84]
call fcn.00409a48
push dword [ebp - 0x84]
or dword [ebp - 0x68], esi
push dword [ebp - 0xe0]
call fcn.0040a03a
test eax, eax
je 0x4164f6
mov bl, 1
jmp 0x4164f8
xor bl, bl
test dword [ebp - 0x68], esi
je 0x416510
push dword [ebp - 0x84]
and dword [ebp - 0x68], 0xffdfffff
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x41656c
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00409a7e
push 0x42882c
lea ecx, [ebp - 0xc4]
call fcn.0040adf4
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040a900
sub esp, 0xc
lea eax, [ebp - 0xc4]
mov ecx, esp
mov dword [ebp - 0xc8], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x128]
call fcn.00413dc1
jmp 0x4165c4
cmp dword [ebp - 0xdc], 0
mov esi, 0x400000
je 0x4165a2
push edi
lea ecx, [ebp - 0x84]
call fcn.00409a48
push dword [ebp - 0x84]
or dword [ebp - 0x68], esi
push dword [ebp - 0xe0]
call fcn.0040a03a
test eax, eax
jne 0x4165a2
mov bl, 1
jmp 0x4165a4
xor bl, bl
test dword [ebp - 0x68], esi
je 0x4165bc
push dword [ebp - 0x84]
and dword [ebp - 0x68], 0xffbfffff
call fcn.0041c3e5
pop ecx
test bl, bl
je 0x41726c
cmp byte [ebp - 0x85], 0
je 0x4167e9
xor esi, esi
push esi
sub esp, 0xc
lea eax, [ebp - 0xe0]
mov ecx, esp
mov dword [ebp - 0xc8], esp
push eax
call fcn.00404128
sub esp, 0xc
lea eax, [ebp - 0x124]
mov ecx, esp
mov dword [ebp - 0xc8], esp
push eax
call fcn.00404128
lea eax, [ebp - 0x140]
push eax
mov ecx, 0x433460
call fcn.00413e6c
push eax
lea ecx, [ebp - 0xd4]
call fcn.00409a48
cmp dword [ebp - 0xd0], esi
jne 0x41664f
push dword [ebp - 0xd4]
call fcn.0041c3e5
push dword [ebp - 0x1bc]
call fcn.0041c3e5
pop ecx
pop ecx
lea ecx, [ebp - 0x128]
call fcn.00413c3a
jmp 0x415c42
push 0x42882c
lea ecx, [ebp - 0x78]
call fcn.00409a48
or dword [ebp - 0x68], 0x800000
push 1
lea eax, [ebp - 0xb8]
mov edi, 0x1000000
or dword [ebp - 0x68], edi
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040d8ed
push dword [ebp - 0x78]
push dword [eax]
call fcn.0040a03a
mov ebx, 0x2000000
mov esi, 0x4000000
test eax, eax
je 0x4166d9
push 0x428818
lea ecx, [ebp - 0x84]
call fcn.00409a48
or dword [ebp - 0x68], ebx
or dword [ebp - 0x68], esi
push 1
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040d8ed
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040a03a
mov byte [ebp - 0x85], 0
test eax, eax
jne 0x4166e0
mov byte [ebp - 0x85], 1
test dword [ebp - 0x68], esi
je 0x4166f8
push dword [ebp - 0xac]
and dword [ebp - 0x68], 0xfbffffff
call fcn.0041c3e5
pop ecx
test dword [ebp - 0x68], ebx
je 0x416710
push dword [ebp - 0x84]
and dword [ebp - 0x68], 0xfdffffff
call fcn.0041c3e5
pop ecx
test dword [ebp - 0x68], edi
je 0x416728
push dword [ebp - 0xb8]
and dword [ebp - 0x68], 0xfeffffff
call fcn.0041c3e5
pop ecx
test dword [ebp - 0x68], 0x800000
je 0x41673a
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
cmp byte [ebp - 0x85], 0
je 0x416777
mov eax, dword [ebp - 0xd0]
dec eax
push eax
push 0
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xd4]
call fcn.00409ab5
push eax
lea ecx, [ebp - 0xd4]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
pop ecx
push 0x42882c
lea ecx, [ebp - 0x78]
call fcn.00409a48
push 0x428818
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040e55e
push dword [ebp - 0x84]
call fcn.0041c3e5
push dword [ebp - 0x78]
call fcn.0041c3e5
push ecx
lea eax, [ebp - 0xd4]
mov ecx, esp
mov dword [ebp - 0xc8], esp
push eax
call fcn.00404128
lea ecx, [ebp - 0x128]
call fcn.00413dc1
push dword [ebp - 0xd4]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x128]
call fcn.0040b93f
test al, al
jne 0x416810
cmp byte [ebp - 0x6a], al
jne 0x41645a
push 0xf4246
call fcn.004120cc
jmp 0x41645a
cmp byte [ebp - 0x96], 0
jne 0x416820
mov byte [ebp - 0x128], 0
lea eax, [ebp - 0x124]
xor esi, esi
push eax
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x22c], 0x428cec
mov dword [ebp - 0x228], esi
call fcn.00404128
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 0x95], 0
call fcn.0040401d
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x95]
push eax
push dword [ebp - 0x20c]
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.004116fc
cmp eax, esi
je 0x416f00
cmp byte [ebp - 0x6a], 0
jne 0x416e89
mov ebx, 0xc4
mov edi, 0x43f
cmp eax, 1
je 0x4168b2
cmp byte [ebp - 0x95], 0
je 0x416ba6
mov si, word [0x433450]
cmp si, word [0x431de0]
je 0x416b76
and dword [ebp - 0x64], 0
push ebx
lea eax, [ebp - 0x60]
push 0
push eax
call fcn.0041b700
movzx eax, si
add esp, 0xc
cmp eax, edi
jg 0x416a0d
je 0x416a03
sub eax, 0x401
cmp eax, 0x29
ja case.0x4168f8.1033
jmp dword [eax*4 + 0x417342]
mov eax, 0x283f
jmp 0x416b56
mov eax, 0x2871
jmp 0x416b56
mov eax, 0x28a3
jmp 0x416b56
mov eax, 0x2925
jmp 0x416b56
mov eax, 0x2835
jmp 0x416b56
mov eax, 0x2853
jmp 0x416b56
mov eax, 0x288f
jmp 0x416b56
mov eax, 0x28d5
jmp 0x416b56
mov eax, 0x28fd
jmp 0x416b56
mov eax, 0x2939
jmp 0x416b56
mov eax, 0x28b7
jmp 0x416b56
mov eax, 0x28ad
jmp 0x416b56
mov eax, 0x280d
jmp 0x416b56
mov eax, 0x2885
jmp 0x416b56
mov eax, 0x2817
jmp 0x416b56
mov eax, 0x2821
jmp 0x416b56
mov eax, 0x2975
jmp 0x416b56
mov eax, 0x294d
jmp 0x416b56
mov eax, 0x297f
jmp 0x416b56
mov eax, 0x2989
jmp 0x416b56
mov eax, 0x28f3
jmp 0x416b56
mov eax, 0x2911
jmp 0x416b56
mov eax, 0x296b
jmp 0x416b56
mov eax, 0x292f
jmp 0x416b56
mov eax, 0x2957
jmp 0x416b56
mov eax, 0x29a7
jmp 0x416b56
mov eax, 0x2a79
jmp 0x416b56
mov ecx, 0x100c
cmp eax, ecx
jg 0x416ad6
je case.0x4168f8.1036
mov ecx, 0x81a
cmp eax, ecx
jg 0x416a88
je 0x416b0e
add ecx, 0xfffffff2
cmp eax, ecx
jg 0x416a5c
je case.0x4168f8.1036
sub eax, 0x804
je 0x416a52
sub eax, 3
je case.0x4168f8.1031
dec eax
dec eax
je case.0x4168f8.1033
dec eax
jmp 0x416b4b
mov eax, 0x502b
jmp 0x416b56
sub eax, 0x813
je case.0x4168f8.1043
dec eax
je case.0x4168f8.1044
dec eax
dec eax
jne case.0x4168f8.1033
mov eax, 0x28df
jmp 0x416b56
mov eax, 0x28cb
jmp 0x416b56
mov eax, 0x28c1
jmp 0x416b56
sub eax, 0xc04
je case.0x4168f8.1028
sub eax, 3
je case.0x4168f8.1031
dec eax
dec eax
je case.0x4168f8.1033
dec eax
je case.0x4168f8.1034
sub eax, 0x10
je 0x416b0e
sub eax, 0x3ea
je case.0x4168f8.1028
sub eax, 5
mov eax, 0x285d
jmp 0x416b56
mov eax, 0x2849
jmp 0x416b56
mov eax, 0x282b
jmp 0x416b56
mov eax, 0x287b
jmp 0x416b56
mov ecx, 0x280a
cmp eax, ecx
jg 0x416b1c
je case.0x4168f8.1034
sub eax, 0x101a
je case.0x4168f8.1050
sub eax, 0x7ef
je case.0x4168f8.1033
sub eax, 0x11
je 0x416b0e
sub eax, 0x3ef
je case.0x4168f8.1033
sub eax, 0x11
je 0x416b0e
sub eax, 0x3f0
je case.0x4168f8.1034
sub eax, 0x400
jmp 0x416b4b
mov eax, 0x7907
jmp 0x416b56
mov eax, 0x2907
jmp 0x416b56
cmp eax, 0x2c0a
je case.0x4168f8.1034
cmp eax, 0x300a
je case.0x4168f8.1034
cmp eax, 0x340a
je case.0x4168f8.1034
cmp eax, 0x380a
je case.0x4168f8.1034
cmp eax, 0x3c0a
je case.0x4168f8.1034
cmp eax, 0x400a
je case.0x4168f8.1034
cmp eax, 0x500a
jne case.0x4168f8.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 - 0x1e4]
call fcn.0040a8c9
jmp 0x416b9f
push 0x285d
lea eax, [ebp - 0xac]
push eax
call fcn.0040c244
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00409a7e
push dword [ebp - 0xac]
call fcn.0041c3e5
pop ecx
mov eax, 0x80004005
xor esi, esi
cmp eax, 0x80004004
je 0x416eb2
cmp dword [ebp - 0x1e0], esi
je 0x416e89
push ebx
lea eax, [ebp - 0x60]
push esi
push eax
mov dword [ebp - 0x64], esi
call fcn.0041b700
movzx eax, word [0x433450]
add esp, 0xc
cmp eax, edi
jg 0x416d06
je 0x416cfc
sub eax, 0x401
cmp eax, 0x29
ja case.0x416bf1.1033
jmp dword [eax*4 + 0x4173ea]
mov eax, 0x283e
jmp 0x416e4f
mov eax, 0x2870
jmp 0x416e4f
mov eax, 0x28a2
jmp 0x416e4f
mov eax, 0x2924
jmp 0x416e4f
mov eax, 0x2834
jmp 0x416e4f
mov eax, 0x2852
jmp 0x416e4f
mov eax, 0x288e
jmp 0x416e4f
mov eax, 0x28d4
jmp 0x416e4f
mov eax, 0x28fc
jmp 0x416e4f
mov eax, 0x2938
jmp 0x416e4f
mov eax, 0x28b6
jmp 0x416e4f
mov eax, 0x28ac
jmp 0x416e4f
mov eax, 0x280c
jmp 0x416e4f
mov eax, 0x2884
jmp 0x416e4f
mov eax, 0x2816
jmp 0x416e4f
mov eax, 0x2820
jmp 0x416e4f
mov eax, 0x2974
jmp 0x416e4f
mov eax, 0x294c
jmp 0x416e4f
mov eax, 0x297e
jmp 0x416e4f
mov eax, 0x2988
jmp 0x416e4f
mov eax, 0x28f2
jmp 0x416e4f
mov eax, 0x2910
jmp 0x416e4f
mov eax, 0x296a
jmp 0x416e4f
mov eax, 0x292e
jmp 0x416e4f
mov eax, 0x2956
jmp 0x416e4f
mov eax, 0x29a6
jmp 0x416e4f
mov eax, 0x2a78
jmp 0x416e4f
mov ecx, 0x100c
cmp eax, ecx
jg 0x416dcf
je case.0x416bf1.1036
mov ecx, 0x81a
cmp eax, ecx
jg 0x416d81
je 0x416e07
add ecx, 0xfffffff2
cmp eax, ecx
jg 0x416d55
je case.0x416bf1.1036
sub eax, 0x804
je 0x416d4b
sub eax, 3
je case.0x416bf1.1031
dec eax
dec eax
je case.0x416bf1.1033
dec eax
jmp 0x416e44
mov eax, 0x502a
jmp 0x416e4f
sub eax, 0x813
je case.0x416bf1.1043
dec eax
je case.0x416bf1.1044
dec eax
dec eax
jne case.0x416bf1.1033
mov eax, 0x28de
jmp 0x416e4f
mov eax, 0x28ca
jmp 0x416e4f
mov eax, 0x28c0
jmp 0x416e4f
sub eax, 0xc04
je case.0x416bf1.1028
sub eax, 3
je case.0x416bf1.1031
dec eax
dec eax
je case.0x416bf1.1033
dec eax
je case.0x416bf1.1034
sub eax, 0x10
je 0x416e07
sub eax, 0x3ea
je case.0x416bf1.1028
sub eax, 5
mov eax, 0x285c
jmp 0x416e4f
mov eax, 0x2848
jmp 0x416e4f
mov eax, 0x282a
jmp 0x416e4f
mov eax, 0x287a
jmp 0x416e4f
mov ecx, 0x280a
cmp eax, ecx
jg 0x416e15
je case.0x416bf1.1034
sub eax, 0x101a
je case.0x416bf1.1050
sub eax, 0x7ef
je case.0x416bf1.1033
sub eax, 0x11
je 0x416e07
sub eax, 0x3ef
je case.0x416bf1.1033
sub eax, 0x11
je 0x416e07
sub eax, 0x3f0
je case.0x416bf1.1034
sub eax, 0x400
jmp 0x416e44
mov eax, 0x7906
jmp 0x416e4f
mov eax, 0x2906
jmp 0x416e4f
cmp eax, 0x2c0a
je case.0x416bf1.1034
cmp eax, 0x300a
je case.0x416bf1.1034
cmp eax, 0x340a
je case.0x416bf1.1034
cmp eax, 0x380a
je case.0x416bf1.1034
cmp eax, 0x3c0a
je case.0x416bf1.1034
cmp eax, 0x400a
je case.0x416bf1.1034
cmp eax, 0x500a
jne case.0x416bf1.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 - 0xac]
call fcn.00409a48
push 0x10
push dword [eax]
push dword [ebp - 0x1e4]
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0xac]
call fcn.0041c3e5
pop ecx
push dword [ebp - 0x1e4]
call fcn.0041c3e5
push dword [ebp - 0x1fc]
call fcn.0041c3e5
push dword [ebp - 0x1bc]
call fcn.0041c3e5
add esp, 0xc
jmp 0x416466
push str.True
lea eax, [ebp - 0x18c]
push eax
call fcn.00409bce
test al, al
je 0x416e89
push dword [ebp - 0x1e4]
call fcn.0041c3e5
push dword [ebp - 0x1fc]
call fcn.0041c3e5
push dword [ebp - 0x1bc]
call fcn.0041c3e5
add esp, 0xc
lea ecx, [ebp - 0x128]
call fcn.00413c3a
mov esi, 0x642
jmp 0x415c42
lea ecx, [ebp - 0x224]
call fcn.004140fc
push dword [ebp - 0x124]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x416f5b
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x224]
call fcn.0041c3e5
push dword [ebp - 0x1e4]
call fcn.0041c3e5
push dword [ebp - 0x1fc]
call fcn.0041c3e5
push dword [ebp - 0x1bc]
call fcn.0041c3e5
add esp, 0x10
jmp 0x416466
cmp dword [ebp - 0x154], esi
je 0x4170b8
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0040c36b
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x274], 0x3c
mov dword [ebp - 0x270], 0x140
mov dword [ebp - 0x26c], esi
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x90], esi
je 0x416fd0
push 0x428fe0
lea ecx, [ebp - 0x134]
call fcn.0040adf4
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x134]
call fcn.0040a900
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040c36b
mov eax, dword [ebp - 0xd0]
neg eax
sbb eax, eax
and eax, dword [ebp - 0xd4]
and dword [ebp - 0x25c], 0
and dword [ebp - 0x23c], 0
mov dword [ebp - 0x260], eax
xor esi, esi
lea eax, [ebp - 0x274]
inc esi
push eax
mov dword [ebp - 0x258], esi
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [ebp - 0x254], 0x20
jg 0x41708e
cmp byte [ebp - 0x6a], 0
jne 0x417036
push 0xf4247
call fcn.004120cc
push dword [ebp - 0xd4]
call fcn.0041c3e5
push dword [ebp - 0xb8]
call fcn.0041c3e5
pop ecx
pop ecx
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x224]
call fcn.0041c3e5
push dword [ebp - 0x1e4]
call fcn.0041c3e5
push dword [ebp - 0x1fc]
call fcn.0041c3e5
push dword [ebp - 0x1bc]
call fcn.0041c3e5
add esp, 0x10
jmp 0x41663f
push dword [ebp - 0x23c]
call fcn.00414b00
push dword [ebp - 0xd4]
mov esi, eax
call fcn.0041c3e5
push dword [ebp - 0xb8]
call fcn.0041c3e5
pop ecx
pop ecx
jmp 0x417247
cmp dword [ebp - 0x114], esi
je 0x417241
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00404128
lea eax, [ebp - 0xb8]
push eax
call fcn.0040c056
push str.__T_
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x118]
call fcn.0040e55e
push dword [ebp - 0x84]
call fcn.0041c3e5
push dword [ebp - 0xb8]
call fcn.0041c3e5
pop ecx
pop ecx
push 0x428d68
lea ecx, [ebp - 0x84]
call fcn.00409a48
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x118]
call fcn.0040e55e
push dword [ebp - 0x84]
call fcn.0041c3e5
pop ecx
cmp dword [ebp - 0x90], esi
je 0x41717f
push 0x20
lea ecx, [ebp - 0x118]
call fcn.00404035
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x118]
call fcn.0040a900
xor eax, eax
mov word [ebp - 0x296], ax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0x2c8], 0x44
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c0], esi
mov dword [ebp - 0x2bc], esi
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x294], esi
call fcn.0040a92d
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040c36b
push dword [ebp - 0xac]
call fcn.0041c3e5
pop ecx
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x2c8]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push dword [ebp - 0x78]
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x41721b
cmp byte [ebp - 0x6a], al
jne 0x41720d
push esi
call fcn.0040d107
push dword [ebp - 0x78]
call fcn.0041c3e5
pop ecx
jmp 0x416f1b
push dword [ebp - 0x280]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x284]
call fcn.00414b00
push dword [ebp - 0x78]
mov esi, eax
call fcn.0041c3e5
jmp 0x4170b2
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x9c]
sub eax, 0
je 0x417265
dec eax
dec eax
jne 0x41704e
mov esi, dword [ebp - 0x180]
jmp 0x41704e
xor esi, esi
jmp 0x41704e
push dword [ebp - 0x1bc]
call fcn.0041c3e5
pop ecx
lea ecx, [ebp - 0x128]
call fcn.00413c3a
push dword [ebp - 0x18c]
call fcn.0041c3e5
push dword [ebp - 0xe0]
call fcn.0041c3e5
push dword [ebp - 0xc4]
call fcn.0041c3e5
push dword [ebp - 0x140]
call fcn.0041c3e5
push dword [ebp - 0x118]
call fcn.0041c3e5
push dword [ebp - 0x1a4]
call fcn.0041c3e5
push dword [ebp - 0x17c]
call fcn.0041c3e5
push dword [ebp - 0x100]
call fcn.0041c3e5
push dword [ebp - 0x170]
call fcn.0041c3e5
push dword [ebp - 0x14c]
call fcn.0041c3e5
push dword [ebp - 0x164]
call fcn.0041c3e5
push dword [ebp - 0x134]
call fcn.0041c3e5
push dword [ebp - 0x158]
call fcn.0041c3e5
push dword [ebp - 0x94]
call fcn.0041c3e5
push dword [ebp - 0x198]
call fcn.0041c3e5
add esp, 0x3c
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004197eb
add ebp, 0x68
leave
ret 0x10