Function at 0x423c1f
Capabilities:
Check for time delay via gettickcount
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbd0
push ebx
push ebp
push esi
push edi
mov ebp, edx
mov edi, ecx
xor bl, bl
push edi
mov byte [esp + 0x1b], bl
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x423c4c
mov ecx, edi
call fcn.0041e5db
push 0
push 0x403a24
lea edx, [esp + 0x250]
mov ecx, edi
call fcn.004236d0
test al, al
je 0x423f7a
push 1
push 0
lea edx, [esp + 0x660]
mov ecx, edi
call fcn.004236d0
test al, al
je 0x423f7a
push ecx
push ecx
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.0041d2c5
test al, al
je 0x423f7a
mov ebx, 0x1e6
lea eax, [esp + 0x38]
push ebx
push 0
push eax
call fcn.0041869b
lea ecx, [esp + 0x3c]
call fcn.00420955
lea ecx, [esp + 0xb4]
call fcn.0041d347
push 1
push ecx
push ecx
push 0x28
pop edx
lea ecx, [esp + 0x22c]
call fcn.00419e5b
lea eax, [esp + 0xc4]
push eax
push 0x28
pop edx
lea ecx, [esp + 0x224]
call fcn.00419c72
push dword [esp + 0xc0]
movzx eax, word [esp + 0xbe]
push dword [esp + 0xc0]
mov dword [esp + 0x40], ebx
push eax
movzx eax, word [esp + 0xc4]
push eax
push dword [esp + 0xc4]
push 0x4080a8
push 0
push 0x164
push 0x407d80
push 0x408100
call fcn.0041a5ac
add esp, 0x28
mov ecx, edi
call fcn.004192e4
mov esi, eax
lea edx, [esp + 0x24a]
push 0x14
lea eax, [esp + 0x1ca]
add esi, esi
push eax
push 0xffffffffffffffff
add edx, esi
xor ecx, ecx
call fcn.00418769
push 0x14
lea eax, [esp + 0x1de]
xor ecx, ecx
push eax
lea edx, [esp + 0x662]
push 0xffffffffffffffff
add edx, esi
call fcn.00418769
push 0xa
lea eax, [esp + 0x1f2]
xor ecx, ecx
push eax
push 0xffffffffffffffff
lea edx, [esp + 0x30]
call fcn.00418769
lea eax, [esp + 0x1f8]
xor bl, bl
mov dword [esp + 0x18], eax
lea eax, [esp + 0x202]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x20], eax
push 9
push 4
push 2
lea edx, [esp + 0x45c]
pop ecx
call fcn.0041d0fb
movzx eax, bl
lea edx, [esp + 0x450]
push 0x101
xor ecx, ecx
mov esi, dword [esp + eax*4 + 0x1c]
push esi
push 0xffffffffffffffff
call fcn.00418769
xor bh, bh
test bl, bl
je 0x423e01
movzx eax, bh
push esi
push dword [esp + eax*4 + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x423dff
inc bh
cmp bh, bl
jb 0x423de5
jmp 0x423e01
dec bl
inc bl
cmp bl, 3
jb 0x423daf
call fcn.00419bb4
mov esi, eax
call fcn.00419bb4
mov ecx, eax
xor edx, edx
mov ebx, 0xffff
div ebx
xor edx, edx
inc eax
add ecx, eax
mov eax, esi
div ebx
inc esi
shl ecx, 0x10
add eax, esi
movzx eax, ax
or ecx, eax
mov dword [esp + 0x216], ecx
call fcn.00419bb4
mov esi, eax
call fcn.00419bb4
mov ecx, eax
xor edx, edx
div ebx
xor edx, edx
inc eax
add ecx, eax
mov eax, esi
div ebx
shl ecx, 0x10
inc eax
add eax, esi
movzx eax, ax
or ecx, eax
lea eax, [esp + 0x20c]
push eax
lea eax, [esp + 0x206]
mov dword [esp + 0x21e], ecx
push eax
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0x1fa]
push eax
lea eax, [esp + 0x1ea]
push eax
lea eax, [esp + 0x1da]
push eax
push 0x408118
push 0
push 0x183
push 0x407d80
push 0x408100
call fcn.0041a5ac
add esp, 0x2c
lea ecx, [esp + 0x860]
call fcn.00420ab6
push 0x102
lea eax, [esp + 0xaaa]
push eax
lea eax, [esp + 0x458]
push eax
call fcn.0041863c
mov ebx, 0x1e6
lea ecx, [esp + 0x38]
push eax
mov edx, ebx
call fcn.00419cee
push 0
lea edx, [esp + 0x24c]
lea ecx, [esp + 0x3c]
call fcn.00423873
test al, al
je 0x423f63
push ecx
push ecx
lea eax, [esp + 0x20]
mov edx, edi
push eax
call fcn.0041e599
test al, al
je 0x423f3f
lea ecx, [esp + 0x18]
call fcn.0041874a
mov esi, eax
lea eax, [esp + 0x248]
push ecx
push eax
mov ecx, esi
call fcn.0041e4c7
push ecx
lea eax, [esp + 0x65c]
mov ecx, esi
push eax
call fcn.0041e4c7
push ebx
lea eax, [esp + 0x3c]
push eax
push 0x4297b8
call fcn.0041863c
push 0xffffffffffffffff
lea edx, [esp + 0x24c]
mov ecx, ebp
call fcn.004189ba
mov bl, 1
jmp 0x423f67
mov bl, byte [esp + 0x17]
push 0x1e6
push 0
lea eax, [esp + 0x40]
push eax
call fcn.0041869b
jmp 0x423f98
push 0x4082a0
push 2
push 0x1a4
push 0x407d80
push 0x408100
call fcn.0041a5ac
add esp, 0x14
pop edi
mov al, bl
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret