Function at 0x401000
Capabilities:
Accept command line arguments
Allocate thread local storage
Delete directory
Get common file path

Disassembly:
push 0x100
push 0
push 0x40e3d8
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x40e3dc], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x40e3d8], eax
call section..text
call fcn.0040ab10
call fcn.0040a9bc
call fcn.00408ee3
call fcn.00408a13
call fcn.004083c0
call fcn.00408049
call fcn.00407e90
call fcn.00407e72
call fcn.00407de9
call fcn.00407551
call fcn.00406580
call fcn.00405791
call fcn.00405529
call fcn.00404bf5
call fcn.0040486d
push dword [0x40e4d0]
call fcn.00405548
push 7
push 0x40d278
lea eax, [0x40e4d0]
push eax
push 8
call fcn.00405497
push 0x40e4c8
push 0x40d280
push 7
push 0x401
push 8
call fcn.0040a8bd
mov edx, str.Continue_
lea ecx, [0x40e3f0]
call fcn.00404068
mov edx, str.Error_
lea ecx, [0x40e4b4]
call fcn.00404068
mov edx, str.Can_not_create_some_of_your_include_files.
lea ecx, [0x40e41c]
call fcn.00404068
mov edx, str.Can_not_allocate_the_memory.
lea ecx, [0x40e460]
call fcn.00404068
mov edx, str.Wrong_password.
lea ecx, [0x40e488]
call fcn.00404068
mov edx, 0x40d025
lea ecx, [0x40e464]
call fcn.00404068
mov edx, str.The_file
lea ecx, [0x40e3f4]
call fcn.00404068
mov edx, str._already_exists_in_the_current_directory._Overwrite_
lea ecx, [0x40e408]
call fcn.00404068
mov edx, str.An_unknown_error_occured._The_program_will_be_terminated.
lea ecx, [0x40e45c]
call fcn.00404068
mov edx, str.This_program_is_not_supported_on_your_operating_system.
lea ecx, [0x40e49c]
call fcn.00404068
mov edx, str.Choose_a_location_to_save_the_files.
lea ecx, [0x40e484]
call fcn.00404068
mov edx, str.Password
lea ecx, [0x40e4a0]
call fcn.00404068
mov edx, str.Please_enter_the_password.
lea ecx, [0x40e434]
call fcn.00404068
call fcn.0040633f
mov ebx, eax
cmp ebx, 0x32
jge 0x4011ca
push 0x10
push dword [0x40e49c]
push dword [0x40e4b4]
call fcn.004048a4
jmp 0x401fd0
lea eax, [0x403274]
push eax
call fcn.00405330
call fcn.00404d33
mov dword [0x40e490], eax
push 0
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x40e440], eax
mov edx, dword [0x40e7a8]
push edx
push edx
call sub.KERNEL32.dll_GetCommandLineA
push eax
call fcn.00407ec0
push 0x40e48c
call fcn.0040ab90
push dword [0x40e48c]
call sub.SHLWAPI.DLL_PathRemoveArgsA
mov ebx, dword [0x40e490]
and ebx, ebx
jle 0x401333
mov dword [0x40e420], 0
mov ebx, dword [0x40e490]
dec ebx
cmp ebx, dword [0x40e420]
jl 0x4012b6
mov edx, dword [0x40e7a8]
push edx
push edx
push dword [0x40e420]
call fcn.00404ce5
push 0x40e478
call fcn.0040ab90
push dword [0x40e478]
mov edx, str._b2epass
pop ecx
call fcn.0040ac10
je 0x40127a
mov dword [0x40e414], 1
jmp 0x4012aa
mov ebx, dword [0x40e414]
cmp ebx, 1
jne 0x4012aa
mov edx, dword [0x40e478]
push dword [0x40e7a8]
call fcn.0040ac40
push 0x40e4a8
call fcn.0040ab90
mov dword [0x40e414], 0
inc dword [0x40e420]
jno 0x40122f
mov edx, dword [0x40e7a8]
push edx
push edx
mov edx, dword [0x40e7a8]
push edx
push edx
push dword [0x40e7a8]
call sub.KERNEL32.dll_GetCommandLineA
push eax
call fcn.00407ec0
inc dword [0x40e7a8]
mov edx, dword [0x40d338]
add dword [esp], edx
call sub.SHLWAPI.DLL_PathGetArgsA
pop dword [0x40e7a8]
push eax
call fcn.00407ec0
push 0x40e438
call fcn.0040ab90
mov edx, dword [0x40e48c]
push dword [0x40e7a8]
call fcn.0040ac40
mov edx, 0x40d01f
call fcn.0040ac40
mov edx, dword [0x40e438]
call fcn.0040ac40
push 0x40e438
call fcn.0040ab90
jmp 0x40134e
mov edx, dword [0x40e48c]
push dword [0x40e7a8]
call fcn.0040ac40
push 0x40e438
call fcn.0040ab90
push 0x40d085
push dword [0x40e440]
jmp loc.00410000
push 0
call 0x401fef
call fcn.0040ab60
push dword [0x40e3d8]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.00405480
call fcn.00405801
call fcn.00406569
call fcn.004075df
call fcn.00407ddd
call fcn.004082ea
call fcn.004083b0
call fcn.00408dde
call fcn.00407eb0
ret