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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451f4b
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x45f008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40], ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea esi, [eax*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
xor edi, esi
shl edi, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, edi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebx]
mov edi, dword [ebp - 0x34]
mov ecx, edi
mov dword [ebx + 4], 0
and ecx, 0xf
mov byte [eax], 0
mov eax, edi
shr eax, 4
lea edx, [ecx + 0x30]
cmp ecx, 0xa
jb 0x43aac7
lea edx, [ecx + 0x37]
mov ecx, eax
mov byte [ebp - 0x20], dl
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43aadc
add ecx, 0x30
jmp 0x43aadf
add ecx, 0x37
mov byte [ebp - 0x1f], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43aaf4
add ecx, 0x30
jmp 0x43aaf7
add ecx, 0x37
mov byte [ebp - 0x1e], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43ab0c
add ecx, 0x30
jmp 0x43ab0f
add ecx, 0x37
mov byte [ebp - 0x1d], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43ab24
add ecx, 0x30
jmp 0x43ab27
add ecx, 0x37
mov byte [ebp - 0x1c], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43ab3c
add ecx, 0x30
jmp 0x43ab3f
add ecx, 0x37
mov byte [ebp - 0x1b], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43ab54
add ecx, 0x30
jmp 0x43ab57
add ecx, 0x37
mov byte [ebp - 0x1a], cl
cmp eax, 0xa
jae 0x43ab64
add eax, 0x30
jmp 0x43ab67
add eax, 0x37
xor esi, esi
mov byte [ebp - 0x19], al
mov byte [ebp - 0x18], 0
test dl, dl
je 0x43ab7c
inc esi
cmp byte [ebp + esi - 0x20], 0
jne 0x43ab74
push esi
mov ecx, ebx
call fcn.00438a20
mov ecx, dword [ebx]
lea edx, [ebp - 0x20]
add ecx, dword [ebx + 4]
nop dword [eax]
mov al, byte [edx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
lea edx, [edx + 1]
test al, al
jne 0x43ab90
add dword [ebx + 4], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 2
mov ecx, 1
cmove eax, ecx
xor ebx, ebx
add edi, eax
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x40]
cmp word [edi], bx
je 0x43abca
inc ebx
cmp word [edi + ebx*2], 0
jne 0x43abc2
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004213b4
add esp, 4
mov dword [ebp - 0x2c], ebx
lea ecx, [ebx*2 + 2]
mov dword [ebp - 0x28], ebx
mov esi, eax
mov dword [ebp - 0x30], esi
push ecx
push edi
push esi
call fcn.0042e540
add esp, 0xc
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebp - 4], 0
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
cmp byte [eax], dl
je 0x43acab
nop dword [eax]
inc edx
cmp byte [edx + eax], 0
jne 0x43ac20
mov dword [ebp - 0x44], edx
test edx, edx
je 0x43acab
lea ecx, [edx + ebx]
mov eax, ecx
shr eax, 1
add eax, 0x10
add eax, ecx
and eax, 0xfffffff0
dec eax
cmp eax, ebx
jb 0x43ac49
cmp eax, 0x3ffffffe
jbe 0x43ac4e
mov eax, 0x3ffffffe
cmp eax, ebx
jbe 0x43ade0
mov ecx, eax
sub ecx, ebx
cmp ecx, edx
jb 0x43ade0
xor ecx, ecx
lea edi, [eax - 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004213b4
add esp, 4
lea ecx, [ebx*2 + 2]
mov esi, eax
push ecx
push dword [ebp - 0x30]
push esi
call fcn.0042e540
add esp, 0xc
push dword [ebp - 0x30]
call fcn.00421279
mov edx, dword [ebp - 0x44]
add esp, 4
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], edi
xor ecx, ecx
lea edi, [esi + ebx*2]
test edx, edx
je 0x43acc4
movzx eax, byte [ecx + eax]
mov word [edi + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x38]
cmp ecx, edx
jb 0x43acb4
xor eax, eax
mov dword [ebp - 0x78], 0
mov word [edi + edx*2], ax
xorps xmm0, xmm0
lea eax, [edx + ebx]
movlpd qword [ebp - 0x80], xmm0
push 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov word [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
call fcn.004213b4
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 0
add esp, 4
mov dword [ebp - 0x50], 3
mov word [eax], cx
push ecx
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.0043c180
mov byte [ebp - 4], 0
mov bl, al
push dword [ebp - 0x58]
call fcn.00421279
add esp, 4
test bl, bl
je 0x43ad66
push 0xb7
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x43adbc
cmp byte [0x460541], 0
jne 0x43ad9d
mov edx, esi
lea ecx, [ebp - 0x8c]
call fcn.00437ec0
push 0
push dword [eax]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push dword [ebp - 0x8c]
mov esi, eax
call fcn.00421279
add esp, 4
test esi, esi
mov esi, dword [ebp - 0x30]
jmp 0x43ada8
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x43ae11
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x43adbc
cmp eax, 0xb7
jne 0x43adf5
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.00421279
mov edx, dword [ebp - 0x3c]
add esp, 4
inc edx
mov dword [ebp - 0x3c], edx
cmp edx, 0x64
jae 0x43adfe
mov ebx, dword [ebp - 0x24]
jmp 0x43aaa3
push 0x45c3e8
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x13329ac
push eax
call fcn.00423cb0
push esi
call fcn.00421279
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [eax + 4], 0
mov eax, dword [eax]
mov byte [eax], 0
xor al, al
jmp 0x43ae1c
push esi
call fcn.00421279
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00421268
mov esp, ebp
pop ebp
ret 8