Function at 0x406430
Capabilities:
Check for time delay via gettickcount
Create directory

Disassembly:
mov eax, 0x2128
call fcn.00457d20
push ebp
push esi
mov ebp, ecx
push 0x493b68
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [esp + 0x2134]
test esi, esi
jl 0x4064b8
mov eax, dword [ebp + 0x33e8]
test eax, eax
je 0x4064b8
mov ecx, dword [ebp + 0x33ec]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp esi, edx
jae 0x4064b8
mov eax, dword [esp + 0x213c]
test eax, eax
jne 0x406498
mov edx, dword [ebp + 0x33e8]
lea ecx, [esi + esi*2]
shl ecx, 6
lea eax, [edx + ecx + 0x7c]
jmp 0x4064ab
mov eax, dword [ebp + 0x33e8]
lea edx, [esi + esi*2]
shl edx, 6
lea eax, [eax + edx + 0x80]
mov ecx, dword [esp + 0x2138]
mov edx, dword [eax]
add edx, ecx
mov dword [eax], edx
mov eax, dword [0x49e690]
test eax, eax
jne 0x4064d7
push 0x493b68
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebp
add esp, 0x2128
ret 0xc
mov al, byte [0x493b5c]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
test al, 1
jne 0x4064f4
or al, 1
mov byte [0x493b5c], al
call esi
mov dword [0x493b58], eax
push ebx
push edi
call esi
mov ecx, dword [0x49e694]
mov esi, dword [0x493b58]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea edx, [ecx + ecx*4]
shl edx, 5
add edx, esi
cmp eax, edx
jbe 0x406803
mov dword [0x493b58], eax
mov al, byte [0x493b50]
mov byte [esp + 0x28], al
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x29]
rep stosd dword es:[edi], eax
push 0x49e278
lea ecx, [esp + 0x2c]
push 0x48d48c
push ecx
call fcn.00457c43
add esp, 0xc
lea edx, [esp + 0x28]
push 0
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov al, byte [0x493b50]
mov ecx, 0x400
mov byte [esp + 0x1134], al
xor eax, eax
lea edi, [esp + 0x1135]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edx, dword [esp + 0x1e]
mov eax, dword [esp + 0x1a]
mov ecx, dword [esp + 0x18]
and edx, 0xffff
and eax, 0xffff
push edx
and ecx, 0xffff
push eax
push ecx
lea edx, [esp + 0x1140]
push str._04d_02d_02d
push edx
call fcn.00457c43
lea eax, [esp + 0x1148]
lea ecx, [esp + 0x3c]
push eax
push 0x49e278
push str._sdata_s.txt
push ecx
call fcn.00457c43
lea edx, [esp + 0x4c]
push 0x48d248
push edx
call fcn.00458414
mov edi, eax
add esp, 0x2c
test edi, edi
je 0x4066de
push 2
push 0
push edi
call fcn.0045832a
push edi
call fcn.004581a7
push 0
push 0
push edi
mov ebx, eax
call fcn.0045832a
add esp, 0x1c
test ebx, ebx
jle 0x4066d5
lea eax, [ebx + 1]
push eax
call fcn.0046e679
add esp, 4
mov esi, eax
test esi, esi
mov dword [esp + 0x10], esi
push edi
je 0x4066d6
push 1
push ebx
push esi
call fcn.004586df
push edi
call fcn.004580c8
mov byte [esi + ebx], 0
mov al, byte [esi]
add esp, 0x14
mov ebx, esi
test al, al
je 0x4066cd
jmp 0x406656
mov esi, dword [esp + 0x10]
push 0x48d4d0
push ebx
call fcn.00457ca0
mov edi, eax
add esp, 8
test edi, edi
je 0x4066cd
mov byte [edi], 0
inc edi
push 0x48d4d0
push edi
call fcn.00457ca0
mov esi, eax
add esp, 8
test esi, esi
je 0x4066c9
mov byte [esi], 0
inc esi
push 0x48d240
push esi
call fcn.00457ca0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x4066c9
push esi
mov byte [eax], 0
call fcn.004584b2
add esp, 4
push eax
push edi
call fcn.004584b2
add esp, 4
mov ecx, ebp
push eax
push ebx
call fcn.004062c0
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 2]
lea ebx, [ecx + 2]
test al, al
jne 0x406652
mov esi, dword [esp + 0x10]
push esi
call fcn.0046e6a2
jmp 0x4066db
push edi
call fcn.004580c8
add esp, 4
lea edx, [esp + 0x28]
push 0x48d4cc
push edx
call fcn.00458414
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x10], esi
je 0x406803
mov al, byte [0x493b50]
mov ecx, 0x400
mov byte [esp + 0x130], al
xor eax, eax
lea edi, [esp + 0x131]
push str.username_treceived_byte__tsent_byte__r_n
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x134]
push ecx
call fcn.00457c43
lea edi, [esp + 0x138]
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
lea edx, [esp + 0x140]
push ecx
push edx
call fcn.004585a6
add esp, 0x18
xor ebx, ebx
xor esi, esi
mov eax, dword [ebp + 0x33e8]
test eax, eax
je 0x4067f6
mov ecx, dword [ebp + 0x33ec]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jae 0x4067f6
mov ecx, dword [ebp + 0x33e8]
mov edx, dword [esi + ecx + 0x80]
lea eax, [esi + ecx]
push edx
lea edx, [esp + 0x134]
mov ecx, dword [eax + 0x7c]
push ecx
push eax
push str._s_t_ld_t_ld_r_n
push edx
call fcn.00457c43
mov eax, dword [esp + 0x24]
lea edi, [esp + 0x144]
push eax
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x150]
push ecx
call fcn.004585a6
mov edx, dword [ebp + 0x33e8]
xor eax, eax
add esp, 0x24
inc ebx
mov dword [esi + edx + 0x7c], eax
mov ecx, dword [ebp + 0x33e8]
mov dword [esi + ecx + 0x80], eax
add esi, 0xc0
jmp 0x406755
mov edx, dword [esp + 0x10]
push edx
call fcn.004580c8
add esp, 4
push 0x493b68
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x2128
ret 0xc