Function at 0x407d95
Capabilities:
Create directory
Create process on windows
Self delete

Disassembly:
mov eax, 0x432fbb
call fcn.00413e08
sub esp, 0x5d4
mov eax, dword [0x444480]
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x564]
push str.zzzzzz
push eax
mov dword [ebp - 0x56c], ecx
call fcn.004148a0
push str.hfile_good
mov ebx, 0x445628
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
add esp, 0x14
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.00401c78
and dword [ebp - 4], 0
mov esi, dword [ebp + 8]
mov edi, 0x3e7
mov eax, dword [esi]
push 6
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x564]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x55e], 0
call fcn.004031ba
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x407e31
lea eax, [ebp - 0x28]
push dword [ebp + 8]
push str.__count
push eax
push str.CMD:
push ebx
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
pop ecx
pop ecx
mov ecx, eax
call fcn.004075b1
push eax
call fcn.00402f88
lea ecx, [ebp - 0x2c]
mov dword [esp], str.msgbox
call fcn.00401dc9
test eax, eax
jne 0x407fe6
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
and dword [ebp + 8], 0
push 2
lea eax, [ebp - 0x564]
push 0x435fd0
push eax
mov dword [ebp - 0x568], eax
call fcn.00415070
add esp, 0xc
test eax, eax
jne 0x407eb7
mov dword [ebp + 8], 4
jmp 0x407ed8
push 2
lea eax, [ebp - 0x564]
push 0x435fcc
push eax
call fcn.00415070
add esp, 0xc
test eax, eax
jne 0x407ee4
mov dword [ebp + 8], 1
lea eax, [ebp - 0x562]
mov dword [ebp - 0x568], eax
push dword [ebp - 0x568]
push str.msg:
push ebx
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
push eax
call fcn.00402f88
mov ecx, dword [ebp - 0x56c]
add esp, 0xc
push dword [ebp + 8]
push str.Message
push dword [ebp - 0x568]
call fcn.00426a1f
cmp dword [ebp + 8], 4
mov dword [ebp - 0x568], eax
je 0x407f35
cmp dword [ebp + 8], 1
jne 0x407dfd
push 0x4348d3
lea ecx, [ebp - 0x160]
call fcn.004047ff
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
mov byte [ebp - 4], 1
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea ecx, [ebp - 0x160]
call fcn.004031ba
push 0x4348d3
lea ecx, [ebp - 0x17c]
call fcn.004047ff
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
mov byte [ebp - 4], 2
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea ecx, [ebp - 0x17c]
call fcn.004031ba
cmp dword [ebp - 0x568], 6
je 0x407fb7
cmp dword [ebp - 0x568], 1
lea eax, [ebp - 0x17c]
jne 0x407fbd
lea eax, [ebp - 0x160]
push 0xffffffffffffffff
push 0
mov ecx, 0x443298
push eax
call fcn.00402d42
push 0
push 1
lea ecx, [ebp - 0x17c]
call fcn.00401fa8
lea ecx, [ebp - 0x160]
jmp 0x4087f1
push str.prgssz
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x40808f
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
call fcn.00415169
mov dword [ebp + 8], eax
test eax, eax
mov eax, dword [ebp - 0x56c]
pop ecx
mov dword [eax + 0xdc], 1
je 0x407dfd
push dword [ebp + 8]
push str.progress_size:
push ebx
call fcn.004027f5
pop ecx
pop ecx
mov ecx, eax
call fcn.00402a87
push eax
call fcn.00402f88
mov eax, dword [ebp + 8]
pop ecx
cdq
mov ecx, 0x800
idiv ecx
mov ecx, dword [ebp - 0x56c]
add ecx, 0x8c
push eax
push 0
call fcn.00407470
mov eax, dword [ebp - 0x56c]
push 0
push 0
push 0x402
push dword [eax + 0xa8]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x407dfd
push str.setmsg
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x4080c6
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x56c]
lea eax, [ebp - 0x564]
push eax
call fcn.004074b1
jmp 0x407dfd
push str.downld
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x4081be
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea ecx, [ebp - 0x144]
call fcn.004047ff
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
mov byte [ebp - 4], 3
call dword [eax + 4]
xor eax, eax
push eax
push eax
push eax
push eax
push 0x434f90
lea ecx, [ebp - 0x58c]
call fcn.0040633f
push 0x435f7c
push 0x434f90
lea ecx, [ebp - 0x58c]
mov byte [ebp - 4], 4
call fcn.00406370
test eax, eax
je 0x40818d
lea eax, [ebp - 0x570]
push eax
mov eax, dword [ebp - 0x56c]
add eax, 0x8c
cmp dword [ebp - 0x12c], 0x10
push eax
lea eax, [ebp - 0x564]
push eax
mov eax, dword [ebp - 0x140]
jae 0x408171
lea eax, [ebp - 0x140]
push ecx
mov ecx, esp
mov dword [ebp - 0x568], esp
push eax
call fcn.00406b9d
lea ecx, [ebp - 0x58c]
call fcn.00406be8
jmp 0x4081a4
mov ecx, dword [ebp - 0x56c]
push 0
push str.Error
push str.Hmmm__couldnt_connect_to_Dream_Aquarium
call fcn.00426a1f
lea ecx, [ebp - 0x58c]
mov byte [ebp - 4], 3
call fcn.0042e2e5
lea ecx, [ebp - 0x144]
jmp 0x4087f1
push str.delreg
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
je 0x407dfd
push str.setreg
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x40838f
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x560]
push eax
lea ecx, [ebp - 0x48]
call fcn.004047ff
lea eax, [ebp - 0x563]
push eax
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 5
mov byte [ebp - 0x560], 0
call fcn.004047ff
lea eax, [ebp - 0x564]
push eax
mov byte [ebp - 4], 6
mov byte [ebp - 0x563], 0
call fcn.00415169
pop ecx
push edi
lea ecx, [ebp - 0x564]
mov dword [ebp + 8], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea ecx, [ebp - 0x64]
call fcn.004047ff
cmp dword [ebp + 8], 0
mov byte [ebp - 4], 7
setne al
push eax
push 0x4348d3
call fcn.004048eb
test eax, eax
pop ecx
pop ecx
je 0x40836c
push 0x435f3c
lea ecx, [ebp - 0x128]
call fcn.00401dc9
test eax, eax
jne 0x4082b1
cmp dword [ebp - 0x4c], 0x10
mov ecx, dword [ebp - 0x60]
jae 0x40829c
lea ecx, [ebp - 0x60]
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x4082a8
lea eax, [ebp - 0x44]
push ecx
push eax
call fcn.00401409
pop ecx
pop ecx
push 0x435f38
lea ecx, [ebp - 0x128]
call fcn.00401dc9
test eax, eax
jne 0x4082f9
cmp dword [ebp - 0x4c], 0x10
mov eax, dword [ebp - 0x60]
jae 0x4082d1
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x30], 0x10
mov ecx, dword [ebp - 0x44]
jae 0x4082dd
lea ecx, [ebp - 0x44]
push eax
mov dword [ebp - 0x568], ecx
call fcn.004150a9
fstp dword [esp]
push dword [ebp - 0x568]
call fcn.0040146d
pop ecx
pop ecx
push 0x435f34
lea ecx, [ebp - 0x128]
call fcn.00401dc9
test eax, eax
jne 0x408340
cmp dword [ebp - 0x4c], 0x10
mov eax, dword [ebp - 0x60]
jae 0x408319
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x30], 0x10
mov ecx, dword [ebp - 0x44]
jae 0x408325
lea ecx, [ebp - 0x44]
push eax
mov dword [ebp - 0x568], ecx
call fcn.00415169
push eax
push dword [ebp - 0x568]
call fcn.0040144f
add esp, 0xc
push 0x435f30
lea ecx, [ebp - 0x128]
call fcn.00401dc9
test eax, eax
jne 0x408367
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x408360
lea eax, [ebp - 0x44]
push eax
call fcn.0040498f
pop ecx
call fcn.004013f5
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.00401fa8
push 0
push 1
lea ecx, [ebp - 0x128]
call fcn.00401fa8
lea ecx, [ebp - 0x48]
jmp 0x4087f1
push str.verupd
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x408446
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
call fcn.00415169
pop ecx
push edi
lea ecx, [ebp - 0x564]
mov dword [ebp + 8], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
call fcn.00415169
pop ecx
push edi
lea ecx, [ebp - 0x564]
mov dword [ebp - 0x568], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
call fcn.00415169
pop ecx
mov ecx, dword [0x445560]
cmp eax, ecx
jge 0x408416
push 0
push 0
push str.This_updater_package_is_for_an_older_version_than_you_current_have_installed
jmp 0x408436
cmp ecx, dword [ebp + 8]
jl 0x40842d
mov eax, dword [ebp - 0x568]
cmp dword [0x445550], eax
jge 0x407dfd
push 0
push 0
push str.This_updater_package_is_not_compatable_with_your_current_installed_version
mov ecx, dword [ebp - 0x56c]
call fcn.00426a1f
jmp 0x407dfd
push str.rmpack
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
je 0x407dfd
push str.lvpack
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x408477
and dword [0x4456e8], eax
jmp 0x407dfd
push str.runaft
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
je 0x4088b3
push str.runnow
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
je 0x4088b3
push str.rename
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x4085de
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.004077e9
pop ecx
pop ecx
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0xd
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004077e9
pop ecx
pop ecx
cmp dword [ebp - 0x68], 0x10
mov ecx, dword [ebp - 0x7c]
mov byte [ebp - 4], 0xe
jae 0x40850f
lea ecx, [ebp - 0x7c]
cmp dword [ebp - 0xbc], 0x10
mov eax, dword [ebp - 0xd0]
jae 0x408524
lea eax, [ebp - 0xd0]
push ecx
push 0x435e58
push eax
push 0x435e50
push ebx
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
push eax
call fcn.00402f88
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
cmp dword [ebp - 0x68], 0x10
jae 0x408563
lea ecx, [ebp - 0x7c]
cmp dword [ebp - 0xbc], 0x10
mov eax, dword [ebp - 0xd0]
jae 0x408578
lea eax, [ebp - 0xd0]
push ecx
push eax
call fcn.00407d69
test eax, eax
pop ecx
pop ecx
jne 0x4085c7
push str.couldnt_rename
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
mov ecx, dword [ebp - 0x56c]
add esp, 0xc
add ecx, 0x70
push str.Couldnt_rename
call fcn.004031ba
cmp dword [ebp - 0x68], 0x10
mov eax, dword [ebp - 0x7c]
jae 0x4085b8
lea eax, [ebp - 0x7c]
mov ecx, dword [ebp - 0x56c]
push eax
add ecx, 0x70
call fcn.0040319d
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.00401fa8
lea ecx, [ebp - 0xd4]
jmp 0x4087f1
push str.delete
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x4086c0
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x5e0]
push eax
call fcn.004077e9
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.00402d42
push 0
push 1
lea ecx, [ebp - 0x5e0]
mov byte [ebp - 4], 0
call fcn.00401fa8
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x408647
lea eax, [ebp - 0x28]
push eax
push 0x435e1c
push ebx
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
push eax
call fcn.00402f88
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [ebp - 0x14], 0x10
jae 0x408670
lea eax, [ebp - 0x28]
push eax
call fcn.00407d4b
test eax, eax
pop ecx
jne 0x407dfd
push str.couldnt_delete
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
mov ecx, dword [ebp - 0x56c]
add esp, 0xc
add ecx, 0x70
push str.Couldnt_delete
call fcn.004031ba
mov ecx, dword [ebp - 0x56c]
lea eax, [ebp - 0x564]
push eax
add ecx, 0x70
call fcn.0040319d
jmp 0x407dfd
push str.runcmd
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x4086f6
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
mov ecx, 0x443298
call fcn.004031ba
jmp 0x407dfd
push str.file__
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x408803
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.004077e9
pop ecx
pop ecx
cmp dword [ebp - 0x84], 0x10
mov eax, dword [ebp - 0x98]
mov byte [ebp - 4], 0x10
jae 0x408748
lea eax, [ebp - 0x98]
push eax
push str.downloading
push ebx
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
push eax
call fcn.00402f88
mov eax, dword [esi]
add esp, 0xc
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
call fcn.00415169
pop ecx
push eax
push str.len
push ebx
mov dword [ebp + 8], eax
call fcn.004027f5
pop ecx
pop ecx
mov ecx, eax
call fcn.00402a87
push eax
call fcn.00402f88
cmp dword [ebp - 0x84], 0x10
mov eax, dword [ebp - 0x98]
pop ecx
jae 0x4087b5
lea eax, [ebp - 0x98]
mov edx, dword [esi]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x56c]
mov ecx, dword [eax + 0xdc]
add eax, 0x8c
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp + 8]
mov ecx, esi
push dword [ebp - 0x568]
call dword [edx + 8]
test eax, eax
jne 0x408adf
lea ecx, [ebp - 0x9c]
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00401fa8
jmp 0x407dfd
push str.mkdir_
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x408a7e
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
push str.mkdir
push ebx
call fcn.004027f5
pop ecx
pop ecx
push eax
call fcn.004027f5
push eax
call fcn.00402f88
add esp, 0xc
push 0
lea eax, [ebp - 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x407dfd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x407dfd
push 0
push str.Error_
push str.Couldnt_create_needed_directory
mov ecx, dword [ebp - 0x56c]
call fcn.00426a1f
xor esi, esi
inc esi
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401fa8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, esi
call fcn.004130de
pop edi
pop esi
pop ebx
leave
ret 4
push 0
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0xf4], 0xf
call fcn.00401c78
push 0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa0], 0xf
call fcn.00401c78
push 0
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xd8], 0xf
call fcn.00401c78
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0xa
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x5c4]
push eax
call fcn.004077e9
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
call fcn.00402d42
push 0
push 1
lea ecx, [ebp - 0x5c4]
mov byte [ebp - 4], 0xa
call fcn.00401fa8
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004031ba
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x564]
push ecx
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x5a8]
push eax
call fcn.004077e9
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xc
call fcn.00402d42
push 0
push 1
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xa
call fcn.00401fa8
push str.runaft
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
jne 0x408a04
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x10c]
push eax
mov ecx, 0x4431e8
call fcn.00402d42
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xb8]
push eax
mov ecx, 0x443204
call fcn.00402d42
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xf0]
push eax
mov ecx, 0x443220
call fcn.00402d42
jmp 0x408a55
cmp dword [ebp - 0xd8], 0x10
mov edx, dword [ebp - 0xec]
jae 0x408a19
lea edx, [ebp - 0xec]
cmp dword [ebp - 0xa0], 0x10
mov ecx, dword [ebp - 0xb4]
jae 0x408a2e
lea ecx, [ebp - 0xb4]
cmp dword [ebp - 0xf4], 0x10
mov eax, dword [ebp - 0x108]
jae 0x408a43
lea eax, [ebp - 0x108]
push 1
push edx
push ecx
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
push 1
lea ecx, [ebp - 0xf0]
call fcn.00401fa8
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00401fa8
lea ecx, [ebp - 0x10c]
jmp 0x4087f1
push str.exit0_
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
je 0x408b21
push str.exit1_
lea ecx, [ebp - 0x2c]
call fcn.00401dc9
test eax, eax
je 0x408b3c
cmp dword [ebp + 8], 6
jne 0x408b55
push str.unknown_command
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [ebp - 0x14], 0x10
jae 0x408ad2
lea eax, [ebp - 0x28]
push 0
push str.Unknown_command
push eax
jmp 0x40887e
push 2
pop esi
push str.ERROR_Couldnt_create_file___does_dir_not_exist_
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
mov ecx, dword [ebp - 0x56c]
add esp, 0xc
push 0
push str.Error
push str.Couldnt_create_file
call fcn.00426a1f
push 0
push 1
lea ecx, [ebp - 0x9c]
call fcn.00401fa8
jmp 0x40888c
push str.exit_0
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
add esp, 0xc
xor esi, esi
jmp 0x40888c
push str.exit_1
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
add esp, 0xc
jmp 0x408889
push str.eof_
push ebx
call fcn.004027f5
push eax
call fcn.00402f88
add esp, 0xc
push 2
pop esi
jmp 0x40888c