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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44cc9b
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x45a008]
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 0x435837
lea edx, [ecx + 0x37]
mov ecx, eax
mov byte [ebp - 0x20], dl
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43584c
add ecx, 0x30
jmp 0x43584f
add ecx, 0x37
mov byte [ebp - 0x1f], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x435864
add ecx, 0x30
jmp 0x435867
add ecx, 0x37
mov byte [ebp - 0x1e], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x43587c
add ecx, 0x30
jmp 0x43587f
add ecx, 0x37
mov byte [ebp - 0x1d], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x435894
add ecx, 0x30
jmp 0x435897
add ecx, 0x37
mov byte [ebp - 0x1c], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x4358ac
add ecx, 0x30
jmp 0x4358af
add ecx, 0x37
mov byte [ebp - 0x1b], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x4358c4
add ecx, 0x30
jmp 0x4358c7
add ecx, 0x37
mov byte [ebp - 0x1a], cl
cmp eax, 0xa
jae 0x4358d4
add eax, 0x30
jmp 0x4358d7
add eax, 0x37
xor esi, esi
mov byte [ebp - 0x19], al
mov byte [ebp - 0x18], 0
test dl, dl
je 0x4358ec
inc esi
cmp byte [ebp + esi - 0x20], 0
jne 0x4358e4
push esi
mov ecx, ebx
call fcn.00433790
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 0x435900
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 0x43593a
inc ebx
cmp word [edi + ebx*2], 0
jne 0x435932
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041d5b4
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.004292b0
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 0x435a1b
nop dword [eax]
inc edx
cmp byte [edx + eax], 0
jne 0x435990
mov dword [ebp - 0x44], edx
test edx, edx
je 0x435a1b
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 0x4359b9
cmp eax, 0x3ffffffe
jbe 0x4359be
mov eax, 0x3ffffffe
cmp eax, ebx
jbe 0x435b50
mov ecx, eax
sub ecx, ebx
cmp ecx, edx
jb 0x435b50
xor ecx, ecx
lea edi, [eax - 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041d5b4
add esp, 4
lea ecx, [ebx*2 + 2]
mov esi, eax
push ecx
push dword [ebp - 0x30]
push esi
call fcn.004292b0
add esp, 0xc
push dword [ebp - 0x30]
call fcn.0041d479
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 0x435a34
movzx eax, byte [ecx + eax]
mov word [edi + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x38]
cmp ecx, edx
jb 0x435a24
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.0041d5b4
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.00436ef0
mov byte [ebp - 4], 0
mov bl, al
push dword [ebp - 0x58]
call fcn.0041d479
add esp, 4
test bl, bl
je 0x435ad6
push 0xb7
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x435b2c
cmp byte [0x45b411], 0
jne 0x435b0d
mov edx, esi
lea ecx, [ebp - 0x8c]
call fcn.00432c30
push 0
push dword [eax]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push dword [ebp - 0x8c]
mov esi, eax
call fcn.0041d479
add esp, 4
test esi, esi
mov esi, dword [ebp - 0x30]
jmp 0x435b18
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x435b81
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x435b2c
cmp eax, 0xb7
jne 0x435b65
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0041d479
mov edx, dword [ebp - 0x3c]
add esp, 4
inc edx
mov dword [ebp - 0x3c], edx
cmp edx, 0x64
jae 0x435b6e
mov ebx, dword [ebp - 0x24]
jmp 0x435813
push 0x457080
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x13329ac
push eax
call fcn.0041feb0
push esi
call fcn.0041d479
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 0x435b8c
push esi
call fcn.0041d479
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.0041d468
mov esp, ebp
pop ebp
ret 8