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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x10081c57
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10097060]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x597dc]
cmp eax, 2
jne 0x10057dff
mov eax, ebx
call fcn.10004f00
test eax, eax
je 0x10057dff
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + 0x59774]
lea ebp, [eax + 0x597a8]
mov eax, dword [ebp + 8]
test eax, eax
mov dword [esp + 0x2c], esi
jne 0x10057e06
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [esi + 0xfc], 0
xor eax, eax
jmp 0x10058e7b
mov eax, dword [ebp + 4]
mov edi, dword [eax]
cmp edi, eax
jne 0x10057e14
call fcn.10067664
add edi, 8
mov ecx, edi
mov dword [esp + 0x38], edi
call fcn.10063a70
fld dword [edi + 0xc]
fstp dword [esp + 0x60]
neg eax
fld dword [edi + 8]
sbb eax, eax
fstp dword [esp + 0x5c]
add eax, 1
fld dword [edi + 0x10]
mov dword [edi + 0xa0], eax
fstp dword [esp + 0x64]
lea eax, [esp + 0x48]
fld dword [edi + 0x14]
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x68]
fld dword [esi + 0x24]
fstp dword [esp + 0x4c]
fld dword [esi + 0x20]
fstp dword [esp + 0x48]
fld dword [esi + 0x28]
fstp dword [esp + 0x50]
fld dword [esi + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fst qword [esp + 0x3c]
fcomp qword [0x1008b750]
fnstsw ax
test ah, 5
jp 0x10057f11
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.10059120
fstp dword [esp + 0x40]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x10057ee1
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.10022bd0
call fcn.10004d90
test eax, eax
jne 0x10057f11
mov eax, edi
call fcn.10004040
cmp eax, 0x64
jne 0x10058e76
mov ecx, dword [ebx + 0x14]
push ecx
mov eax, edi
call fcn.1001ca30
mov eax, ebp
call fcn.10005300
jmp 0x10058e76
call fcn.10064a60
test eax, eax
je 0x10057f41
mov eax, edi
call fcn.10003fe0
test eax, eax
jne 0x10057f41
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
mov edx, dword [ebx + 0x14]
push edx
mov eax, edi
call fcn.1001ca30
mov eax, ebp
call fcn.10005300
cmp dword [ebx + 0x38], 0
jne 0x10057f67
fld dword [esi + 0x24]
fstp dword [ebx + 0x28]
fld dword [esi + 0x20]
fstp dword [ebx + 0x24]
fld dword [esi + 0x28]
fstp dword [ebx + 0x2c]
mov dword [ebx + 0x34], 0x211
mov dword [ebx + 0x38], 1
mov ecx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
push ecx
push eax
mov eax, esi
call fcn.100040c0
test eax, eax
je 0x1005805f
fld qword [0x1008b798]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x10057fc5
fld dword [esp + 0x60]
mov dword [ebx + 0x34], 0x211
fld dword [esp + 0x4c]
mov dword [ebx + 0x38], 1
fsubr st(1)
fdiv st(2)
fsubp st(1)
fstp dword [ebx + 0x28]
fld dword [esp + 0x5c]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebx + 0x24]
jmp 0x10057fc7
fstp st(0)
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.10059120
fstp dword [esp + 0x40]
add esp, 4
fld dword [0x1008b7e8]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x10058025
push esi
call fcn.10004080
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edx, dword [ebx + 0x34]
lea eax, [ebx + 0x24]
mov ecx, 1
call fcn.1004a2f0
cmp eax, 2
jne 0x10058051
mov eax, dword [ebx + 0x14]
push eax
mov eax, edi
call fcn.1001ca30
mov eax, ebp
call fcn.10005300
jmp 0x100580e6
cmp eax, 1
jne 0x100580ed
jmp 0x100580e6
fld dword [edi + 0xc]
fstp dword [esp + 0x74]
mov edx, dword [esp + 0x74]
fld dword [edi + 8]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x80]
fstp dword [esp + 0x70]
fld dword [edi + 0x10]
mov ecx, dword [esp + 0x70]
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fld dword [edi + 0x14]
mov dword [esp + 0x5c], ecx
fstp dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
fld dword [esi + 0x24]
mov dword [esp + 0x64], eax
fstp dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
fld dword [esi + 0x20]
lea eax, [esp + 0x48]
fstp dword [esp + 0x48]
lea ecx, [esp + 0x5c]
fld dword [esi + 0x28]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [esi + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fcomp qword [0x1008b798]
fnstsw ax
test ah, 5
jp 0x10058e0e
push esi
call fcn.10004080
mov dword [ebx + 0x38], 0
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.10059120
fstp dword [esp + 0x40]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x10058145
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov edi, ebx
call fcn.10004f90
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x1005816f
mov eax, dword [esi + 0x34]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, 0x32
jbe 0x10058225
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008a8e4
call fcn.10001a30
lea ecx, [esp + 0x34]
lea ebp, [ebx + 0x68]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 0
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x100582ca
mov edx, esi
cmp dword [edx + 0x14], 0
jne 0x100582ca
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x100582ca
mov eax, esi
mov esi, dword [eax]
call fcn.10064990
test eax, eax
je 0x100582ca
mov ecx, dword [esp + 0x30]
mov edi, dword [ecx]
mov eax, dword [esp + 0x2c]
call fcn.1004a950
test eax, eax
jne 0x100582ca
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
jmp 0x100582be
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.4lKN
call fcn.10001a30
lea edx, [esp + 0x34]
lea ebp, [ebx + 0x68]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 1
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x100582ca
cmp dword [esi + 0x14], 0
jne 0x100582ca
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x100582ca
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x100582ca
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov eax, dword [esp + 0x2c]
call fcn.1004a950
test eax, eax
jne 0x100582ca
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x14]
call eax
fld qword [0x1008b730]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x10058e76
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x3c]
cmp eax, 0x1f4
jbe 0x10058e76
lea ecx, [esp + 0x34]
push ecx
mov ecx, 0x1008afbc
call fcn.10001a30
lea edx, [esp + 0x34]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 2
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x100583ad
cmp dword [edi + 0x14], 0
jne 0x100583ad
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x100583ad
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x100583ad
mov esi, dword [esp + 0x2c]
mov eax, esi
call fcn.1002a730
cmp eax, 0x14
jbe 0x100583ad
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x64]
push ecx
push eax
mov eax, esi
call fcn.100040c0
test eax, eax
je 0x100583ad
mov ecx, dword [edi]
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, esi
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
jmp 0x10058e76
fld qword [0x1008b798]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x10058e76
push 0xa
mov eax, ebx
call fcn.10004c90
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov edi, 0x7368
call fcn.1004a9c0
test eax, eax
je 0x10058473
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008aee0
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 3
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058473
cmp dword [edi + 0x14], 0
jne 0x10058473
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058473
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058473
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xa
jbe 0x10058473
mov eax, dword [edi]
jmp 0x10058df7
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008aeec
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 4
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x1005850c
cmp dword [edi + 0x14], 0
jne 0x1005850c
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1005850c
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1005850c
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xa
jbe 0x1005850c
mov eax, dword [esp + 0x2c]
call fcn.100040a0
cmp eax, 0x32
jb 0x1005846c
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008aefc
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 5
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x100585a5
cmp dword [edi + 0x14], 0
jne 0x100585a5
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x100585a5
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x100585a5
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xa
jbe 0x100585a5
mov eax, dword [esp + 0x2c]
call fcn.100040a0
cmp eax, 0x50
jb 0x1005846c
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008af0c
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 6
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058630
cmp dword [edi + 0x14], 0
jne 0x10058630
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058630
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058630
mov eax, dword [esp + 0x2c]
call fcn.100040a0
cmp eax, 0x50
jb 0x1005846c
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008af18
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 7
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x100586bb
cmp dword [edi + 0x14], 0
jne 0x100586bb
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x100586bb
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x100586bb
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0x32
jb 0x1005846c
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008af24
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 8
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058746
cmp dword [edi + 0x14], 0
jne 0x10058746
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058746
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058746
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xa
ja 0x1005846c
cmp dword [esp + 0x30], 2
jl 0x10058ab5
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008af38
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 9
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x100587ce
cmp dword [edi + 0x14], 0
jne 0x100587ce
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x100587ce
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1005846c
lea eax, [esp + 0x34]
push eax
mov ecx, 0x1008af44
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 0xa
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058859
cmp dword [edi + 0x14], 0
jne 0x10058859
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058859
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058859
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xf
ja 0x1005846c
lea eax, [esp + 0x34]
push eax
mov ecx, str.kp0q
call fcn.10001a30
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0xc4], 0xb
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x10058918
cmp dword [esi + 0x14], 0
jne 0x10058918
mov eax, esi
call fcn.1002a6c0
test eax, eax
jne 0x10058918
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x10058918
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xf
jbe 0x10058918
mov eax, dword [esp + 0x38]
mov edi, 0x1f72
call fcn.1005a640
test eax, eax
je 0x10058918
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx]
mov edx, dword [edx]
mov eax, dword [eax + 0x14]
push edx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
jmp 0x10058e76
lea ecx, [esp + 0x38]
push ecx
mov ecx, str.kpCQ_
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0xc
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x100589ad
cmp dword [edi + 0x14], 0
jne 0x100589ad
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x100589ad
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x100589ad
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov edx, dword [edi]
mov eax, dword [eax + 0x14]
push edx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
jmp 0x10058e76
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008af68
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0xd
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058a2a
cmp dword [edi + 0x14], 0
jne 0x10058a2a
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058a2a
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x10058991
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008af88
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0xe
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058ab5
cmp dword [edi + 0x14], 0
jne 0x10058ab5
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058ab5
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058ab5
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xf
ja 0x10058991
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008afc8
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0xf
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058b40
cmp dword [edi + 0x14], 0
jne 0x10058b40
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058b40
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058b40
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xf
ja 0x10058991
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008afd4
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0x10
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058bcb
cmp dword [edi + 0x14], 0
jne 0x10058bcb
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058bcb
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058bcb
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0x14
ja 0x10058991
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008afe0
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0x11
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058c56
cmp dword [edi + 0x14], 0
jne 0x10058c56
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058c56
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058c56
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0xf
ja 0x10058991
lea ecx, [esp + 0x38]
push ecx
mov ecx, str.Y0W_a
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0x12
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058ce1
cmp dword [edi + 0x14], 0
jne 0x10058ce1
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058ce1
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058ce1
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0x14
ja 0x10058991
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008af9c
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 0x13
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test edi, edi
je 0x10058d6c
cmp dword [edi + 0x14], 0
jne 0x10058d6c
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x10058d6c
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x10058d6c
mov eax, dword [esp + 0x2c]
call fcn.1002a730
cmp eax, 0x14
ja 0x10058991
lea ecx, [esp + 0x30]
push ecx
mov ecx, str.R_e
call fcn.10001a30
lea edx, [esp + 0x30]
push edx
lea ecx, [ebx + 0x74]
mov dword [esp + 0xc4], 0x14
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x30]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x10058e76
mov eax, dword [esi]
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x64]
call eax
test eax, eax
jne 0x10058e76
mov eax, esi
call fcn.1002a6e0
test eax, eax
jne 0x10058e76
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
push eax
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
jmp 0x10058e76
fld dword [esp + 0x74]
lea eax, [ebx + 0x24]
fld dword [esp + 0x4c]
mov ecx, 1
fsubr st(1)
mov edx, 0x211
fld qword [esp + 0x3c]
mov dword [ebx + 0x34], 0x211
mov dword [ebx + 0x38], ecx
fdiv st(1), st(0)
fxch st(2)
fsubrp st(1)
fstp dword [ebx + 0x28]
fld dword [esp + 0x70]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [eax]
call fcn.1004a2f0
cmp eax, 2
jne 0x10058e6a
mov eax, dword [ebx + 0x14]
push eax
mov eax, edi
call fcn.1001ca30
mov eax, ebp
call fcn.10005300
jmp 0x10058e6f
cmp eax, 1
jne 0x10058e76
mov dword [ebx + 0x38], 0
mov eax, 1
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4