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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov ebp, 0x12c0
mov ebx, 0x960
mov edi, 0x4b0
mov esi, ecx
push 0xa
mov dword [esp + 0x20], 0xe1000
mov dword [esp + 0x24], 0x70800
mov dword [esp + 0x28], 0x38400
mov dword [esp + 0x2c], 0x1c200
mov dword [esp + 0x30], 0xe100
mov dword [esp + 0x34], 0x9600
mov dword [esp + 0x38], 0x7080
mov dword [esp + 0x3c], 0x4b00
mov dword [esp + 0x40], 0x3840
mov dword [esp + 0x44], 0x2580
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edi
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x32d8
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00401ed0
push eax
push esi
call fcn.00401f10
mov eax, dword [esi + 0x11c]
add esp, 8
shl eax, 5
mov ecx, dword [eax + 0x41e680]
shr ecx, 0xf
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x1b
ja case.0x4067d8.3
xor edx, edx
mov dl, byte [eax + 0x4074a8]
jmp dword [edx*4 + 0x40749c]
mov eax, dword [esi + 0x1a4]
mov byte [esi + 0xaaa], 0x8f
cmp eax, 2
jne 0x406b90
mov ebp, dword [esi + 0xe8]
fild dword [esi + 0x114]
mov dword [esp + 0x10], ebp
fild dword [esp + 0x10]
fdivr st(1)
fst dword [esp + 0x10]
fmul dword [0x427760]
fcomp dword [0x42775c]
fnstsw ax
test ah, 0x41
jne 0x406ac3
fld dword [esp + 0x10]
fmul dword [0x427758]
fcomp dword [0x42775c]
fnstsw ax
test ah, 0x41
jne 0x4069f6
fld dword [esp + 0x10]
fmul dword [0x427754]
fcomp dword [0x42775c]
fnstsw ax
test ah, 0x41
jne 0x406929
mov byte [esi + 0xaab], 0
xor edi, edi
lea ebx, [esp + 0x1c]
fild dword [ebx]
fld st(1)
fdiv st(1)
fmul dword [0x427750]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fmul dword [0x427750]
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x4068b0
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x4068bb
jmp 0x4068b2
fstp st(0)
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x406869
mov ecx, 0xc
lea edx, [esp + 0x4c]
fild dword [edx]
fdivr st(1)
fmul dword [0x427750]
fcomp dword [0x42775c]
fnstsw ax
test ah, 1
jne 0x4068e3
dec ecx
sub edx, 4
test ecx, ecx
jge 0x4068c4
mov edi, dword [esp + edi*4 + 0x1c]
mov eax, ebp
cmp ebp, edi
jl 0x4068ef
mov eax, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp eax, ecx
jle 0x4068ff
cmp ebp, edi
jge 0x406901
mov edi, ebp
jmp 0x406901
mov edi, ecx
mov dword [esp + 0x10], edi
mov dword [esi + 0xe8], edi
fild dword [esp + 0x10]
fdivr st(1)
fmul dword [0x427750]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
fstp st(0)
jmp 0x406c84
mov byte [esi + 0xaab], 0x80
xor edi, edi
lea ebx, [esp + 0x1c]
fild dword [ebx]
fld st(1)
fdiv st(1)
fmul dword [0x427754]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fmul dword [0x427754]
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x40697d
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x406988
jmp 0x40697f
fstp st(0)
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x406936
mov ecx, 0xc
lea edx, [esp + 0x4c]
fild dword [edx]
fdivr st(1)
fmul dword [0x427754]
fcomp dword [0x42775c]
fnstsw ax
test ah, 1
jne 0x4069b0
dec ecx
sub edx, 4
test ecx, ecx
jge 0x406991
mov edi, dword [esp + edi*4 + 0x1c]
mov eax, ebp
cmp ebp, edi
jl 0x4069bc
mov eax, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp eax, ecx
jle 0x4069cc
cmp ebp, edi
jge 0x4069ce
mov edi, ebp
jmp 0x4069ce
mov edi, ecx
mov dword [esp + 0x10], edi
mov dword [esi + 0xe8], edi
fild dword [esp + 0x10]
fdivr st(1)
fmul dword [0x427754]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
fstp st(0)
jmp 0x406c84
mov byte [esi + 0xaab], 0x40
xor edi, edi
lea ebx, [esp + 0x1c]
fild dword [ebx]
fld st(1)
fdiv st(1)
fmul dword [0x427758]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fmul dword [0x427758]
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x406a4a
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x406a55
jmp 0x406a4c
fstp st(0)
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x406a03
mov ecx, 0xc
lea edx, [esp + 0x4c]
fild dword [edx]
fdivr st(1)
fmul dword [0x427758]
fcomp dword [0x42775c]
fnstsw ax
test ah, 1
jne 0x406a7d
dec ecx
sub edx, 4
test ecx, ecx
jge 0x406a5e
mov edi, dword [esp + edi*4 + 0x1c]
mov eax, ebp
cmp ebp, edi
jl 0x406a89
mov eax, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp eax, ecx
jle 0x406a99
cmp ebp, edi
jge 0x406a9b
mov edi, ebp
jmp 0x406a9b
mov edi, ecx
mov dword [esp + 0x10], edi
mov dword [esi + 0xe8], edi
fild dword [esp + 0x10]
fdivr st(1)
fmul dword [0x427758]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
fstp st(0)
jmp 0x406c84
mov byte [esi + 0xaab], 0xc0
xor edi, edi
lea ebx, [esp + 0x1c]
fild dword [ebx]
fld st(1)
fdiv st(1)
fmul dword [0x427760]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fmul dword [0x427760]
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x406b17
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x406b22
jmp 0x406b19
fstp st(0)
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x406ad0
mov ecx, 0xc
lea edx, [esp + 0x4c]
fild dword [edx]
fdivr st(1)
fmul dword [0x427760]
fcomp dword [0x42775c]
fnstsw ax
test ah, 1
jne 0x406b4a
dec ecx
sub edx, 4
test ecx, ecx
jge 0x406b2b
mov edi, dword [esp + edi*4 + 0x1c]
mov eax, ebp
cmp ebp, edi
jl 0x406b56
mov eax, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp eax, ecx
jle 0x406b66
cmp ebp, edi
jge 0x406b68
mov edi, ebp
jmp 0x406b68
mov edi, ecx
mov dword [esp + 0x10], edi
mov dword [esi + 0xe8], edi
fild dword [esp + 0x10]
fdivr st(1)
fmul dword [0x427760]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
fstp st(0)
jmp 0x406c84
cmp eax, 3
jne 0x406c8c
fild dword [esi + 0x114]
xor edi, edi
lea ebx, [esp + 0x1c]
fild dword [ebx]
fld st(1)
fdiv st(1)
fmul dword [0x427758]
fcom dword [0x42773c]
fnstsw ax
test ah, 1
jne 0x406bf9
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fmul dword [0x427758]
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x406bfb
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x406c06
jmp 0x406bfd
fstp st(0)
fstp st(0)
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x406ba5
mov ecx, 0xc
lea edx, [esp + 0x4c]
fild dword [edx]
fdivr st(1)
fmul dword [0x427758]
fcomp dword [0x427738]
fnstsw ax
test ah, 1
jne 0x406c2e
dec ecx
sub edx, 4
test ecx, ecx
jge 0x406c0f
mov eax, dword [esi + 0xe8]
mov edi, dword [esp + edi*4 + 0x1c]
cmp eax, edi
mov edx, eax
jl 0x406c40
mov edx, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp edx, ecx
jle 0x406c50
cmp eax, edi
jl 0x406c52
mov eax, edi
jmp 0x406c52
mov eax, ecx
mov dword [esp + 0x10], eax
mov dword [esi + 0xe8], eax
fidiv dword [esp + 0x10]
fmul dword [0x427758]
fadd qword [0x427748]
fld st(0)
call sub.MSVCRT.dll__ftol
neg eax
xor ecx, ecx
mov cl, ah
mov byte [esi + 0xaab], cl
call sub.MSVCRT.dll__ftol
neg al
mov byte [esi + 0xaac], al
mov bl, byte [esi + 0xaab]
xor eax, eax
mov al, byte [esi + 0xaac]
or dl, 0xff
mov ecx, eax
mov eax, pe_nt_image_headers32
sub eax, ecx
sub dl, bl
shl eax, 1
cmp eax, 0xfe
mov byte [esi + 0xaad], dl
jle 0x406cbc
mov eax, 0xfe
mov ecx, dword [esi + 0xe4]
mov byte [esi + 0xaae], al
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [edx + edx*4]
shl eax, 2
cmp eax, 0xfa
jg 0x406cf9
cmp eax, 0x28
jge 0x406cf2
mov eax, 0x28
jmp 0x406cfe
cmp eax, 0xfa
jle 0x406cfe
mov eax, 0xfa
mov ecx, esi
mov byte [esi + 0xaaf], al
call fcn.00402ba0
mov ecx, dword [esi + 0x178]
mov byte [esi + 0xab0], al
cmp ecx, 0x72
jl 0x406d33
lea ecx, [esi + 0xaaa]
push 4
mov byte [esi + 0xaad], al
push ecx
mov byte [ecx], 1
jmp 0x40724f
lea eax, [esi + 0xaaa]
push 7
push eax
mov ecx, esi
call fcn.00402560
mov ecx, dword [esi + 0xe8]
push 0x8f
push ecx
mov ecx, esi
call fcn.004029c0
push 0x1388
mov ecx, esi
call fcn.00402970
push 1
push 0
mov ecx, esi
call fcn.00402700
mov al, byte [esi + 0x23]
test al, al
je 0x407480
mov ecx, esi
call fcn.00402990
test al, al
jne 0x40748d
lea edx, [esi + 0x6aa]
push 1
push edx
mov ecx, esi
call fcn.00402700
test al, al
je 0x406d6d
mov al, byte [esi + 0x25]
test al, al
je 0x406db9
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x406db9
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret
cmp byte [esi + 0x6aa], 0x8f
je 0x406dcf
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret
mov eax, dword [esi + 0xe4]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004029c0
lea eax, [esi + 0xaaa]
push 6
mov byte [eax], 0x8e
jmp 0x40724e
cmp dword [esi + 0x178], 0x71
jge case.0x4067d8.3
mov eax, dword [esi + 0x114]
lea edi, [esi + 0xaaa]
cmp eax, 0x1312d00
mov dword [esp + 0x10], eax
mov byte [edi], 0x8e
jge 0x406e4d
mov ecx, dword [esi + 0xe8]
mov byte [esi + 0xaab], 0x58
test ecx, ecx
mov byte [esi + 0xab2], 0x83
jne 0x406e38
mov dword [esi + 0xe8], 0x7080
mov ecx, dword [esi + 0xe8]
cmp ecx, 0x7080
jl 0x406e82
mov ecx, 0x7080
jmp 0x406e82
mov ecx, dword [esi + 0xe8]
mov byte [esi + 0xaab], 0x98
test ecx, ecx
mov byte [esi + 0xab2], 0x81
jne 0x406e6f
mov dword [esi + 0xe8], 0xe100
mov ecx, dword [esi + 0xe8]
cmp ecx, 0xe100
jl 0x406e82
mov ecx, 0xe100
mov dword [esi + 0xe8], ecx
mov cl, byte [esi + 0x6a4]
mov byte [esi + 0xaac], cl
mov ecx, dword [esi + 0xe8]
test ecx, ecx
jne 0x406ebb
xor edx, edx
cmp eax, 0x1312d00
setge dl
dec edx
and edx, 0xffff8f80
add edx, 0xe100
mov dword [esi + 0xe8], edx
cdq
idiv dword [esi + 0xe8]
mov ebx, eax
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
jne 0x406ee8
neg bl
mov byte [esi + 0xaad], 0
mov byte [esi + 0xaae], bl
jmp 0x406f05
mov cl, dl
mov eax, ebx
inc cl
mov byte [esi + 0xaad], cl
and ecx, 0xff
cdq
idiv ecx
neg al
mov byte [esi + 0xaae], al
fild dword [esp + 0x10]
mov byte [esi + 0xaaf], 0x64
fmul dword [0x427734]
fsubr dword [0x427730]
call sub.MSVCRT.dll__ftol
and eax, 0xffff
xor ecx, ecx
mov cl, ah
push 0xc
mov byte [esi + 0xab0], cl
mov byte [esi + 0xab1], al
mov byte [esi + 0xab3], 0x20
mov byte [esi + 0xab4], 0xff
mov byte [esi + 0xab5], 0
push edi
jmp 0x40724f
mov al, byte [esi + 0x6a5]
mov dl, byte [esi + 0x6a4]
mov byte [esi + 0xaac], al
mov eax, dword [esi + 0x1a4]
test eax, eax
mov byte [esi + 0xaaa], 1
mov byte [esi + 0xaab], dl
jne 0x4070b7
fild dword [esi + 0x114]
xor edi, edi
lea ebx, [esp + 0x1c]
fild dword [ebx]
fld st(1)
fdiv st(1)
fcom dword [0x42772c]
fnstsw ax
test ah, 1
jne 0x406fd4
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x406fd6
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x406fe1
jmp 0x406fd8
fstp st(0)
fstp st(0)
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x406f8c
mov ecx, 0xc
lea edx, [esp + 0x4c]
fild dword [edx]
fdivr st(1)
fcomp dword [0x427728]
fnstsw ax
test ah, 1
jne 0x407003
dec ecx
sub edx, 4
test ecx, ecx
jge 0x406fea
mov eax, dword [esi + 0xe8]
mov edi, dword [esp + edi*4 + 0x1c]
cmp eax, edi
mov edx, eax
jl 0x407015
mov edx, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp edx, ecx
jle 0x407029
cmp eax, edi
jge 0x407025
mov edx, eax
jmp 0x40702b
mov edx, edi
jmp 0x40702b
mov edx, ecx
cmp edx, 0x9600
jle 0x40703a
mov eax, 0x9600
jmp 0x407050
cmp eax, edi
mov edx, eax
jl 0x407042
mov edx, edi
cmp edx, ecx
jle 0x40704e
cmp eax, edi
jl 0x407050
mov eax, edi
jmp 0x407050
mov eax, ecx
mov dword [esp + 0x10], eax
mov dword [esi + 0xe8], eax
fidiv dword [esp + 0x10]
fld st(0)
fadd qword [0x427748]
fld st(0)
call sub.MSVCRT.dll__ftol
neg eax
xor ecx, ecx
mov cl, ah
mov byte [esi + 0xaad], cl
call sub.MSVCRT.dll__ftol
fmul qword [0x427720]
neg al
mov byte [esi + 0xaae], al
fadd qword [0x427748]
fld st(0)
call sub.MSVCRT.dll__ftol
neg eax
xor edx, edx
mov dl, ah
mov byte [esi + 0xaaf], dl
call sub.MSVCRT.dll__ftol
neg al
mov byte [esi + 0xab0], al
jmp 0x407239
cmp eax, 1
jne 0x407239
fild dword [esi + 0x114]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x68], edi
mov dword [esp + 0x1c], 0x1e8480
mov dword [esp + 0x20], 0x16e360
mov dword [esp + 0x24], 0xf4240
mov dword [esp + 0x28], 0xe1000
mov dword [esp + 0x2c], 0x7a120
mov dword [esp + 0x30], 0x70800
mov dword [esp + 0x34], 0x3d090
mov dword [esp + 0x38], 0x38400
mov dword [esp + 0x3c], 0x30d40
mov dword [esp + 0x40], 0x1c200
mov dword [esp + 0x44], 0x186a0
mov dword [esp + 0x48], 0xe100
mov dword [esp + 0x4c], 0x9600
mov dword [esp + 0x50], 0x7080
mov dword [esp + 0x54], 0x4b00
mov dword [esp + 0x58], 0x3840
mov dword [esp + 0x5c], 0x2580
mov dword [esp + 0x64], ebx
xor edi, edi
lea ebp, [esp + 0x1c]
fild dword [ebp]
fld st(1)
fdiv st(1)
fmul dword [0x42771c]
fadd qword [0x427748]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdivr st(2)
fmul dword [0x42771c]
fsub st(1)
fdivrp st(1)
fcom dword [0x427744]
fnstsw ax
test ah, 0x41
jne 0x4071a8
fcomp dword [0x427740]
fnstsw ax
test ah, 1
jne 0x4071b3
jmp 0x4071aa
fstp st(0)
inc edi
add ebp, 4
cmp edi, 0x14
jb 0x407160
mov ecx, 0x13
lea edx, [esp + 0x68]
fild dword [edx]
fdivr st(1)
fmul dword [0x42771c]
fcomp dword [0x427738]
fnstsw ax
test ah, 1
jne 0x4071db
dec ecx
sub edx, 4
test ecx, ecx
jge 0x4071bc
mov eax, dword [esi + 0xe8]
mov edi, dword [esp + edi*4 + 0x1c]
cmp eax, edi
mov edx, eax
jl 0x4071ed
mov edx, edi
mov ecx, dword [esp + ecx*4 + 0x1c]
cmp edx, ecx
jle 0x4071fd
cmp eax, edi
jl 0x4071ff
mov eax, edi
jmp 0x4071ff
mov eax, ecx
mov dword [esp + 0x10], eax
mov dword [esi + 0xe8], eax
fidiv dword [esp + 0x10]
fmul dword [0x42771c]
fadd qword [0x427748]
fld st(0)
call sub.MSVCRT.dll__ftol
neg eax
xor ecx, ecx
mov cl, ah
mov byte [esi + 0xaad], cl
call sub.MSVCRT.dll__ftol
neg al
mov byte [esi + 0xaae], al
mov ecx, esi
call fcn.00402ba0
mov byte [esi + 0xab1], al
push 8
lea eax, [esi + 0xaaa]
push eax
mov ecx, esi
call fcn.00402560
cmp dword [esi + 0x1a0], 3
jge 0x407272
mov edx, dword [esi + 0xe8]
push 0x8e
push edx
mov ecx, esi
call fcn.004029c0
push 0x1388
mov ecx, esi
call fcn.00402970
push 1
push 0
mov ecx, esi
call fcn.00402700
mov al, byte [esi + 0x23]
test al, al
je 0x407480
mov ecx, esi
call fcn.00402990
test al, al
jne 0x40748d
lea eax, [esi + 0x6aa]
push 1
push eax
mov ecx, esi
call fcn.00402700
test al, al
je 0x407289
mov al, byte [esi + 0x25]
test al, al
je 0x4072d5
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x4072d5
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret
mov eax, dword [esi + 0x1a0]
test eax, eax
jne 0x4072fd
mov cl, byte [esi + 0x6aa]
lea edi, [esi + 0x6aa]
cmp cl, 0x8e
je 0x407336
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret
cmp eax, 3
lea edi, [esi + 0x6aa]
jl 0x407324
mov cl, byte [esi + 0xaaa]
mov dl, byte [edi]
and cl, 0xf
cmp dl, cl
je 0x407336
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret
cmp byte [edi], 0x84
je 0x407336
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret
cmp eax, 3
jl 0x40734b
mov edx, dword [esi + 0xe8]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004029c0
mov eax, dword [esi + 0x1a0]
test eax, eax
jne 0x40741b
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x11c]
xor ecx, ecx
shl eax, 5
mov byte [esi + 0xaaa], 0x80
mov byte [esi + 0xaab], 0
lea eax, [eax + 0x41e688]
mov byte [esi + 0xaac], 0
mov byte [esi + 0xaad], 0x36
mov byte [esi + 0xaae], 1
mov cl, byte [eax + 1]
xor ebx, ebx
mov byte [esi + 0xaaf], cl
mov dl, byte [eax]
mov byte [esi + 0xab0], dl
lea eax, [esi + 0xaaa]
push 7
push eax
mov ecx, esi
call fcn.00402560
push 0x1388
mov ecx, esi
call fcn.00402970
push 1
push 0
mov ecx, esi
call fcn.00402700
mov al, byte [esi + 0x23]
test al, al
je 0x407480
mov ecx, esi
call fcn.00402990
test al, al
jne 0x40748d
push 1
push edi
mov ecx, esi
call fcn.00402700
test al, al
je 0x4073cf
mov al, byte [esi + 0x25]
test al, al
je 0x40740c
mov eax, dword [esi + 0x1c4]
test eax, eax
jne 0x407329
cmp byte [edi], 0x80
jne 0x407329
inc ebx
cmp ebx, 5
jl 0x4073a8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
sub eax, ebx
sub esp, 8
mov dword [esp + 0x1c], eax
mov ecx, esi
fild qword [esp + 0x1c]
fmul dword [0x427718]
fstp qword [esp]
push 0x32d9
call fcn.00401ed0
push eax
push esi
call fcn.00401f10
mov eax, dword [esi + 0xe8]
add esp, 0x10
mov ecx, esi
push eax
push 0x32da
call fcn.00401ed0
push eax
push esi
call fcn.00401f10
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x5c
ret