Function at 0x41ade4
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, 0x30c
mov eax, dword [0x45116c]
xor eax, ebp
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x70]
push ebx
push esi
xor ecx, ecx
mov dword [0x452658], eax
push edi
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x30], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x41ae37
xor al, al
jmp 0x41ae3e
cmp dword [ebp - 0x20], 2
sete al
mov byte [0x45265c], al
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
lea ecx, [ebp - 0x190]
call fcn.00404f36
lea ecx, [ebp - 0x90]
call fcn.00404f36
lea ecx, [ebp - 0x160]
call fcn.00404f36
lea ecx, [ebp - 0x12c]
call fcn.00404f36
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040bc24
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
call fcn.00415157
lea ecx, [ebp - 0x16c]
mov word [0x452650], ax
call fcn.00404f36
lea eax, [ebp - 0x16c]
push eax
push dword [0x452658]
call fcn.0040e689
lea ecx, [ebp - 0x90]
call fcn.0040c16d
lea ecx, [ebp - 0x90]
call fcn.0040c147
push 0x4443c4
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x75], 0
call fcn.0040b91e
mov esi, eax
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040ba1b
push dword [esi]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
test bl, bl
pop ecx
pop ecx
je 0x41af73
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x75], 1
call fcn.0040bb6d
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b954
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0x90]
call fcn.0040c16d
lea ecx, [ebp - 0x90]
call fcn.0040c147
mov edi, 0x443c3c
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 0x97], 0
mov byte [ebp - 0x95], 0
call fcn.0040b91e
push edi
lea ecx, [ebp - 0x154]
call fcn.0040b91e
push 0x4443bc
lea ecx, [ebp - 0x84]
call fcn.0040b91e
mov esi, eax
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040ba1b
push dword [esi]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
test bl, bl
pop ecx
pop ecx
je 0x41b24e
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040bb6d
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b954
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0x90]
call fcn.0040c16d
lea ecx, [ebp - 0x90]
call fcn.0040c147
push edi
lea ecx, [ebp - 0x178]
call fcn.0040b91e
mov ebx, dword [ebp - 0x94]
xor esi, esi
push 0x4443b8
lea ecx, [ebp - 0x74]
call fcn.0040b91e
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x84]
or ebx, 3
call fcn.0040eb31
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6b9
test eax, eax
je 0x41b07f
cmp esi, dword [ebp - 0x8c]
mov byte [ebp - 0x66], 1
jl 0x41b083
mov byte [ebp - 0x66], 0
test bl, 2
je 0x41b097
push dword [ebp - 0x84]
and ebx, 0xfffffffd
call fcn.004232ae
pop ecx
test bl, 1
je 0x41b0a8
push dword [ebp - 0x74]
and ebx, 0xfffffffe
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x66], 0
je 0x41b0ca
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x178]
call fcn.00404f4e
inc esi
jmp 0x41b03f
mov edi, dword [ebp - 0x178]
xor esi, esi
push 0x4443b4
lea ecx, [ebp - 0x74]
call fcn.0040b91e
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x84]
or ebx, 0xc
call fcn.0040eb31
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6b9
test eax, eax
je 0x41b10c
cmp esi, dword [ebp - 0x174]
mov byte [ebp - 0x66], 1
jl 0x41b110
mov byte [ebp - 0x66], 0
test bl, 8
je 0x41b124
push dword [ebp - 0x84]
and ebx, 0xfffffff7
call fcn.004232ae
pop ecx
test bl, 4
je 0x41b135
push dword [ebp - 0x74]
and ebx, 0xfffffffb
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x66], 0
je 0x41b14e
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x154]
call fcn.00404f4e
inc esi
jmp 0x41b0d2
inc esi
inc esi
push 0x4443b0
lea ecx, [ebp - 0x74]
call fcn.0040b91e
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x84]
or ebx, 0x30
call fcn.0040eb31
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6b9
test eax, eax
je 0x41b18a
cmp esi, dword [ebp - 0x174]
mov byte [ebp - 0x66], 1
jl 0x41b18e
mov byte [ebp - 0x66], 0
test bl, 0x20
je 0x41b1a2
push dword [ebp - 0x84]
and ebx, 0xffffffdf
call fcn.004232ae
pop ecx
test bl, 0x10
je 0x41b1b3
push dword [ebp - 0x74]
and ebx, 0xffffffef
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x66], 0
je 0x41b1cc
movzx eax, word [edi + esi*2]
push eax
lea ecx, [ebp - 0x13c]
call fcn.00404f4e
inc esi
jmp 0x41b150
push str.oslist
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x94], ebx
call fcn.0040b91e
push dword [ebp - 0x74]
push dword [ebp - 0x154]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41b20b
mov byte [ebp - 0x97], 1
jmp 0x41b242
push str.osblock
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
push dword [ebp - 0x154]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41b242
mov byte [ebp - 0x95], 1
push edi
call fcn.004232ae
pop ecx
mov edi, 0x443c3c
lea ecx, [ebp - 0xf8]
mov byte [ebp - 0x65], 0
call fcn.00404f36
push 0x444388
lea ecx, [ebp - 0x84]
call fcn.0040b91e
mov esi, eax
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040ba1b
push dword [esi]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
test bl, bl
pop ecx
pop ecx
mov esi, 0x444380
je 0x41b37e
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040bb6d
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b954
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
push esi
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b7c6
push dword [ebp - 0x74]
mov ebx, eax
call fcn.004232ae
test ebx, ebx
pop ecx
jle 0x41b37e
push ebx
push 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b988
push eax
lea ecx, [ebp - 0xf8]
call fcn.0040b954
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0xf8]
call fcn.0040c16d
lea ecx, [ebp - 0xf8]
call fcn.0040c147
push ebx
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040bb6d
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b954
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0xf8]
call fcn.0040c16d
lea ecx, [ebp - 0xf8]
call fcn.0040c147
mov byte [ebp - 0x65], 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x98], 0
call fcn.0040c16d
lea ecx, [ebp - 0x90]
call fcn.0040c147
push esi
lea ecx, [ebp - 0x84]
call fcn.0040b91e
mov esi, eax
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040ba1b
push dword [esi]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
test bl, bl
pop ecx
pop ecx
je 0x41b607
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040bb6d
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b954
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0x90]
call fcn.0040c16d
lea ecx, [ebp - 0x90]
call fcn.0040c147
push 0x44437c
lea ecx, [ebp - 0x74]
mov byte [ebp - 0x98], 1
call fcn.0040b91e
push 1
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040ba1b
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x74]
call fcn.004232ae
test bl, bl
pop ecx
pop ecx
je 0x41b483
and dword [ebp - 0xa0], 0
jmp 0x41b607
lea ecx, [ebp - 0x1e4]
call fcn.00404f36
xor esi, esi
mov byte [ebp - 0x66], 0
push 0x4443b8
lea ecx, [ebp - 0x74]
call fcn.0040b91e
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + esi*2]
or dword [ebp - 0x94], 0xc0
push eax
lea ecx, [ebp - 0x84]
call fcn.0040eb31
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6b9
test eax, eax
je 0x41b4db
cmp esi, dword [ebp - 0x8c]
jge 0x41b4db
mov bl, 1
jmp 0x41b4dd
xor bl, bl
test byte [ebp - 0x94], 0x80
je 0x41b4fc
push dword [ebp - 0x84]
and dword [ebp - 0x94], 0xffffff7f
call fcn.004232ae
pop ecx
test byte [ebp - 0x94], 0x40
je 0x41b515
push dword [ebp - 0x74]
and dword [ebp - 0x94], 0xffffffbf
call fcn.004232ae
pop ecx
test bl, bl
je 0x41b54e
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + esi*2]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00404f4e
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + esi*2]
push eax
call fcn.004239d2
test eax, eax
pop ecx
je 0x41b548
mov byte [ebp - 0x66], 1
inc esi
jmp 0x41b494
cmp dword [ebp - 0x1e0], 0
mov esi, dword [ebp - 0x1e4]
jne 0x41b576
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0x130], 1
jmp 0x41b600
push str.default
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
push esi
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41b5aa
and dword [ebp - 0xa0], 0
jmp 0x41b600
push str.launch
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
push esi
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41b5e1
mov dword [ebp - 0xa0], 1
jmp 0x41b600
mov al, byte [ebp - 0x66]
neg al
push esi
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
mov dword [ebp - 0xa0], eax
call fcn.004238bb
pop ecx
mov dword [ebp - 0x130], eax
push esi
call fcn.004232ae
pop ecx
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b954
lea ecx, [ebp - 0x148]
call fcn.0040c9f9
mov ecx, dword [ebp - 0x16c]
lea eax, [ebp - 0x148]
push eax
push str.___InstallEnd__
mov edx, str.___Install__UTF_8_
call fcn.0041a15e
test al, al
jne 0x41b6c4
cmp byte [ebp - 0x75], al
jne 0x41b659
push 0xf4241
call fcn.00418607
push dword [ebp - 0x148]
call fcn.004232ae
push dword [ebp - 0xf8]
call fcn.004232ae
push dword [ebp - 0x154]
call fcn.004232ae
push dword [ebp - 0x13c]
call fcn.004232ae
push dword [ebp - 0x16c]
call fcn.004232ae
push dword [ebp - 0x12c]
call fcn.004232ae
push dword [ebp - 0x160]
call fcn.004232ae
push dword [ebp - 0x90]
call fcn.004232ae
push dword [ebp - 0x190]
call fcn.004232ae
add esp, 0x24
jmp 0x41d0c3
push 0x444354
lea ecx, [ebp - 0x19c]
call fcn.0040b91e
lea ecx, [ebp - 0x104]
call fcn.00404f36
lea ecx, [ebp - 0x120]
mov byte [ebp - 0x1e8], 1
call fcn.00404f36
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0x96], 1
mov byte [ebp - 0x66], 0
call fcn.00404f36
lea ecx, [ebp - 0xc8]
call fcn.00404f36
xor ebx, ebx
cmp dword [ebp - 0x144], ebx
je 0x41bff6
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x148]
push eax
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], 4
mov dword [ebp - 0xec], vtable.CObjectVector_struct_CTextConfigPair_.0
call fcn.0040ce22
test al, al
jne 0x41b77c
cmp byte [ebp - 0x75], al
jne 0x41b76c
push 0xf4242
call fcn.00418607
lea ecx, [ebp - 0xec]
call fcn.00419e32
jmp 0x41d026
push 0x443c40
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push str.DeleteTempFiles
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040cda5
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0xac]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x74]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
add esp, 0xc
test bl, bl
je 0x41b7f1
mov byte [ebp - 0x96], 0
push 0x44432c
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push str.BrowseForFolder
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0040cda5
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040c6ea
push dword [ebp - 0xac]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
push dword [ebp - 0x74]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
add esp, 0xc
test bl, bl
je 0x41b863
mov byte [ebp - 0x66], 1
push str.OSList
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0040cda5
push dword [ebp - 0x74]
call fcn.004232ae
lea ecx, [ebp - 0x74]
mov dword [esp], str.OSBlock
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.0040cda5
push dword [ebp - 0x74]
call fcn.004232ae
cmp byte [ebp - 0x97], 0
pop ecx
je 0x41b8e5
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x184]
call fcn.0040b954
push edi
lea ecx, [ebp - 0x1b4]
call fcn.0040e4ca
cmp byte [ebp - 0x95], 0
je 0x41b90c
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.0040b954
push edi
lea ecx, [ebp - 0x184]
call fcn.0040e4ca
xor esi, esi
cmp dword [ebp - 0x1b0], esi
je 0x41b95d
cmp dword [ebp - 0x180], esi
je 0x41b945
push 0xf4243
call fcn.00418607
push dword [ebp - 0x1b4]
call fcn.004232ae
push dword [ebp - 0x184]
call fcn.004232ae
pop ecx
pop ecx
jmp 0x41b76c
push esi
lea eax, [ebp - 0x1b4]
push eax
call fcn.0041d82e
test eax, eax
je 0x41b96f
call fcn.0041e024
jmp 0x41b928
cmp dword [ebp - 0x180], esi
je 0x41b96f
push 1
lea eax, [ebp - 0x184]
jmp 0x41b94c
push str.OSLangBlock
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.0040cda5
push dword [ebp - 0x74]
call fcn.004232ae
lea ecx, [ebp - 0x74]
mov dword [esp], str.OSLangList
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.0040cda5
push dword [ebp - 0x74]
call fcn.004232ae
lea ecx, [ebp - 0x74]
mov dword [esp], str.HPSEA_ReturnVal
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.0040cda5
push dword [ebp - 0x74]
call fcn.004232ae
cmp byte [ebp - 0x98], 0
pop ecx
jne 0x41bad3
push str.default
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
push dword [ebp - 0x1c0]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41ba40
mov dword [ebp - 0xa0], esi
jmp 0x41bad3
push str.launch
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
push dword [ebp - 0x1c0]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41ba7c
mov dword [ebp - 0xa0], 1
jmp 0x41bad3
xor esi, esi
xor bl, bl
cmp dword [ebp - 0x1bc], esi
jle 0x41bab5
mov eax, dword [ebp - 0x1c0]
movzx eax, word [eax + esi*2]
push eax
call fcn.004239d2
test eax, eax
pop ecx
je 0x41ba9f
mov bl, 1
inc esi
cmp esi, dword [ebp - 0x1bc]
jl 0x41ba88
test bl, bl
je 0x41bab5
and dword [ebp - 0xa0], 0
jmp 0x41babf
mov dword [ebp - 0xa0], 2
push dword [ebp - 0x1c0]
call fcn.004238bb
pop ecx
mov dword [ebp - 0x130], eax
xor esi, esi
push dword [ebp - 0x178]
call fcn.0040c8a0
push dword [ebp - 0x200]
call fcn.0040c8a0
cmp dword [ebp - 0x174], esi
je 0x41bb5e
cmp dword [ebp - 0x1fc], esi
je 0x41bb42
push 0xf4244
call fcn.00418607
push dword [ebp - 0x1c0]
call fcn.004232ae
push dword [ebp - 0x200]
call fcn.004232ae
push dword [ebp - 0x178]
call fcn.004232ae
push dword [ebp - 0x1b4]
call fcn.004232ae
push dword [ebp - 0x184]
call fcn.004232ae
add esp, 0x14
jmp 0x41b76c
push esi
lea eax, [ebp - 0x178]
push eax
call fcn.0041da3b
test eax, eax
je 0x41bc71
call fcn.0041dd0c
jmp 0x41bb03
cmp dword [ebp - 0x1fc], esi
je 0x41bc71
push 1
lea eax, [ebp - 0x200]
push eax
call fcn.0041da3b
test eax, eax
je 0x41bc71
call fcn.0041dd0c
xor esi, esi
inc esi
push dword [ebp - 0x1c0]
call fcn.004232ae
push dword [ebp - 0x200]
call fcn.004232ae
push dword [ebp - 0x178]
call fcn.004232ae
push dword [ebp - 0x1b4]
call fcn.004232ae
push dword [ebp - 0x184]
call fcn.004232ae
add esp, 0x14
lea ecx, [ebp - 0xec]
call fcn.00419e32
push dword [ebp - 0xc8]
call fcn.004232ae
push dword [ebp - 0xb8]
call fcn.004232ae
push dword [ebp - 0x120]
call fcn.004232ae
push dword [ebp - 0x104]
call fcn.004232ae
push dword [ebp - 0x19c]
call fcn.004232ae
push dword [ebp - 0x148]
call fcn.004232ae
push dword [ebp - 0xf8]
call fcn.004232ae
push dword [ebp - 0x154]
call fcn.004232ae
push dword [ebp - 0x13c]
call fcn.004232ae
push dword [ebp - 0x16c]
call fcn.004232ae
push dword [ebp - 0x12c]
call fcn.004232ae
push dword [ebp - 0x160]
call fcn.004232ae
push dword [ebp - 0x90]
call fcn.004232ae
push dword [ebp - 0x190]
call fcn.004232ae
add esp, 0x38
mov eax, esi
jmp 0x41d0c6
push str.ExtractFolder
lea ecx, [ebp - 0x74]
call fcn.0040b91e
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xbc], esp
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0xec]
push ecx
push eax
call fcn.0040cda5
lea eax, [ebp - 0xd4]
push eax
call fcn.0041a33c
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
pop ecx
push str.SubFolder
lea ecx, [ebp - 0x84]
call fcn.0040b91e
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xbc], esp
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 0xec]
push ecx
push eax
call fcn.0040cda5
lea eax, [ebp - 0xd4]
push eax
call fcn.0041a33c
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
pop ecx
pop ecx
push str.Title
lea ecx, [ebp - 0xac]
call fcn.0040b91e
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040cda5
push eax
lea ecx, [ebp - 0x120]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
push dword [ebp - 0xac]
call fcn.004232ae
cmp dword [ebp - 0x11c], esi
pop ecx
pop ecx
jne 0x41bd8c
push 0x444248
lea ecx, [ebp - 0x120]
call fcn.0040e4ca
push str.BeginPrompt
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.0040cda5
push dword [ebp - 0x74]
call fcn.004232ae
lea ecx, [ebp - 0x84]
mov dword [esp], 0x44421c
call fcn.0040b91e
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.0040cda5
push dword [ebp - 0x84]
call fcn.004232ae
lea ecx, [ebp - 0x74]
mov dword [esp], 0x443c40
call fcn.0040b91e
push dword [ebp - 0x74]
push dword [ebp - 0x224]
call fcn.0040c6ea
push dword [ebp - 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call fcn.004232ae
test bl, bl
pop ecx
je 0x41be28
mov byte [ebp - 0x1e8], 0
push str.Directory
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.0040cd6f
push dword [ebp - 0x74]
mov esi, eax
call fcn.004232ae
test esi, esi
pop ecx
jl 0x41be6c
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + esi*4]
add eax, 0xc
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040b954
cmp dword [ebp - 0x1e0], 0
je 0x41beb5
cmp byte [ebp - 0x75], 0
jne 0x41beb5
push 0x24
push dword [ebp - 0x120]
push dword [ebp - 0x1e4]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x41beb5
push dword [ebp - 0x224]
call fcn.004232ae
push dword [ebp - 0x1e4]
call fcn.004232ae
pop ecx
pop ecx
xor esi, esi
jmp 0x41bb88
push str.RunProgram
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040cda5
push eax
lea ecx, [ebp - 0x104]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
pop ecx
push str.ExecuteFile
lea ecx, [ebp - 0x84]
call fcn.0040b91e
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040cda5
push eax
lea ecx, [ebp - 0x160]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
cmp byte [ebp - 0x65], 0
pop ecx
pop ecx
jne 0x41bf93
push str.ExecuteParameters
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040cda5
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
push dword [ebp - 0x74]
call fcn.004232ae
pop ecx
pop ecx
push dword [ebp - 0x224]
call fcn.004232ae
push dword [ebp - 0x1e4]
call fcn.004232ae
push dword [ebp - 0x1c0]
call fcn.004232ae
push dword [ebp - 0x200]
call fcn.004232ae
push dword [ebp - 0x178]
call fcn.004232ae
push dword [ebp - 0x1b4]
call fcn.004232ae
push dword [ebp - 0x184]
call fcn.004232ae
add esp, 0x1c
lea ecx, [ebp - 0xec]
call fcn.00419e32
mov esi, dword [ebp - 0x94]
xor ebx, ebx
lea ecx, [ebp - 0x110]
mov byte [ebp - 0x114], 0
call fcn.00404f36
lea ecx, [ebp - 0x1a8]
call fcn.00404f36
lea eax, [ebp - 0x1a8]
push eax
call fcn.0040f569
sub esp, 0xc
lea eax, [ebp - 0x1a8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.0040509c
lea ecx, [ebp - 0x114]
call fcn.00419fc4
cmp dword [ebp - 0xb4], ebx
je 0x41c2b1
push 0x4441ac
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push 2
push 1
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb8]
or esi, 0x300
call fcn.0040b988
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040c6ea
test eax, eax
mov edi, 0x400
mov ebx, 0x800
je 0x41c0cd
push 0x4441a4
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push 2
push 1
lea eax, [ebp - 0xd4]
or esi, edi
push eax
lea ecx, [ebp - 0xb8]
or esi, ebx
call fcn.0040b988
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6ea
test eax, eax
mov byte [ebp - 0x65], 0
jne 0x41c0d1
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x41c0e7
push dword [ebp - 0xd4]
and esi, 0xfffff7ff
call fcn.004232ae
pop ecx
test edi, esi
je 0x41c0fa
push dword [ebp - 0x74]
and esi, 0xfffffbff
call fcn.004232ae
pop ecx
test si, 0x200
je 0x41c113
push dword [ebp - 0xac]
and esi, 0xfffffdff
call fcn.004232ae
pop ecx
test si, 0x100
je 0x41c12c
push dword [ebp - 0x84]
and esi, 0xfffffeff
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x65], 0
je 0x41c32b
push 0x443a34
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push 1
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb8]
or esi, 0x3000
call fcn.0041410a
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040c6ea
test eax, eax
mov edi, 0x4000
mov ebx, 0x8000
je 0x41c1b2
push 0x443a20
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push 1
lea eax, [ebp - 0xd4]
or esi, edi
push eax
lea ecx, [ebp - 0xb8]
or esi, ebx
call fcn.0041410a
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6ea
test eax, eax
mov byte [ebp - 0x65], 0
jne 0x41c1b6
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x41c1cc
push dword [ebp - 0xd4]
and esi, 0xffff7fff
call fcn.004232ae
pop ecx
test edi, esi
je 0x41c1df
push dword [ebp - 0x74]
and esi, 0xffffbfff
call fcn.004232ae
pop ecx
test si, 0x2000
je 0x41c1f8
push dword [ebp - 0xac]
and esi, 0xffffdfff
call fcn.004232ae
pop ecx
test si, 0x1000
je 0x41c211
push dword [ebp - 0x84]
and esi, 0xffffefff
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x65], 0
je 0x41c24b
mov eax, dword [ebp - 0xb4]
dec eax
push eax
push 0
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040b988
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040b954
push dword [ebp - 0xd4]
call fcn.004232ae
pop ecx
push 0x443a34
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push 0x443a20
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00415030
push dword [ebp - 0x74]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
push ecx
lea eax, [ebp - 0xb8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.0040509c
lea ecx, [ebp - 0x114]
call fcn.00419fc4
xor edi, edi
cmp dword [ebp - 0xc4], edi
mov ebx, 0x10000
je 0x41c2e5
push 0x44432c
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
or esi, ebx
push dword [ebp - 0xc8]
call fcn.0040c6ea
test eax, eax
mov byte [ebp - 0x65], 0
jne 0x41c2e9
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x41c2fc
push dword [ebp - 0x74]
and esi, 0xfffeffff
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x65], 0
je 0x41c34a
push dword [0x451010]
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040fa41
push dword [ebp - 0xd4]
call fcn.004232ae
pop ecx
jmp 0x41c444
push dword [ebp - 0x1a8]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0x114]
call fcn.00419d87
xor esi, esi
inc esi
jmp 0x41bbcd
cmp dword [ebp - 0xc4], edi
mov ebx, 0x20000
je 0x41c37c
push 0x443c40
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
or esi, ebx
push dword [ebp - 0xc8]
call fcn.0040c6ea
test eax, eax
mov byte [ebp - 0x65], 1
jne 0x41c380
mov byte [ebp - 0x65], 0
test ebx, esi
je 0x41c393
push dword [ebp - 0x74]
and esi, 0xfffdffff
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x65], 0
je 0x41c3f1
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040b954
push 0x443a34
lea ecx, [ebp - 0xb8]
call fcn.0040eb7b
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040d3c6
sub esp, 0xc
lea eax, [ebp - 0xb8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.0040509c
lea ecx, [ebp - 0x114]
call fcn.00419fc4
jmp 0x41c444
cmp dword [ebp - 0xc4], edi
mov ebx, 0x40000
je 0x41c423
push 0x443c40
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push dword [ebp - 0x74]
or esi, ebx
push dword [ebp - 0xc8]
call fcn.0040c6ea
test eax, eax
mov byte [ebp - 0x65], 1
je 0x41c427
mov byte [ebp - 0x65], 0
test ebx, esi
je 0x41c43a
push dword [ebp - 0x74]
and esi, 0xfffbffff
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x65], 0
je 0x41d00f
cmp byte [ebp - 0x66], 0
je 0x41c656
push edi
sub esp, 0xc
lea eax, [ebp - 0xc8]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.0040509c
sub esp, 0xc
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.0040509c
lea eax, [ebp - 0x120]
push eax
mov ecx, 0x452660
call fcn.0041a06f
push eax
lea ecx, [ebp - 0xac]
call fcn.0040b91e
cmp dword [ebp - 0xa8], edi
jne 0x41c4cc
push dword [ebp - 0xac]
call fcn.004232ae
push dword [ebp - 0x1a8]
call fcn.004232ae
pop ecx
pop ecx
lea ecx, [ebp - 0x114]
call fcn.00419d87
xor esi, esi
jmp 0x41bbcd
push 0x443a34
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push 1
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0xac]
or esi, 0x180000
call fcn.0041410a
push dword [ebp - 0x84]
push dword [eax]
call fcn.0040c6ea
test eax, eax
mov edi, 0x200000
mov ebx, 0x400000
je 0x41c548
push 0x443a20
lea ecx, [ebp - 0x74]
call fcn.0040b91e
push 1
lea eax, [ebp - 0xd4]
or esi, edi
push eax
lea ecx, [ebp - 0xac]
or esi, ebx
call fcn.0041410a
push dword [ebp - 0x74]
push dword [eax]
call fcn.0040c6ea
test eax, eax
mov byte [ebp - 0x65], 0
jne 0x41c54c
mov byte [ebp - 0x65], 1
test ebx, esi
je 0x41c562
push dword [ebp - 0xd4]
and esi, 0xffbfffff
call fcn.004232ae
pop ecx
test edi, esi
je 0x41c575
push dword [ebp - 0x74]
and esi, 0xffdfffff
call fcn.004232ae
pop ecx
test esi, 0x100000
je 0x41c58f
push dword [ebp - 0x1d8]
and esi, 0xffefffff
call fcn.004232ae
pop ecx
test esi, 0x80000
je 0x41c5a3
push dword [ebp - 0x84]
call fcn.004232ae
pop ecx
cmp byte [ebp - 0x65], 0
je 0x41c5dd
mov eax, dword [ebp - 0xa8]
dec eax
push eax
push 0
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0xac]
call fcn.0040b988
push eax
lea ecx, [ebp - 0xac]
call fcn.0040b954
push dword [ebp - 0x1d8]
call fcn.004232ae
pop ecx
push 0x443a34
lea ecx, [ebp - 0x84]
call fcn.0040b91e
push 0x443a20
lea ecx, [ebp - 0x74]
call fcn.0040b91e
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xac]
call fcn.00415030
push dword [ebp - 0x74]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
push ecx
lea eax, [ebp - 0xac]
mov ecx, esp
mov dword [ebp - 0xbc], esp
push eax
call fcn.0040509c
lea ecx, [ebp - 0x114]
call fcn.00419fc4
push dword [ebp - 0xac]
call fcn.004232ae
xor esi, esi
inc esi
pop ecx
xor edi, edi
jmp 0x41c659
xor esi, esi
inc esi
mov ebx, dword [ebp - 0x210]
lea ecx, [ebp - 0x114]
call fcn.0041058a
test al, al
jne 0x41c699
cmp byte [ebp - 0x75], al
jne 0x41c67d
push 0xf4246
call fcn.00418607
push dword [ebp - 0x1a8]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0x114]
call fcn.00419d87
jmp 0x41bbcd
cmp byte [ebp - 0x96], 0
jne 0x41c6a9
mov byte [ebp - 0x114], 0
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x20c]
mov dword [ebp - method.COpenCallbackGUI.virtual_0], vtable.COpenCallbackGUI.0
mov dword [ebp - 0x214], edi
call fcn.0040509c
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 0x99], 0
call fcn.00404f36
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x99]
push eax
push dword [ebp - 0x1e8]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.00417dc7
cmp eax, edi
je 0x41cc14
cmp byte [ebp - 0x75], 0
jne 0x41cbeb
cmp eax, 1
mov edi, 0xc4
mov ebx, 0x809
je 0x41c739
cmp byte [ebp - 0x99], 0
je 0x41c998
mov si, word [0x452650]
cmp si, word [0x450e80]
je 0x41c96a
and dword [ebp - 0x64], 0
push edi
lea eax, [ebp - 0x60]
push 0
push eax
call fcn.00422070
movzx eax, si
add esp, 0xc
cmp eax, ebx
jg 0x41c854
je case.0x41c7f6.1047
mov ecx, 0x410
cmp eax, ecx
jg 0x41c7e1
je 0x41c7d7
sub eax, 0x401
cmp eax, 0xd
ja case.0x41c7f6.1047
jmp dword [eax*4 + 0x41d0dc]
mov eax, 0x283f
jmp 0x41c94a
mov eax, 0x2871
jmp 0x41c94a
mov eax, 0x2835
jmp 0x41c94a
mov eax, 0x2853
jmp 0x41c94a
mov eax, 0x288f
jmp 0x41c94a
mov eax, 0x280d
jmp 0x41c94a
mov eax, 0x2885
jmp 0x41c94a
mov eax, 0x28a3
jmp 0x41c94a
mov ecx, 0x804
cmp eax, ecx
jg 0x41c843
je 0x41c839
sub eax, 0x411
cmp eax, 0xe
ja case.0x41c7f6.1047
jmp dword [eax*4 + 0x41d114]
mov eax, 0x2925
jmp 0x41c94a
mov eax, 0x28d5
jmp 0x41c94a
mov eax, 0x28fd
jmp 0x41c94a
mov eax, 0x2939
jmp 0x41c94a
mov eax, 0x28b7
jmp 0x41c94a
mov eax, 0x28ad
jmp 0x41c94a
mov eax, 0x502b
jmp 0x41c94a
cmp eax, 0x807
je case.0x41c78a.1031
mov eax, 0x285d
jmp 0x41c94a
mov ecx, 0x1809
cmp eax, ecx
jg 0x41c8ec
je case.0x41c7f6.1047
mov ecx, 0xc07
cmp eax, ecx
jg 0x41c8c2
je case.0x41c78a.1031
sub eax, 0x80a
je case.0x41c78a.1034
dec eax
dec eax
je case.0x41c78a.1036
sub eax, 7
je case.0x41c7f6.1043
dec eax
je case.0x41c7f6.1044
dec eax
dec eax
je case.0x41c7f6.1046
sub eax, 0x3ee
jne case.0x41c7f6.1047
mov eax, 0x282b
jmp 0x41c94a
mov eax, 0x28df
jmp 0x41c94a
mov eax, 0x28cb
jmp 0x41c94a
mov eax, 0x28c1
jmp 0x41c94a
mov eax, 0x2849
jmp 0x41c94a
sub eax, 0xc09
je case.0x41c7f6.1047
dec eax
je case.0x41c78a.1034
sub eax, 0x3fa
je case.0x41c78a.1028
sub eax, 5
je case.0x41c7f6.1047
sub eax, 3
jne case.0x41c7f6.1047
mov eax, 0x287b
jmp 0x41c94a
mov ecx, 0x300a
cmp eax, ecx
jg 0x41c91e
je case.0x41c78a.1034
cmp eax, 0x1c09
je case.0x41c7f6.1047
cmp eax, 0x200a
je case.0x41c78a.1034
cmp eax, 0x240a
je case.0x41c78a.1034
cmp eax, 0x280a
je case.0x41c78a.1034
cmp eax, 0x2c0a
jmp 0x41c93f
cmp eax, 0x340a
je case.0x41c78a.1034
cmp eax, 0x380a
je case.0x41c78a.1034
cmp eax, 0x3c0a
je case.0x41c78a.1034
cmp eax, 0x400a
je case.0x41c78a.1034
cmp eax, 0x500a
jne case.0x41c7f6.1047
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 - 0x1cc]
call fcn.0040e4ca
jmp 0x41c993
push 0x285d
lea eax, [ebp - 0x1d8]
push eax
call fcn.00411c73
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0040b954
push dword [ebp - 0x1d8]
call fcn.004232ae
pop ecx
mov eax, 0x80004005
cmp eax, 0x80004004
je 0x41cbeb
cmp dword [ebp - 0x1c8], 0
je 0x41cbeb
xor esi, esi
push edi
lea eax, [ebp - 0x60]
push esi
push eax
mov dword [ebp - 0x64], esi
call fcn.00422070
movzx eax, word [0x452650]
add esp, 0xc
cmp eax, ebx
jg 0x41cabb
je case.0x41ca5d.1047
mov ecx, 0x410
cmp eax, ecx
jg 0x41ca48
je 0x41ca3e
sub eax, 0x401
cmp eax, 0xd
ja case.0x41ca5d.1047
jmp dword [eax*4 + 0x41d150]
mov eax, 0x283e
jmp 0x41cbb1
mov eax, 0x2870
jmp 0x41cbb1
mov eax, 0x2834
jmp 0x41cbb1
mov eax, 0x2852
jmp 0x41cbb1
mov eax, 0x288e
jmp 0x41cbb1
mov eax, 0x280c
jmp 0x41cbb1
mov eax, 0x2884
jmp 0x41cbb1
mov eax, 0x28a2
jmp 0x41cbb1
mov ecx, 0x804
cmp eax, ecx
jg 0x41caaa
je 0x41caa0
sub eax, 0x411
cmp eax, 0xe
ja case.0x41ca5d.1047
jmp dword [eax*4 + 0x41d188]
mov eax, 0x2924
jmp 0x41cbb1
mov eax, 0x28d4
jmp 0x41cbb1
mov eax, 0x28fc
jmp 0x41cbb1
mov eax, 0x2938
jmp 0x41cbb1
mov eax, 0x28b6
jmp 0x41cbb1
mov eax, 0x28ac
jmp 0x41cbb1
mov eax, 0x502a
jmp 0x41cbb1
cmp eax, 0x807
je case.0x41c9f1.1031
mov eax, 0x285c
jmp 0x41cbb1
mov ecx, 0x1809
cmp eax, ecx
jg 0x41cb53
je case.0x41ca5d.1047
mov ecx, 0xc07
cmp eax, ecx
jg 0x41cb29
je case.0x41c9f1.1031
sub eax, 0x80a
je case.0x41c9f1.1034
dec eax
dec eax
je case.0x41c9f1.1036
sub eax, 7
je case.0x41ca5d.1043
dec eax
je case.0x41ca5d.1044
dec eax
dec eax
je case.0x41ca5d.1046
sub eax, 0x3ee
jne case.0x41ca5d.1047
mov eax, 0x282a
jmp 0x41cbb1
mov eax, 0x28de
jmp 0x41cbb1
mov eax, 0x28ca
jmp 0x41cbb1
mov eax, 0x28c0
jmp 0x41cbb1
mov eax, 0x2848
jmp 0x41cbb1
sub eax, 0xc09
je case.0x41ca5d.1047
dec eax
je case.0x41c9f1.1034
sub eax, 0x3fa
je case.0x41c9f1.1028
sub eax, 5
je case.0x41ca5d.1047
sub eax, 3
jne case.0x41ca5d.1047
mov eax, 0x287a
jmp 0x41cbb1
mov ecx, 0x300a
cmp eax, ecx
jg 0x41cb85
je case.0x41c9f1.1034
cmp eax, 0x1c09
je case.0x41ca5d.1047
cmp eax, 0x200a
je case.0x41c9f1.1034
cmp eax, 0x240a
je case.0x41c9f1.1034
cmp eax, 0x280a
je case.0x41c9f1.1034
cmp eax, 0x2c0a
jmp 0x41cba6
cmp eax, 0x340a
je case.0x41c9f1.1034
cmp eax, 0x380a
je case.0x41c9f1.1034
cmp eax, 0x3c0a
je case.0x41c9f1.1034
cmp eax, 0x400a
je case.0x41c9f1.1034
cmp eax, 0x500a
jne case.0x41ca5d.1047
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 - 0x1d8]
call fcn.0040b91e
push 0x10
push dword [eax]
push dword [ebp - 0x1cc]
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x1d8]
call fcn.004232ae
pop ecx
push dword [ebp - 0x1cc]
call fcn.004232ae
push dword [ebp - 0x20c]
call fcn.004232ae
push dword [ebp - 0x1a8]
call fcn.004232ae
add esp, 0xc
jmp 0x41c337
lea ecx, [ebp - 0x1f4]
call fcn.0041a2ff
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x41cc6f
push dword [ebp - 0x1f4]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x1f4]
call fcn.004232ae
push dword [ebp - 0x1cc]
call fcn.004232ae
push dword [ebp - 0x20c]
call fcn.004232ae
push dword [ebp - 0x1a8]
call fcn.004232ae
add esp, 0x10
jmp 0x41c689
cmp dword [ebp - 0x15c], edi
je 0x41cd8b
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00411e40
cmp dword [ebp - 0x8c], edi
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x260], 0x3c
mov dword [ebp - 0x25c], 0x140
mov dword [ebp - 0x258], edi
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x250], eax
je 0x41cce4
push 0x4443b8
lea ecx, [ebp - 0x12c]
call fcn.0040eb7b
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040d3c6
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00411e40
mov eax, dword [ebp - 0xa8]
neg eax
sbb eax, eax
and eax, dword [ebp - 0xac]
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x260]
push eax
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x228], edi
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [ebp - 0x240], 0x20
jg 0x41cd62
cmp byte [ebp - 0x75], 0
jne 0x41cd45
push 0xf4247
call fcn.00418607
push dword [ebp - 0xac]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
pop ecx
pop ecx
jmp 0x41cc2f
push dword [ebp - 0x228]
call fcn.0041acd8
push dword [ebp - 0xac]
mov ebx, eax
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
pop ecx
jmp 0x41cf0c
cmp dword [ebp - 0x100], edi
je 0x41cf0d
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x84]
call fcn.0040509c
lea eax, [ebp - 0x84]
push eax
call fcn.00411561
push str.__T_
lea ecx, [ebp - 0xac]
call fcn.0040b91e
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x104]
call fcn.00415030
push dword [ebp - 0xac]
call fcn.004232ae
push dword [ebp - 0x84]
call fcn.004232ae
pop ecx
pop ecx
push 0x444190
lea ecx, [ebp - 0x84]
call fcn.0040b91e
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x104]
call fcn.00415030
push dword [ebp - 0x84]
call fcn.004232ae
cmp dword [ebp - 0x8c], edi
pop ecx
je 0x41ce52
push 0x20
lea ecx, [ebp - 0x104]
call fcn.00404f4e
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x104]
call fcn.0040d3c6
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 0x2a4], 0x44
mov dword [ebp - 0x2a0], edi
mov dword [ebp - 0x29c], edi
mov dword [ebp - 0x298], edi
mov dword [ebp - 0x278], edi
mov word [ebp - 0x272], di
mov dword [ebp - 0x270], edi
call fcn.0040d542
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00411e40
push dword [ebp - 0x1d8]
call fcn.004232ae
pop ecx
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x2a4]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push dword [ebp - 0x74]
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x41ceeb
cmp byte [ebp - 0x75], al
jne 0x41cede
push edi
call fcn.004134d3
push dword [ebp - 0x74]
call fcn.004232ae
jmp 0x41cd5c
push dword [ebp - 0xd4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xd8]
call fcn.0041acd8
push dword [ebp - 0x74]
mov ebx, eax
call fcn.004232ae
pop ecx
mov eax, dword [ebp - 0xa0]
sub eax, edi
je 0x41cf23
dec eax
dec eax
jne 0x41cf25
mov ebx, dword [ebp - 0x130]
jmp 0x41cf25
xor ebx, ebx
push dword [ebp - 0x1f4]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x1f4]
call fcn.004232ae
push dword [ebp - 0x1cc]
call fcn.004232ae
push dword [ebp - 0x20c]
call fcn.004232ae
push dword [ebp - 0x1a8]
call fcn.004232ae
add esp, 0x10
lea ecx, [ebp - 0x114]
call fcn.00419d87
push dword [ebp - 0xc8]
call fcn.004232ae
push dword [ebp - 0xb8]
call fcn.004232ae
push dword [ebp - 0x120]
call fcn.004232ae
push dword [ebp - 0x104]
call fcn.004232ae
push dword [ebp - 0x19c]
call fcn.004232ae
push dword [ebp - 0x148]
call fcn.004232ae
push dword [ebp - 0xf8]
call fcn.004232ae
push dword [ebp - 0x154]
call fcn.004232ae
push dword [ebp - 0x13c]
call fcn.004232ae
push dword [ebp - 0x16c]
call fcn.004232ae
push dword [ebp - 0x12c]
call fcn.004232ae
push dword [ebp - 0x160]
call fcn.004232ae
push dword [ebp - 0x90]
call fcn.004232ae
push dword [ebp - 0x190]
call fcn.004232ae
add esp, 0x38
mov eax, ebx
jmp 0x41d0c6
push dword [ebp - 0x1a8]
call fcn.004232ae
pop ecx
lea ecx, [ebp - 0x114]
call fcn.00419d87
push dword [ebp - 0xc8]
call fcn.004232ae
push dword [ebp - 0xb8]
call fcn.004232ae
push dword [ebp - 0x120]
call fcn.004232ae
push dword [ebp - 0x104]
call fcn.004232ae
push dword [ebp - 0x19c]
call fcn.004232ae
push dword [ebp - 0x148]
call fcn.004232ae
push dword [ebp - 0xf8]
call fcn.004232ae
push dword [ebp - 0x154]
call fcn.004232ae
push dword [ebp - 0x13c]
call fcn.004232ae
push dword [ebp - 0x16c]
call fcn.004232ae
push dword [ebp - 0x12c]
call fcn.004232ae
push dword [ebp - 0x160]
call fcn.004232ae
push dword [ebp - 0x90]
call fcn.004232ae
push dword [ebp - 0x190]
call fcn.004232ae
add esp, 0x38
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041eb21
add ebp, 0x68
leave
ret 0x10