Function at 0x4123b6
Capabilities:
Check for time delay via gettickcount
Get hostname

Disassembly:
mov eax, 0x428697
call sub.MSVCRT.dll__EH_prolog
sub esp, 0x64
mov eax, dword [0x43e448]
and dword [ebp - 0x14], 0
cmp byte [eax + 0x71c], 0
push ebx
push esi
push edi
je 0x4124b3
lea ecx, [ebp - 0x30]
call fcn.0040bb1b
and byte [ebp + 0xf], 0
push 1
pop ebx
push 0x400
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], ebx
call fcn.0040c0db
mov esi, eax
call fcn.00411aac
lea ecx, [ebp - 0x30]
call fcn.0040c135
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
mov edi, str.phat
jne 0x41242a
push edi
push esi
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
movsx eax, byte [esi]
push 0x41
pop ecx
cmp eax, ecx
jne 0x412437
mov byte [ebp + 0xf], bl
inc ecx
cmp ecx, 0x5b
jl 0x412430
push 0x61
pop ecx
cmp eax, ecx
jne 0x412447
mov byte [ebp + 0xf], bl
inc ecx
cmp ecx, 0x7b
jl 0x412440
cmp byte [ebp + 0xf], 0
jne 0x41245c
push edi
push esi
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
call sub.MSVCRT.dll_rand
push 0xa
pop ecx
cdq
idiv ecx
lea ecx, [ebp - 0x30]
push edx
call fcn.0040bdb1
call sub.MSVCRT.dll_rand
push 0xa
pop ecx
cdq
idiv ecx
lea ecx, [ebp - 0x30]
push edx
call fcn.0040bdb1
call sub.MSVCRT.dll_rand
push 0xa
pop ecx
cdq
idiv ecx
lea ecx, [ebp - 0x30]
push edx
call fcn.0040bdb1
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x30]
push eax
call fcn.0040bbbf
mov dword [ebp - 0x14], ebx
and byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
jmp 0x41264e
cmp byte [eax + 0x774], 0
je 0x4125ac
lea ecx, [ebp - 0x48]
call fcn.0040bb1b
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call sub.MSVCRT.dll_srand
call sub.MSVCRT.dll_rand
push 0x1a
cdq
pop ecx
idiv ecx
push 9
pop ecx
mov esi, str.0123456789abcdefghijklmnopqrstuvwxyz
lea edi, [ebp - 0x70]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ebx, edx
add bl, 0x61
call sub.MSVCRT.dll_rand
push 0x24
cdq
pop esi
mov ecx, esi
idiv ecx
mov al, byte [ebp + edx - 0x70]
mov byte [ebp - 0x10], al
call sub.MSVCRT.dll_rand
cdq
mov ecx, esi
idiv ecx
mov al, byte [ebp + edx - 0x70]
mov byte [ebp - 0xf], al
call sub.MSVCRT.dll_rand
cdq
mov ecx, esi
idiv ecx
mov al, byte [ebp + edx - 0x70]
mov byte [ebp - 0xe], al
call sub.MSVCRT.dll_rand
cdq
mov ecx, esi
idiv ecx
mov al, byte [ebp + edx - 0x70]
mov byte [ebp - 0xd], al
call sub.MSVCRT.dll_rand
cdq
mov ecx, esi
idiv ecx
mov al, byte [ebp + edx - 0x70]
mov byte [ebp + 0xf], al
call sub.MSVCRT.dll_rand
cdq
idiv esi
movsx eax, byte [ebp + edx - 0x70]
push eax
movsx eax, byte [ebp + 0xf]
push eax
movsx eax, byte [ebp - 0xd]
push eax
movsx eax, byte [ebp - 0xe]
push eax
movsx eax, byte [ebp - 0xf]
push eax
movsx eax, byte [ebp - 0x10]
push eax
movsx eax, bl
push eax
lea eax, [ebp - 0x48]
push str._c_c_c_c_c_c_c
push eax
call fcn.0040bf67
mov ecx, dword [ebp + 8]
add esp, 0x28
lea eax, [ebp - 0x48]
push eax
call fcn.0040bbbf
and byte [ebp - 4], 0
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0x48]
jmp 0x41264e
lea ecx, [ebp - 0x48]
call fcn.0040bb1b
push 3
pop ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call sub.MSVCRT.dll_srand
pop ecx
call sub.MSVCRT.dll_rand
cdq
mov ecx, ebx
idiv ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0x48]
mov esi, edx
add esi, 4
call fcn.0040bca8
test esi, esi
jle 0x412634
lea ecx, [ebp - 0x30]
call fcn.0040bb1b
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.0040c5c1
call sub.MSVCRT.dll_rand
push 0x1a
pop ecx
cdq
idiv ecx
lea ecx, [ebp - 0x30]
add edx, 0x61
push edx
call fcn.0040c637
push eax
lea eax, [ebp - 0x48]
push str._s_c
push eax
call fcn.0040bf67
add esp, 0x10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], bl
call fcn.0040bc75
dec esi
jne 0x4125e5
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x48]
push eax
call fcn.0040bbbf
and byte [ebp - 4], 0
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0x48]
call fcn.0040bc75
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret