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

Disassembly:
mov eax, 0x101789b5
call fcn.10159f04
sub esp, 0x244
mov eax, dword [0x101b7f10]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], eax
xor eax, eax
mov al, byte [ebx + 0x4fc]
push esi
push edi
mov edi, ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x240], edi
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.1011e5b7
fld dword [ebp - 0x228]
fadd dword [ebx + 8]
mov esi, dword [ebx]
push 0xf
pop edx
fadd dword [0x10182168]
fstp dword [ebp - 0x228]
fldz
fstp dword [ebp - 0x23c]
fldz
fstp dword [ebp - 0x238]
fldz
fstp dword [ebp - 0x234]
fldz
fstp dword [ebp - 0x230]
mov eax, dword [esi + 0xc]
cmp eax, 1
jl 0x101205ab
cmp eax, 0x3e7
jg 0x101205ab
cmp byte [ebx + 0x8d], 1
jne 0x1011ffe0
push 0xc
jmp 0x101203ae
mov ax, word [0x10a0c450]
cmp ax, 0xa
je 0x1012000e
cmp ax, 0xb
je 0x1012000e
cmp ax, 0x14
je 0x1012000e
cmp ax, 0x19
je 0x1012000e
cmp ax, 0x1b
je 0x1012000e
cmp ax, 0x1e
jne 0x10120274
mov cl, byte [esi + 0x72]
cmp byte [0x10a0c266], cl
je 0x10120274
cmp ax, 0x1b
jne 0x10120075
cmp cl, 4
jne 0x1012004b
mov dword [ebp - 0x220], 0x3f028f5c
mov dword [ebp - 0x21c], 0x3e4ccccd
mov dword [ebp - 0x218], 0x3f170a3d
jmp 0x10120330
cmp cl, 2
jne 0x101200f0
fldz
mov dword [ebp - 0x21c], 0x3f170a3d
fstp dword [ebp - 0x220]
mov dword [ebp - 0x218], 0x3e9eb852
jmp 0x10120330
cmp ax, 0x1e
jne 0x101200bb
cmp cl, 4
jne 0x1012009d
fldz
fstp dword [ebp - 0x220]
fld1
fstp dword [ebp - 0x21c]
fldz
fstp dword [ebp - 0x218]
jmp 0x10120330
cmp cl, 2
jne 0x101200f0
mov dword [ebp - 0x220], 0x3f400000
mov dword [ebp - 0x21c], 0x3e800000
jmp 0x10120307
cmp cl, 1
jne 0x101200c7
push 0x11
jmp 0x101203ae
cmp cl, 2
jne 0x101200d3
push 0x12
jmp 0x101203ae
cmp cl, 4
jne 0x101200f0
push 2
pop edx
fld dword [0x10180bec]
fld dword [ebp - 0x230]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10120105
mov esi, edx
shl esi, 4
add esi, 0x101b6838
lea edi, [ebp - 0x23c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x110]
call fcn.10152120
xor edi, edi
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], edi
call fcn.10151f70
mov ax, word [ebx + 0x518]
cmp ax, di
jbe 0x1012016f
mov ecx, dword [0x10a0c360]
movzx eax, ax
mov esi, 0x9c40
push edi
add eax, esi
push eax
call fcn.10004b8c
test al, al
je 0x1012016f
mov ecx, dword [0x10a0c360]
lea eax, [ebp - 0x110]
push eax
call fcn.10004a96
movzx eax, word [ebx + 0x518]
mov ecx, dword [0x10a0c360]
push edi
add eax, esi
push eax
call fcn.10004ba8
mov edi, dword [ebp - 0x240]
cmp byte [edi + 0xbd], 0
je 0x10120492
mov ax, word [0x10a0c450]
cmp ax, 0xa
je 0x101201b0
cmp ax, 0xb
je 0x101201b0
cmp ax, 0x14
je 0x101201b0
cmp ax, 0x19
je 0x101201b0
cmp ax, 0x1b
je 0x101201b0
cmp ax, 0x1e
jne 0x101203cc
mov ecx, dword [ebx]
mov cl, byte [ecx + 0x72]
cmp cl, byte [0x10a0c266]
je 0x101203cc
cmp ax, 0x1b
je 0x101203b4
cmp ax, 0x1e
je 0x101203b4
lea ecx, [ebx + 0x3e6]
lea esi, [edi + 0xc5]
call fcn.10151f50
push eax
mov eax, dword [ebx]
add eax, 0x24
push eax
push str._s__s
push esi
call fcn.10151f80
add esp, 0x10
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
mov ecx, esi
call fcn.10151f50
mov ecx, dword [0x10a0066c]
push eax
push 2
call fcn.100136f9
fld dword [ebp - 0x228]
mov eax, dword [ebp - 0x22c]
fsub dword [0x10182168]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x214], eax
fstp dword [ebp - 0x218]
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x21c]
lea ecx, [ebp - 0x110]
push eax
call fcn.10151f50
mov ecx, dword [0x10a0066c]
push eax
push 2
call fcn.100136f9
jmp 0x10120480
cmp ax, 0x11
jne 0x10120373
mov al, byte [esi + 0x111]
cmp al, 0x13
jb 0x10120373
cmp byte [ebx + 0xbc], 2
jne 0x101202ac
fld1
mov dword [ebp - 0x21c], 0x3f170a3d
fstp dword [ebp - 0x220]
jmp 0x10120090
cmp al, 0x13
jne 0x101202cb
fld dword [0x1018e518]
mov dword [ebp - 0x21c], 0x3f5c28f6
fst dword [ebp - 0x220]
jmp 0x10120092
cmp al, 0x14
jne 0x101202ef
mov dword [ebp - 0x220], 0x3f7d70a4
mov dword [ebp - 0x21c], 0x3f0a3d71
mov dword [ebp - 0x218], 0x3f11eb85
jmp 0x10120330
cmp al, 0x15
jne 0x1012030e
mov dword [ebp - 0x220], 0x3f7d70a4
mov dword [ebp - 0x21c], 0x3f3d70a4
fld1
jmp 0x10120092
cmp al, 0x16
jne 0x1012034d
mov dword [ebp - 0x220], 0x3f3ae148
mov dword [ebp - 0x21c], 0x3f35c28f
mov dword [ebp - 0x218], 0x3f7851ec
fld1
lea esi, [ebp - 0x220]
fstp dword [ebp - 0x214]
lea edi, [ebp - 0x23c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x101200db
cmp al, 0x17
jne 0x101200f0
fld dword [0x1018e514]
mov dword [ebp - 0x218], 0x3f28f5c3
fst dword [ebp - 0x220]
fstp dword [ebp - 0x21c]
jmp 0x10120330
xor ecx, ecx
cmp word [esi + 0x7c], cx
jle 0x1012037f
push 0xb
jmp 0x101203ae
mov eax, dword [esi + 0x108]
and eax, 0x40000000
or eax, ecx
je 0x10120392
push 0xa
jmp 0x101203ae
cmp byte [ebx + 0xbc], 2
jne 0x1012039f
push 7
jmp 0x101203ae
cmp byte [ebx + 0x3e4], 1
jne 0x101200db
push 6
pop edx
jmp 0x101200f0
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
lea ecx, [ebx + 0x2de]
jmp 0x1012025b
mov eax, dword [ebx]
add eax, 0x24
push eax
call fcn.10159280
test eax, eax
pop ecx
jbe 0x1012040f
mov ecx, dword [0x10a0066c]
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
mov eax, dword [ebx]
add eax, 0x24
push eax
push 2
call fcn.100136f9
fld dword [ebp - 0x228]
fadd dword [0x10182e28]
fstp dword [ebp - 0x228]
lea ecx, [ebp - 0x210]
call fcn.10152120
lea ecx, [ebx + 0x2de]
mov byte [ebp - 4], 1
call fcn.10151f50
push eax
lea ecx, [ebp - 0x110]
call fcn.10151f50
push eax
lea eax, [ebp - 0x210]
push str._s___s
push eax
call fcn.10151f80
add esp, 0x10
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x210]
call fcn.10151f50
mov ecx, dword [0x10a0066c]
push eax
push 2
call fcn.100136f9
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0
call fcn.10152110
fld dword [ebp - 0x228]
fadd dword [0x10182e28]
fstp dword [ebp - 0x228]
cmp byte [edi + 0xbe], 0
je 0x1012055a
lea esi, [ebx + 0x120]
mov ecx, esi
call fcn.10151f60
test al, al
jne 0x1012055a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
fld dword [0x101821a0]
fst dword [ebp - 0x220]
push ecx
fst dword [ebp - 0x21c]
mov edi, eax
fstp dword [ebp - 0x218]
lea eax, [ebp - 0x220]
fld1
mov ecx, esi
fstp dword [ebp - 0x250]
mov dword [ebp - 0x214], 0x3f333333
fld1
fstp dword [ebp - 0x24c]
fld1
fstp dword [ebp - 0x248]
fld1
fstp dword [ebp - 0x244]
fld dword [0x10182168]
fstp dword [esp]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.10151f50
mov ecx, dword [0x10a0066c]
push eax
push 2
call fcn.10013753
fld dword [ebp - 0x228]
mov eax, dword [ebx + 0x220]
fadd dword [0x10182e28]
add eax, 0x1388
cmp edi, eax
fstp dword [ebp - 0x228]
jle 0x1012055a
mov ecx, esi
call fcn.10151f70
mov ebx, dword [ebx]
cmp byte [ebx + 0x81], 0
je 0x10120597
mov ecx, dword [0x10a0066c]
push 0x101b6888
lea eax, [ebp - 0x22c]
push eax
add ebx, 0xa4
push ebx
push 2
call fcn.100136f9
fld dword [ebp - 0x228]
fadd dword [0x10182e28]
fstp dword [ebp - 0x228]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
call fcn.10152110
jmp 0x101206b1
movzx eax, byte [esi + 0x80]
movzx ecx, byte [0x10a0c300]
sub eax, ecx
cmp eax, 0x1f
jl 0x101205c4
push 0x13
jmp 0x101205e6
cmp eax, 0x10
jl 0x101205cd
push 0x14
jmp 0x101205e6
cmp eax, 0xb
jl 0x101205d6
push 0x15
jmp 0x101205e6
cmp eax, 0xffffffe1
jg 0x101205df
push 0x18
jmp 0x101205e6
cmp eax, 0xfffffff0
jg 0x101205e9
push 0x17
pop eax
jmp 0x101205f9
xor ecx, ecx
cmp eax, 0xfffffff5
setg cl
dec ecx
and ecx, 7
add ecx, edx
mov eax, ecx
cmp byte [edi + 0xbd], 0
je 0x10120646
cmp byte [ebx + 0x8d], 1
jne 0x10120646
shl eax, 4
add eax, 0x101b6838
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebx + 0x2de]
call fcn.10151f50
mov ecx, dword [0x10a0066c]
push eax
push 2
call fcn.100136f9
fld dword [ebp - 0x228]
fadd dword [0x10182e28]
fstp dword [ebp - 0x228]
cmp byte [edi + 0xbe], 0
je 0x101206b1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea esi, [ebx + 0x120]
mov ecx, esi
mov edi, eax
call fcn.10151f60
test al, al
jne 0x101206b1
push 0x101b6928
lea eax, [ebp - 0x22c]
push eax
mov ecx, esi
call fcn.10151f50
mov ecx, dword [0x10a0066c]
push eax
push 2
call fcn.100136f9
fld dword [ebp - 0x228]
mov eax, dword [ebx + 0x220]
fadd dword [0x10182e28]
add eax, 0x1388
cmp edi, eax
fstp dword [ebp - 0x228]
jle 0x101206b1
mov ecx, esi
call fcn.10151f70
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.1015901e
leave
ret 4