Function at 0x405825
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x64
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0
push 0x1c
mov eax, ebp
add eax, 0x4c
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.0040c983
push 0
push 4
mov eax, ebp
add eax, 0x48
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0x44
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0x40
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
call main
mov dword [ebp + 0x3c], eax
push 0
push 4
mov eax, ebp
add eax, 0x38
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 0x1c
mov eax, ebp
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
lea eax, [ebp + 0x1c]
mov ecx, eax
call fcn.0040c983
push 0x80000000
push dword [ebp + 0x6c]
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.00408e3a
push eax
push 0
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x4058ed
mov eax, 0xffffffff
not eax
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x40594e
push 0x410445
push 0x410456
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
jmp 0x406115
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.0040d372
push eax
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.0040d372
push eax
push dword [ebp + 0x6c]
push 0x410459
call fcn.00408504
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.0040d372
push eax
call fcn.0040341d
push eax
pop eax
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.0040d372
push eax
push dword [ebp + 0x48]
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.00408c83
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.0040d372
push eax
pop eax
mov dword [ebp + 0x40], eax
push dword [ebp + 0x70]
pop eax
mov dword [ebp + 0x44], eax
push 0
push 4
mov eax, ebp
add eax, 0x18
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0x14
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
pop eax
mov dword [ebp + 0x18], eax
push 0
push 4
mov eax, ebp
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push dword [ebp + 0x40]
push dword [ebp + 0x44]
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
push 0x4000
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
ja 0x405a72
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x405a95
push 0x4000
pop eax
movsx eax, ax
push eax
pop eax
mov dword [ebp + 0x10], eax
jmp 0x405ab2
push dword [ebp + 0x40]
push dword [ebp + 0x44]
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 0x10], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 0x44]
push 0x64
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
push dword [ebp + 0x40]
pop eax
push 0
push eax
fild qword [esp]
add esp, 8
pop eax
push 0
push eax
fild qword [esp]
add esp, 4
fdivrp st(1)
fstp dword [esp]
fld dword [esp]
sub esp, 0x10
mov dword [esp + 4], eax
fnstcw word [esp]
mov ax, word [esp]
or ah, 0xc
mov word [esp + 2], ax
fldcw word [esp + 2]
mov eax, dword [esp + 4]
add esp, 0x10
fistp dword [esp]
sub esp, 0x10
fldcw word [esp]
add esp, 0x10
push dword [ebp + 0x40]
push dword [ebp + 0x10]
push dword [ebp + 0x44]
push 0x41047a
call fcn.00408504
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0x48]
push dword [ebp + 0x44]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push dword [ebp + 0x44]
mov eax, 0x411fb0
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c679
push eax
push 0
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x405b8c
mov eax, 0xffffffff
not eax
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x40602c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 0x44]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push 0x4104a1
call fcn.00408504
push dword [ebp + 0x38]
push 1
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jg 0x405bf0
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x405e25
mov eax, 0x30
mov dword [ebp + 8], eax
push 0
push 4
mov eax, ebp
add eax, 4
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push dword [ebp + 0x10]
push dword [ebp + 8]
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jb 0x405c39
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x405c53
push dword [ebp + 0x10]
pop eax
mov dword [ebp + 8], eax
push dword [ebp + 0xc]
push dword [ebp + 0xc]
push 0x10
pop ebx
pop eax
sub esp, 4
cdq
idiv ebx
mov dword [esp], edx
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 4], eax
push dword [ebp + 4]
push 0x10
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
ja 0x405c98
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x405cc1
mov eax, dword [ebp + 4]
push ecx
push eax
push 0x10
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop eax
pop ecx
mov dword [ebp + 4], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x4104c7
call fcn.00408504
push 0
push dword [ebp + 4]
push dword [ebp + 8]
push dword [ebp + 0x48]
push dword [ebp + 4]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
call fcn.00404fb2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x4104d4
call fcn.00408504
push dword [ebp + 4]
call fcn.0040a3b2
push 0x4104e2
push 0x41051a
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
lea eax, [ebp + 0x3c]
push eax
xor ecx, ecx
push ecx
push 0
push 0
pop eax
imul eax, eax, 1
add dword [esp], eax
pop eax
imul eax, eax, 4
pop ecx
add ecx, eax
pop eax
mov dword [ecx + 0x41144c], eax
push 0xb
xor ecx, ecx
push ecx
push 0
push 0
pop eax
imul eax, eax, 1
add dword [esp], eax
pop eax
imul eax, eax, 4
pop ecx
add ecx, eax
pop eax
mov dword [ecx + 0x4114cc], eax
push 0
xor ecx, ecx
push ecx
push 0
push 1
pop eax
imul eax, eax, 1
add dword [esp], eax
pop eax
imul eax, eax, 4
pop ecx
add ecx, eax
pop eax
mov dword [ecx + 0x41144c], eax
push 0x41051d
pop eax
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push eax
call fcn.00403fff
jmp 0x405e54
push 0x41051f
pop eax
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push eax
mov ecx, ebp
add ecx, 0x3c
push ecx
push dword [ecx]
call fcn.00403b1e
pop ecx
pop dword [ecx]
push 0x410520
push 0x410521
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
mov eax, dword [ebp + 0x3c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x410524
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x405ef3
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x405f03
jmp 0x40608b
mov eax, dword [ebp + 0x3c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x410526
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x405f55
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x405fb2
push 0x410528
push 0x41052d
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
jmp 0x40602c
mov eax, dword [ebp + 0x3c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x410530
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x406004
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x406019
jmp 0x405bd5
mov eax, dword [ebp + 0x38]
inc eax
mov dword [ebp + 0x38], eax
jmp 0x405a20
mov eax, dword [ebp + 0x44]
push ecx
push eax
push dword [ebp + 0x10]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
pop ecx
mov dword [ebp + 0x44], eax
push dword [ebp + 0x44]
push dword [ebp + 0x40]
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jae 0x40606b
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x40607d
jmp 0x40608b
push 0
pop eax
mov dword [ebp + 0x38], eax
jmp 0x405a20
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
pop eax
mov dword [ebp + 0x14], eax
xor ecx, ecx
lea eax, [ecx + 0x411f9c]
mov ecx, dword [eax]
add ecx, 0x224
push dword [ecx]
call fcn.00409fdf
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x18]
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
push 0x410532
call fcn.00408504
push dword [ebp + 0x48]
call fcn.0040337c
push 0x410556
mov eax, 0x411f9c
mov eax, dword [eax]
mov ecx, eax
call fcn.00406aee
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.00408a8b
lea eax, [ebp + 0x4c]
mov ecx, eax
call fcn.004084dc
push dword [ebp + 0x3c]
call fcn.00403b1e
lea eax, [ebp + 0x1c]
mov ecx, eax
call fcn.004084dc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
add esp, 0x64
ret 8