Function at 0x40462a
Capabilities:
Check for time delay via gettickcount
Set current directory

Disassembly:
push ebp
mov ecx, 0x45c2c0
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
push 0
call fcn.0040392e
push ecx
push ecx
push str.___v
push dword [0x465aec]
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x40467a
sub esp, 0xc
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push edx
push edx
push 0x20
push str.Small_HTTP_Server_ver._3.06.24_n
push eax
call fcn.00403625
add esp, 0x14
jmp 0x40491a
push eax
push eax
push str.___h
push dword [0x465aec]
call fcn.004034b5
add esp, 0x10
test eax, eax
jne 0x4046ac
push eax
push eax
push 0x439473
push dword [0x465aec]
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x4046bf
cmp byte [eax + 4], 0
jne 0x4046bf
mov byte [eax], 0
call fcn.0040451f
jmp 0x40491a
push eax
push eax
push str.___c
push dword [0x465aec]
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x404757
sub esp, 0xc
add eax, 5
mov ebx, 0x20
push eax
call fcn.00404b59
add esp, 0x10
cmp byte [eax], 0x22
mov edi, eax
jne 0x4046f9
inc edi
mov ebx, 0x22
push eax
push eax
push ebx
push edi
call fcn.004033da
add esp, 0x10
test eax, eax
mov esi, eax
je 0x40470e
mov byte [eax], 0
sub esp, 0xc
push edi
call fcn.00411327
add esp, 0x10
cmp byte [edi + 1], 0x3a
je 0x4048ba
cmp byte [edi + 2], 0x3a
jne 0x404742
push eax
push eax
push 0x5c
push edi
call fcn.00403472
add esp, 0x10
test eax, eax
mov dword [ebp - 0x3c], eax
jne 0x4048ba
test esi, esi
je 0x404748
mov byte [esi], bl
sub esp, 0xc
push str.shs_lang.cfg
call fcn.00411f3a
jmp 0x40479f
mov esi, dword [0x465aec]
push eax
push eax
push 0x439485
push esi
call fcn.004034d9
add esp, 0x10
test eax, eax
mov edi, eax
je 0x4047a2
xor eax, eax
cmp byte [esi], 0x22
mov ebx, dword [edi + 1]
mov dword [edi + 1], 0x676663
sete al
sub esp, 0xc
add esi, eax
push esi
call fcn.00411327
mov dword [esp], str.shs_lang.cfg
call fcn.00411f3a
mov dword [edi + 1], ebx
add esp, 0x10
sub esp, 0xc
push dword [0x465aec]
call fcn.004114cf
call fcn.0040d743
add esp, 0x10
test eax, eax
jle 0x40491a
mov eax, dword [0x4657b8]
test eax, eax
je 0x4047fb
push ebx
push ebx
push 1
push eax
call fcn.00403579
test eax, eax
mov ebx, eax
pop esi
pop edi
jns 0x4047ee
sub esp, 0xc
push dword [0x4657b8]
call fcn.004035ad
mov ebx, eax
add esp, 0xc
sub esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
mov eax, dword [sym.imp.USER32.dll_GetMessageA]
lea esi, [ebp - 0x34]
mov dword [ebp - 0x3c], eax
push 0
push 0
push 0
push esi
call dword [ebp - 0x3c]
test eax, eax
je 0x4048b5
mov eax, dword [0x472ce4]
test eax, eax
je 0x404831
push edi
push edi
push esi
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
pop edx
pop ecx
jne 0x40486f
mov eax, dword [0x472ce0]
test eax, eax
je 0x4048d8
push edi
push edi
push esi
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
pop edx
pop ecx
jne 0x404900
cmp dword [0x472ce0], 0
je 0x4048d8
sub esp, 0xc
push esi
call dword [sym.imp.USER32.dll_TranslateMessage]
push esi
call dword [sym.imp.USER32.dll_DispatchMessageA]
add esp, 0xc
test byte [0x465794], 1
je 0x404806
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov edx, ebx
sub edx, eax
cmp edx, 0x1000
jbe 0x404806
push edx
push edx
push 0x42a260
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
test eax, eax
pop ecx
pop ebx
je 0x4048ac
and dword [0x465794], 0xfffffffe
call edi
mov ebx, eax
jmp 0x404806
call fcn.0040434d
mov eax, dword [ebp - 0x3c]
sub esp, 0xc
mov byte [eax], 0
push edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov byte [eax], 0x5c
jmp 0x404742
cmp dword [ebp - 0x30], 0x203
jne 0x40485b
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0x203
push dword [0x465770]
call fcn.0040221c
jmp 0x404806
cmp dword [ebp - 0x30], 0x100
jne 0x404806
mov eax, dword [0x472ce0]
mov dword [ebp - 0x34], eax
jmp 0x404852
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret