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

Disassembly:
mov eax, 0x10177b8a
call fcn.101590a4
sub esp, 0x244
mov eax, dword [0x101b6f10]
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.1011e2bd
fld dword [ebp - 0x228]
fadd dword [ebx + 8]
mov esi, dword [ebx]
push 0xf
pop edx
fadd dword [0x10181170]
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 0x101202ef
cmp eax, 0x3e7
jg 0x101202ef
cmp byte [ebx + 0x8d], 1
jne 0x1011fce6
push 0xc
jmp 0x101200c8
mov ax, word [0x10a0b450]
cmp ax, 0xa
je 0x1011fd14
cmp ax, 0xb
je 0x1011fd14
cmp ax, 0x14
je 0x1011fd14
cmp ax, 0x19
je 0x1011fd14
cmp ax, 0x1b
je 0x1011fd14
cmp ax, 0x1e
jne 0x1011ff8e
mov cl, byte [esi + 0x72]
cmp byte [0x10a0b266], cl
je 0x1011ff8e
cmp ax, 0x1b
jne 0x1011fd7b
cmp cl, 4
jne 0x1011fd51
mov dword [ebp - 0x220], 0x3f028f5c
mov dword [ebp - 0x21c], 0x3e4ccccd
mov dword [ebp - 0x218], 0x3f170a3d
jmp 0x1012004a
cmp cl, 2
jne 0x1011fdf6
fldz
mov dword [ebp - 0x21c], 0x3f170a3d
fstp dword [ebp - 0x220]
mov dword [ebp - 0x218], 0x3e9eb852
jmp 0x1012004a
cmp ax, 0x1e
jne 0x1011fdc1
cmp cl, 4
jne 0x1011fda3
fldz
fstp dword [ebp - 0x220]
fld1
fstp dword [ebp - 0x21c]
fldz
fstp dword [ebp - 0x218]
jmp 0x1012004a
cmp cl, 2
jne 0x1011fdf6
mov dword [ebp - 0x220], 0x3f400000
mov dword [ebp - 0x21c], 0x3e800000
jmp 0x10120021
cmp cl, 1
jne 0x1011fdcd
push 0x11
jmp 0x101200c8
cmp cl, 2
jne 0x1011fdd9
push 0x12
jmp 0x101200c8
cmp cl, 4
jne 0x1011fdf6
push 2
pop edx
fld dword [0x1017fbf4]
fld dword [ebp - 0x230]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1011fe0b
mov esi, edx
shl esi, 4
add esi, 0x101b5838
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 - 0x210]
call fcn.101512c0
xor edi, edi
lea ecx, [ebp - 0x210]
mov dword [ebp - 4], edi
call fcn.10151110
mov ax, word [ebx + 0x518]
cmp ax, di
jbe 0x1011fe75
mov ecx, dword [0x10a0b360]
movzx eax, ax
mov esi, 0x9c40
push edi
add eax, esi
push eax
call fcn.10004ca3
test al, al
je 0x1011fe75
mov ecx, dword [0x10a0b360]
lea eax, [ebp - 0x210]
push eax
call fcn.10004bb4
movzx eax, word [ebx + 0x518]
mov ecx, dword [0x10a0b360]
push edi
add eax, esi
push eax
call fcn.10004cbf
mov esi, dword [ebp - 0x240]
cmp byte [esi + 0xbd], 0
je 0x101201d6
mov ax, word [0x10a0b450]
cmp ax, 0xa
je 0x1011feb6
cmp ax, 0xb
je 0x1011feb6
cmp ax, 0x14
je 0x1011feb6
cmp ax, 0x19
je 0x1011feb6
cmp ax, 0x1b
je 0x1011feb6
cmp ax, 0x1e
jne 0x101200fa
mov ecx, dword [ebx]
mov cl, byte [ecx + 0x72]
cmp cl, byte [0x10a0b266]
je 0x101200fa
cmp ax, 0x1b
je 0x101200ce
cmp ax, 0x1e
je 0x101200ce
lea ecx, [ebp - 0x110]
call fcn.101512c0
mov eax, dword [ebx]
mov edx, dword [eax + 0x10c]
mov ecx, dword [eax + 0x108]
push edx
push ecx
push edx
push ecx
push dword [eax + 0xc]
lea ecx, [ebx + 0x2de]
mov byte [ebp - 4], 1
call fcn.101510f0
push eax
lea eax, [ebp - 0x110]
push 0x1018d824
push eax
call fcn.10151120
add esp, 0x20
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x110]
call fcn.101510f0
mov ecx, dword [0x109ff66c]
push eax
push 2
call fcn.10013951
fld dword [ebp - 0x228]
mov eax, dword [ebp - 0x22c]
fsub dword [0x10181170]
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]
push eax
lea ecx, [ebp - 0x210]
call fcn.101510f0
jmp 0x101201a7
cmp ax, 0x11
jne 0x1012008d
mov al, byte [esi + 0x111]
cmp al, 0x13
jb 0x1012008d
cmp byte [ebx + 0xbc], 2
jne 0x1011ffc6
fld1
mov dword [ebp - 0x21c], 0x3f170a3d
fstp dword [ebp - 0x220]
jmp 0x1011fd96
cmp al, 0x13
jne 0x1011ffe5
fld dword [0x1018d530]
mov dword [ebp - 0x21c], 0x3f5c28f6
fst dword [ebp - 0x220]
jmp 0x1011fd98
cmp al, 0x14
jne 0x10120009
mov dword [ebp - 0x220], 0x3f7d70a4
mov dword [ebp - 0x21c], 0x3f0a3d71
mov dword [ebp - 0x218], 0x3f11eb85
jmp 0x1012004a
cmp al, 0x15
jne 0x10120028
mov dword [ebp - 0x220], 0x3f7d70a4
mov dword [ebp - 0x21c], 0x3f3d70a4
fld1
jmp 0x1011fd98
cmp al, 0x16
jne 0x10120067
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 0x1011fde1
cmp al, 0x17
jne 0x1011fdf6
fld dword [0x1018d504]
mov dword [ebp - 0x218], 0x3f28f5c3
fst dword [ebp - 0x220]
fstp dword [ebp - 0x21c]
jmp 0x1012004a
xor ecx, ecx
cmp word [esi + 0x7c], cx
jle 0x10120099
push 0xb
jmp 0x101200c8
mov eax, dword [esi + 0x108]
and eax, 0x40000000
or eax, ecx
je 0x101200ac
push 0xa
jmp 0x101200c8
cmp byte [ebx + 0xbc], 2
jne 0x101200b9
push 7
jmp 0x101200c8
cmp byte [ebx + 0x3e4], 1
jne 0x1011fde1
push 6
pop edx
jmp 0x1011fdf6
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebx + 0x2de]
call fcn.101510f0
mov ecx, dword [0x109ff66c]
push eax
push 2
call fcn.10013951
jmp 0x101201c4
mov eax, dword [ebx]
add eax, 0x24
push eax
call fcn.10158420
test eax, eax
pop ecx
jbe 0x1012013d
mov ecx, dword [0x109ff66c]
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.10013951
fld dword [ebp - 0x228]
fadd dword [0x10181e30]
fstp dword [ebp - 0x228]
lea ecx, [ebp - 0x110]
call fcn.101512c0
mov eax, dword [ebx]
movzx ecx, byte [eax + 0x7e]
push ecx
push dword [eax + 0x10c]
lea ecx, [ebx + 0x2de]
push dword [eax + 0x108]
mov byte [ebp - 4], 2
push dword [eax + 0xc]
call fcn.101510f0
push eax
lea ecx, [ebp - 0x210]
call fcn.101510f0
push eax
lea eax, [ebp - 0x110]
push str._s___s
push eax
call fcn.10151120
add esp, 0x20
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x110]
call fcn.101510f0
mov ecx, dword [0x109ff66c]
push eax
push 2
call fcn.10013951
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0
call fcn.101512b0
fld dword [ebp - 0x228]
fadd dword [0x10181e30]
fstp dword [ebp - 0x228]
cmp byte [esi + 0xbe], 0
je 0x1012029e
lea esi, [ebx + 0x120]
mov ecx, esi
call fcn.10151100
test al, al
jne 0x1012029e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
fld dword [0x101811a8]
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 [0x10181170]
fstp dword [esp]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.101510f0
mov ecx, dword [0x109ff66c]
push eax
push 2
call fcn.100139ab
fld dword [ebp - 0x228]
mov eax, dword [ebx + 0x220]
fadd dword [0x10181e30]
add eax, 0x1388
cmp edi, eax
fstp dword [ebp - 0x228]
jle 0x1012029e
mov ecx, esi
call fcn.10151110
mov ebx, dword [ebx]
cmp byte [ebx + 0x81], 0
je 0x101202db
mov ecx, dword [0x109ff66c]
push 0x101b5888
lea eax, [ebp - 0x22c]
push eax
add ebx, 0xa4
push ebx
push 2
call fcn.10013951
fld dword [ebp - 0x228]
fadd dword [0x10181e30]
fstp dword [ebp - 0x228]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x210]
call fcn.101512b0
jmp 0x10120455
movzx eax, byte [esi + 0x80]
movzx ecx, byte [0x10a0b300]
sub eax, ecx
cmp eax, 0x1f
jl 0x10120308
push 0x13
jmp 0x1012032a
cmp eax, 0x10
jl 0x10120311
push 0x14
jmp 0x1012032a
cmp eax, 0xb
jl 0x1012031a
push 0x15
jmp 0x1012032a
cmp eax, 0xffffffe1
jg 0x10120323
push 0x18
jmp 0x1012032a
cmp eax, 0xfffffff0
jg 0x1012032d
push 0x17
pop esi
jmp 0x1012033d
xor ecx, ecx
cmp eax, 0xfffffff5
setg cl
dec ecx
and ecx, 7
add ecx, edx
mov esi, ecx
cmp byte [edi + 0xbd], 0
je 0x101203ea
cmp byte [ebx + 0x8d], 1
jne 0x101203ea
lea ecx, [ebp - 0x110]
call fcn.101512c0
mov eax, dword [ebx]
movzx ecx, byte [eax + 0x7e]
push ecx
push dword [eax + 0x10c]
lea ecx, [ebx + 0x2de]
push dword [eax + 0x108]
mov dword [ebp - 4], 3
push dword [eax + 0xc]
call fcn.101510f0
push eax
lea eax, [ebp - 0x110]
push 0x1018d7e0
push eax
call fcn.10151120
add esp, 0x1c
shl esi, 4
add esi, 0x101b5838
push esi
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x110]
call fcn.101510f0
mov ecx, dword [0x109ff66c]
push eax
push 2
call fcn.10013951
fld dword [ebp - 0x228]
fadd dword [0x10181e30]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
fstp dword [ebp - 0x228]
call fcn.101512b0
cmp byte [edi + 0xbe], 0
je 0x10120455
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea esi, [ebx + 0x120]
mov ecx, esi
mov edi, eax
call fcn.10151100
test al, al
jne 0x10120455
push 0x101b5928
lea eax, [ebp - 0x22c]
push eax
mov ecx, esi
call fcn.101510f0
mov ecx, dword [0x109ff66c]
push eax
push 2
call fcn.10013951
fld dword [ebp - 0x228]
mov eax, dword [ebx + 0x220]
fadd dword [0x10181e30]
add eax, 0x1388
cmp edi, eax
fstp dword [ebp - 0x228]
jle 0x10120455
mov ecx, esi
call fcn.10151110
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.101581be
leave
ret 4