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

Disassembly:
push ebp
mov ecx, 0x4644a0
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
push 0
call fcn.0040396c
push esi
push esi
push str.___v
push dword [0x46dccc]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x4047cc
sub esp, 0xc
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push ecx
push ecx
push 0x20
push str.Small_HTTP_Server_ver._3.06.30_n
push eax
call fcn.00403629
add esp, 0x14
jmp 0x404a60
push edx
push edx
push str.___h
push dword [0x46dccc]
call fcn.004034b9
add esp, 0x10
test eax, eax
jne 0x4047fe
push eax
push eax
push 0x43f62b
push dword [0x46dccc]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x404811
cmp byte [eax + 4], 0
jne 0x404811
mov byte [eax], 0
call fcn.0040461e
jmp 0x404a60
push eax
push eax
push str.___c
push dword [0x46dccc]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x4048d5
sub esp, 0xc
add eax, 5
mov ebx, 0x20
push eax
call fcn.00404cfd
add esp, 0x10
cmp byte [eax], 0x22
mov edi, eax
jne 0x40484f
inc edi
mov ebx, 0x22
push eax
push eax
push ebx
push edi
call fcn.004033de
add esp, 0x10
mov esi, eax
test eax, eax
je 0x404864
mov byte [eax], 0
sub esp, 0xc
push edi
call fcn.00412c3f
add esp, 0x10
cmp byte [edi + 1], 0x3a
je 0x404890
cmp byte [edi + 2], 0x3a
jne 0x4048a9
push eax
push eax
push 0x5c
push edi
call fcn.00403476
add esp, 0x10
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x4048a9
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
test esi, esi
je 0x4048af
mov byte [esi], bl
sub esp, 0xc
push str.c:_shttps_shs_lang.cfg
call fcn.0041383e
add esp, 0x10
test eax, eax
jns 0x404938
sub esp, 0xc
push str.shs_lang.cfg
call fcn.0041383e
add esp, 0x10
jmp 0x404938
mov edx, dword [0x46dccc]
push eax
push eax
push 0x43f65a
push edx
mov dword [ebp - 0x3c], edx
call fcn.004034dd
add esp, 0x10
mov esi, eax
test eax, eax
je 0x404938
mov edx, dword [ebp - 0x3c]
cmp byte [edx], 0x22
jne 0x4048fd
inc edx
sub esp, 0xc
mov edi, dword [esi + 1]
mov dword [esi + 1], 0x676663
push edx
mov ebx, edi
call fcn.00412c3f
mov dword [esp], str.c:_shttps_shs_lang.cfg
call fcn.0041383e
add esp, 0x10
test eax, eax
jns 0x404935
sub esp, 0xc
push str.shs_lang.cfg
call fcn.0041383e
add esp, 0x10
mov dword [esi + 1], edi
sub esp, 0xc
push dword [0x46dccc]
call fcn.00412df0
call fcn.0040e699
add esp, 0x10
test eax, eax
jle 0x404a60
mov eax, dword [0x46d99c]
test eax, eax
je 0x404991
push ebx
push ebx
push 1
push eax
call fcn.0040357d
pop esi
mov ebx, eax
pop edi
test eax, eax
jns 0x404984
sub esp, 0xc
push dword [0x46d99c]
call fcn.004035b1
mov ebx, eax
add esp, 0xc
sub esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
lea esi, [ebp - 0x34]
push 0
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x404a5b
mov eax, dword [0x47ab20]
test eax, eax
jne 0x4049d3
cmp dword [ebp - 0x30], 0x203
jne 0x4049fd
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0x203
push dword [0x46d950]
call fcn.004022e7
jmp 0x404991
push edi
push edi
push esi
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
pop edx
pop ecx
test eax, eax
je 0x4049f4
cmp dword [ebp - 0x30], 0x100
jne 0x404991
mov eax, dword [0x47ab20]
mov dword [ebp - 0x34], eax
cmp dword [0x47ab20], 0
je 0x4049b2
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 [0x46d974], 1
je 0x404991
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edx, ebx
sub edx, eax
cmp edx, 0x1000
jbe 0x404991
push eax
push eax
push 0x42e260
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
pop edx
pop ecx
test eax, eax
je 0x404a52
and dword [0x46d974], 0xfffffffe
call esi
mov ebx, eax
jmp 0x404991
call fcn.00404403
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret