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

Disassembly:
mov eax, 0x10185835
call fcn.10166ba4
sub esp, 0x244
mov eax, dword [0x101cb280]
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.1011e5c1
fld dword [ebp - 0x228]
fadd dword [ebx + 8]
mov esi, dword [ebx]
push 0xf
pop edx
fadd dword [0x1018f1b8]
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 0x101205b5
cmp eax, 0x3e7
jg 0x101205b5
cmp byte [ebx + 0x8d], 1
jne 0x1011ffea
push 0xc
jmp 0x101203b8
mov ax, word [0x10a1f7b0]
cmp ax, 0xa
je 0x10120018
cmp ax, 0xb
je 0x10120018
cmp ax, 0x14
je 0x10120018
cmp ax, 0x19
je 0x10120018
cmp ax, 0x1b
je 0x10120018
cmp ax, 0x1e
jne 0x1012027e
mov cl, byte [esi + 0x72]
cmp byte [0x10a1f5c6], cl
je 0x1012027e
cmp ax, 0x1b
jne 0x1012007f
cmp cl, 4
jne 0x10120055
mov dword [ebp - 0x220], 0x3f028f5c
mov dword [ebp - 0x21c], 0x3e4ccccd
mov dword [ebp - 0x218], 0x3f170a3d
jmp 0x1012033a
cmp cl, 2
jne 0x101200fa
fldz
mov dword [ebp - 0x21c], 0x3f170a3d
fstp dword [ebp - 0x220]
mov dword [ebp - 0x218], 0x3e9eb852
jmp 0x1012033a
cmp ax, 0x1e
jne 0x101200c5
cmp cl, 4
jne 0x101200a7
fldz
fstp dword [ebp - 0x220]
fld1
fstp dword [ebp - 0x21c]
fldz
fstp dword [ebp - 0x218]
jmp 0x1012033a
cmp cl, 2
jne 0x101200fa
mov dword [ebp - 0x220], 0x3f400000
mov dword [ebp - 0x21c], 0x3e800000
jmp 0x10120311
cmp cl, 1
jne 0x101200d1
push 0x11
jmp 0x101203b8
cmp cl, 2
jne 0x101200dd
push 0x12
jmp 0x101203b8
cmp cl, 4
jne 0x101200fa
push 2
pop edx
fld dword [0x1018dc3c]
fld dword [ebp - 0x230]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1012010f
mov esi, edx
shl esi, 4
add esi, 0x101c4838
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.101521d0
xor edi, edi
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], edi
call fcn.10152020
mov ax, word [ebx + 0x518]
cmp ax, di
jbe 0x10120179
mov ecx, dword [0x10a1f6c0]
movzx eax, ax
mov esi, 0x9c40
push edi
add eax, esi
push eax
call fcn.10004b99
test al, al
je 0x10120179
mov ecx, dword [0x10a1f6c0]
lea eax, [ebp - 0x110]
push eax
call fcn.10004aa0
movzx eax, word [ebx + 0x518]
mov ecx, dword [0x10a1f6c0]
push edi
add eax, esi
push eax
call fcn.10004bb5
mov edi, dword [ebp - 0x240]
cmp byte [edi + 0xbd], 0
je 0x1012049c
mov ax, word [0x10a1f7b0]
cmp ax, 0xa
je 0x101201ba
cmp ax, 0xb
je 0x101201ba
cmp ax, 0x14
je 0x101201ba
cmp ax, 0x19
je 0x101201ba
cmp ax, 0x1b
je 0x101201ba
cmp ax, 0x1e
jne 0x101203d6
mov ecx, dword [ebx]
mov cl, byte [ecx + 0x72]
cmp cl, byte [0x10a1f5c6]
je 0x101203d6
cmp ax, 0x1b
je 0x101203be
cmp ax, 0x1e
je 0x101203be
lea ecx, [ebx + 0x3e6]
lea esi, [edi + 0xc5]
call fcn.10152000
push eax
mov eax, dword [ebx]
add eax, 0x24
push eax
push str._s__s
push esi
call fcn.10152030
add esp, 0x10
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
mov ecx, esi
call fcn.10152000
mov ecx, dword [0x10a139cc]
push eax
push 2
call fcn.100137e4
fld dword [ebp - 0x228]
mov eax, dword [ebp - 0x22c]
fsub dword [0x1018f1b8]
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.10152000
mov ecx, dword [0x10a139cc]
push eax
push 2
call fcn.100137e4
jmp 0x1012048a
cmp ax, 0x11
jne 0x1012037d
mov al, byte [esi + 0x111]
cmp al, 0x13
jb 0x1012037d
cmp byte [ebx + 0xbc], 2
jne 0x101202b6
fld1
mov dword [ebp - 0x21c], 0x3f170a3d
fstp dword [ebp - 0x220]
jmp 0x1012009a
cmp al, 0x13
jne 0x101202d5
fld dword [0x1019b648]
mov dword [ebp - 0x21c], 0x3f5c28f6
fst dword [ebp - 0x220]
jmp 0x1012009c
cmp al, 0x14
jne 0x101202f9
mov dword [ebp - 0x220], 0x3f7d70a4
mov dword [ebp - 0x21c], 0x3f0a3d71
mov dword [ebp - 0x218], 0x3f11eb85
jmp 0x1012033a
cmp al, 0x15
jne 0x10120318
mov dword [ebp - 0x220], 0x3f7d70a4
mov dword [ebp - 0x21c], 0x3f3d70a4
fld1
jmp 0x1012009c
cmp al, 0x16
jne 0x10120357
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 0x101200e5
cmp al, 0x17
jne 0x101200fa
fld dword [0x1019b644]
mov dword [ebp - 0x218], 0x3f28f5c3
fst dword [ebp - 0x220]
fstp dword [ebp - 0x21c]
jmp 0x1012033a
xor ecx, ecx
cmp word [esi + 0x7c], cx
jle 0x10120389
push 0xb
jmp 0x101203b8
mov eax, dword [esi + 0x108]
and eax, 0x40000000
or eax, ecx
je 0x1012039c
push 0xa
jmp 0x101203b8
cmp byte [ebx + 0xbc], 2
jne 0x101203a9
push 7
jmp 0x101203b8
cmp byte [ebx + 0x3e4], 1
jne 0x101200e5
push 6
pop edx
jmp 0x101200fa
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
lea ecx, [ebx + 0x2de]
jmp 0x10120265
mov eax, dword [ebx]
add eax, 0x24
push eax
call fcn.10165f20
test eax, eax
pop ecx
jbe 0x10120419
mov ecx, dword [0x10a139cc]
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.100137e4
fld dword [ebp - 0x228]
fadd dword [0x1018fe78]
fstp dword [ebp - 0x228]
lea ecx, [ebp - 0x210]
call fcn.101521d0
lea ecx, [ebx + 0x2de]
mov byte [ebp - 4], 1
call fcn.10152000
push eax
lea ecx, [ebp - 0x110]
call fcn.10152000
push eax
lea eax, [ebp - 0x210]
push str._s___s
push eax
call fcn.10152030
add esp, 0x10
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x210]
call fcn.10152000
mov ecx, dword [0x10a139cc]
push eax
push 2
call fcn.100137e4
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0
call fcn.101521c0
fld dword [ebp - 0x228]
fadd dword [0x1018fe78]
fstp dword [ebp - 0x228]
cmp byte [edi + 0xbe], 0
je 0x10120564
lea esi, [ebx + 0x120]
mov ecx, esi
call fcn.10152010
test al, al
jne 0x10120564
call dword [sym.imp.KERNEL32.dll_GetTickCount]
fld dword [0x1018f1f0]
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 [0x1018f1b8]
fstp dword [esp]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.10152000
mov ecx, dword [0x10a139cc]
push eax
push 2
call fcn.1001383e
fld dword [ebp - 0x228]
mov eax, dword [ebx + 0x220]
fadd dword [0x1018fe78]
add eax, 0x1388
cmp edi, eax
fstp dword [ebp - 0x228]
jle 0x10120564
mov ecx, esi
call fcn.10152020
mov ebx, dword [ebx]
cmp byte [ebx + 0x81], 0
je 0x101205a1
mov ecx, dword [0x10a139cc]
push 0x101c4888
lea eax, [ebp - 0x22c]
push eax
add ebx, 0xa4
push ebx
push 2
call fcn.100137e4
fld dword [ebp - 0x228]
fadd dword [0x1018fe78]
fstp dword [ebp - 0x228]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
call fcn.101521c0
jmp 0x101206bb
movzx eax, byte [esi + 0x80]
movzx ecx, byte [0x10a1f660]
sub eax, ecx
cmp eax, 0x1f
jl 0x101205ce
push 0x13
jmp 0x101205f0
cmp eax, 0x10
jl 0x101205d7
push 0x14
jmp 0x101205f0
cmp eax, 0xb
jl 0x101205e0
push 0x15
jmp 0x101205f0
cmp eax, 0xffffffe1
jg 0x101205e9
push 0x18
jmp 0x101205f0
cmp eax, 0xfffffff0
jg 0x101205f3
push 0x17
pop eax
jmp 0x10120603
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 0x10120650
cmp byte [ebx + 0x8d], 1
jne 0x10120650
shl eax, 4
add eax, 0x101c4838
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebx + 0x2de]
call fcn.10152000
mov ecx, dword [0x10a139cc]
push eax
push 2
call fcn.100137e4
fld dword [ebp - 0x228]
fadd dword [0x1018fe78]
fstp dword [ebp - 0x228]
cmp byte [edi + 0xbe], 0
je 0x101206bb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea esi, [ebx + 0x120]
mov ecx, esi
mov edi, eax
call fcn.10152010
test al, al
jne 0x101206bb
push 0x101c4928
lea eax, [ebp - 0x22c]
push eax
mov ecx, esi
call fcn.10152000
mov ecx, dword [0x10a139cc]
push eax
push 2
call fcn.100137e4
fld dword [ebp - 0x228]
mov eax, dword [ebx + 0x220]
fadd dword [0x1018fe78]
add eax, 0x1388
cmp edi, eax
fstp dword [ebp - 0x228]
jle 0x101206bb
mov ecx, esi
call fcn.10152020
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.10165cbe
leave
ret 4