Function at 0x403535
Capabilities:
Create thread
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x4150f0]
push edi
push 0x41
pop ecx
mov dword [ebp - 4], eax
xor eax, eax
lea edi, [ebp - 0x108]
push 0xff
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x108]
push eax
push 0x3ed
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
cmp byte [ebp - 0x108], 0
jne 0x403598
push 0x10
push 0x411240
push 0x4116bc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
inc eax
jmp 0x4037ae
lea eax, [ebp - 0x108]
push eax
call fcn.00404c4a
test eax, eax
pop ecx
jne 0x4035ca
push 0x10
push 0x411240
push 0x4116a0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 2
pop eax
jmp 0x4037ae
push ebx
push esi
push 3
xor edi, edi
mov esi, str.shdata
pop ebx
push dword [edi*4 + 0x4150a8]
lea eax, [ebp - 0x108]
push esi
push eax
lea eax, [ebp - 0x234]
push str._s_s_s
push eax
call fcn.0040627d
lea eax, [ebp - 0x234]
push eax
call fcn.00404c30
add esp, 0x18
test eax, eax
je 0x40360e
inc edi
cmp edi, ebx
jl 0x4035d6
cmp edi, ebx
jl 0x403655
lea eax, [ebp - 0x108]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40361b
sub eax, edx
push esi
lea eax, [ebp + eax - 0x108]
push 0x411690
push eax
call fcn.0040627d
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x411684
push eax
call fcn.00404be1
test eax, eax
pop ecx
pop ecx
jne 0x4036b2
push 4
jmp 0x4036cb
xor esi, esi
push dword [esi*4 + 0x4150a8]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x234]
push str._s_s
push eax
call fcn.0040627d
lea eax, [ebp - 0x234]
push eax
call fcn.00404c30
add esp, 0x14
test eax, eax
je 0x40368e
inc esi
cmp esi, ebx
jl 0x403657
cmp esi, ebx
jge 0x40363a
push 0x10
push 0x411240
push 0x411660
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, ebx
jmp 0x4037ac
lea eax, [ebp - 0x108]
push 0x411654
push eax
call fcn.00404be1
test eax, eax
pop ecx
pop ecx
jne 0x4036ec
push 5
pop esi
push 0x10
push 0x411240
push 0x411630
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, esi
jmp 0x4037ac
call fcn.004031fc
cmp eax, 2
jne 0x403730
push 0x32
pop esi
dec esi
call fcn.00403245
test al, al
jne 0x403730
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
test esi, esi
jne 0x4036f9
push 0x10
push 0x411240
push 0x4115e8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 6
pop eax
jmp 0x4037ac
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0x411375
push 0x3eb
push dword [0x4165a8]
call esi
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0xffffffffffffffff
call fcn.0040f010
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
pop ecx
push 0
push 1
push dword [ebp + 8]
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
push 0
push 0x3ee
push dword [ebp + 8]
call edi
push eax
call ebx
push 0x4115e0
push 1
push dword [ebp + 8]
call esi
lea eax, [ebp - 0x238]
push eax
xor eax, eax
push eax
push dword [ebp + 8]
push 0x405b5e
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
pop edi
call fcn.004068c2
leave
ret