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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1007f66a
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 ebp, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x597dc]
cmp ecx, 2
je 0x1003e138
xor eax, eax
mov dword [ebp + 0x94], eax
mov dword [ebp + 0x98], eax
xor eax, eax
jmp 0x1003f7a1
mov ebx, dword [eax + 0x59774]
xor esi, esi
cmp ebx, esi
je 0x1003e131
mov eax, ebp
call fcn.10001990
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x597e0]
cmp eax, 4
jne 0x1003e173
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.1001be00
push ebp
call fcn.10004230
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x597b0], esi
ja 0x1003e1c3
mov ecx, dword [0x1009a210]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebx + 0xfc], esi
mov eax, dword [ebp + 0x14]
add eax, 0x597e8
lea ebx, [esp + 0x38]
mov dword [esp + 0x38], 2
call fcn.100053d0
mov dword [eax], esi
mov dword [ebp + 0x38], esi
jmp 0x1003f79c
cmp dword [ebx + 0xa4], esi
jne 0x1003f79c
cmp dword [ebx + 0xa8], esi
jne 0x1003f79c
add eax, 0x597a8
cmp dword [eax + 8], esi
mov dword [esp + 0x30], eax
jne 0x1003e1f4
push ebx
call fcn.10004080
jmp 0x1003f79c
call fcn.100052e0
mov esi, eax
mov dword [esp + 0x34], esi
call fcn.1005a620
fld dword [esi + 0xc]
fstp dword [esp + 0x60]
lea eax, [esp + 0x48]
fld dword [esi + 8]
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esi + 0x10]
fstp dword [esp + 0x64]
fld dword [esi + 0x14]
fstp dword [esp + 0x68]
fld dword [ebx + 0x24]
fstp dword [esp + 0x4c]
fld dword [ebx + 0x20]
fstp dword [esp + 0x48]
fld dword [ebx + 0x28]
fstp dword [esp + 0x50]
fld dword [ebx + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fst qword [esp + 0x3c]
fcomp qword [0x1008b750]
fnstsw ax
test ah, 5
jp 0x1003e2ec
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 + 0x48]
add esp, 4
fld dword [0x1008b71c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1003e2b6
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edi, dword [esp + 0x34]
call fcn.10004d90
test eax, eax
jne 0x1003e2ec
mov eax, edi
call fcn.10004040
cmp eax, 0x64
jne 0x1003f79c
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, edi
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
jmp 0x1003f79c
call fcn.10064a60
test eax, eax
mov esi, dword [esp + 0x34]
je 0x1003e322
mov eax, esi
call fcn.10003fe0
test eax, eax
jne 0x1003e322
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
mov edx, dword [ebp + 0x14]
push edx
mov eax, esi
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
call fcn.10065520
test eax, eax
je 0x1003e33c
mov al, 0
mov ecx, dword [0x1009a43c]
mov byte [ecx], al
add dword [ebp + 0x90], 1
cmp dword [ebp + 0x38], 0
mov edi, 0x211
jne 0x1003e363
fld dword [ebx + 0x24]
fstp dword [ebp + 0x28]
fld dword [ebx + 0x20]
fstp dword [ebp + 0x24]
fld dword [ebx + 0x28]
fstp dword [ebp + 0x2c]
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x38], 1
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x60]
push ecx
push eax
mov eax, ebx
call fcn.100040c0
test eax, eax
je 0x1003e45d
fld qword [0x1008b798]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1003e3bd
fld dword [esp + 0x60]
mov dword [ebp + 0x34], edi
fld dword [esp + 0x4c]
mov dword [ebp + 0x38], 1
fsubr st(1)
fdiv st(2)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x5c]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebp + 0x24]
jmp 0x1003e3bf
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 + 0x48]
add esp, 4
fld dword [0x1008b7e8]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1003e41d
push ebx
call fcn.10004080
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10022bd0
mov edx, dword [ebp + 0x34]
lea eax, [ebp + 0x24]
mov ecx, 1
mov esi, ebx
call fcn.1004a2f0
cmp eax, 2
jne 0x1003e44f
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x38]
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
jmp 0x1003e4e4
cmp eax, 1
jne 0x1003e4eb
jmp 0x1003e4e4
fld dword [esi + 0xc]
fstp dword [esp + 0x74]
mov edx, dword [esp + 0x74]
fld dword [esi + 8]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x80]
fstp dword [esp + 0x70]
fld dword [esi + 0x10]
mov ecx, dword [esp + 0x70]
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fld dword [esi + 0x14]
mov dword [esp + 0x5c], ecx
fstp dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
fld dword [ebx + 0x24]
mov dword [esp + 0x64], eax
fstp dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
fld dword [ebx + 0x20]
lea eax, [esp + 0x48]
fstp dword [esp + 0x48]
lea ecx, [esp + 0x5c]
fld dword [ebx + 0x28]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [ebx + 0x2c]
fstp dword [esp + 0x54]
call fcn.10023f00
fcomp qword [0x1008b798]
fnstsw ax
test ah, 5
jp 0x1003f735
push ebx
call fcn.10004080
mov dword [ebp + 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 + 0x48]
add esp, 4
fld dword [0x1008b7e8]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.10022b80
add esp, 0xc
test eax, eax
jne 0x1003e549
push ebx
call fcn.10004080
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10022bd0
push 0x11
call fcn.1004b2a0
test eax, eax
je 0x1003e57e
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx]
add eax, 0x18
push eax
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
test eax, eax
je 0x1003e57e
mov edx, dword [ebx]
mov eax, dword [edx + 0x4c]
mov ecx, ebx
call eax
test eax, eax
jle 0x1003e57e
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
push 0x12
call fcn.1004b2a0
test eax, eax
je 0x1003e5b3
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx]
add eax, 0x18
push eax
mov eax, dword [edx + 0x3c]
mov ecx, ebx
call eax
test eax, eax
je 0x1003e5b3
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
test eax, eax
jle 0x1003e5b3
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
mov ecx, ebx
call eax
push 0x19
call fcn.1004b2a0
test eax, eax
je 0x1003e5d8
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebx
call eax
test eax, eax
jle 0x1003e5d8
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x19
mov ecx, ebx
call eax
push 0x1a
call fcn.1004b2a0
test eax, eax
je 0x1003e5fd
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebx
call eax
test eax, eax
jle 0x1003e5fd
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
fld qword [0x1008b758]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1003f731
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x1f4
jbe 0x1003f731
mov eax, ebx
call fcn.100040a0
cmp eax, 0x14
jae 0x1003e76c
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008a618
call fcn.10001a30
lea edx, [esp + 0x38]
lea ecx, [ebp + 0x68]
push edx
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003e6e5
cmp dword [esi + 0x14], 0
jne 0x1003e6e5
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1003e6e5
mov edi, 0x64ab
mov eax, ebx
call fcn.1004a9c0
test eax, eax
jne 0x1003e6e5
call fcn.1004ad60
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
push edx
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1003f79c
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008a620
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
lea ecx, [ebp + 0x68]
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003e76c
cmp dword [esi + 0x14], 0
jne 0x1003e76c
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1003e76c
mov edi, 0x64ab
mov eax, ebx
call fcn.1004a9c0
test eax, eax
je 0x1003e6c7
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x354], 0
je 0x1003e82e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008a628
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
lea ecx, [ebp + 0x68]
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003e8c3
cmp dword [esi + 0x14], 0
jne 0x1003e8c3
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1003e8c3
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov eax, ebx
call fcn.1004a950
test eax, eax
jne 0x1003e8c3
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebx]
mov edx, dword [edx + 0x14]
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1003f79c
cmp dword [eax + 0x358], 0
je 0x1003e8c3
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a634
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 3
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003e8c3
cmp dword [esi + 0x14], 0
jne 0x1003e8c3
mov esi, dword [esi]
call fcn.10064990
test eax, eax
je 0x1003e8c3
mov edx, dword [esp + 0x30]
mov edi, dword [edx]
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1003e6c7
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008a640
call fcn.10001a30
lea edx, [esp + 0x38]
lea edi, [ebp + 0x68]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 4
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003e94a
mov eax, ebx
call fcn.1002a730
cmp eax, 0xf
jbe 0x1003e94a
cmp dword [esi + 0x14], 0
jne 0x1003e94a
mov eax, esi
mov esi, dword [eax]
call fcn.10064990
test eax, eax
jne 0x1003e810
mov eax, ebx
call fcn.1004aa20
test eax, eax
je 0x1003e9e9
push 3
mov eax, ebx
call fcn.1004e410
test eax, eax
jne 0x1003e973
push 4
mov eax, ebx
call fcn.1004e410
test eax, eax
je 0x1003e9e9
mov eax, ebx
call fcn.1002a730
cmp eax, 0xf
jbe 0x1003e9e9
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a64c
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 5
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003e9e9
call fcn.1004ad60
mov eax, dword [esi]
push eax
jmp 0x1003e817
fld qword [0x1008b798]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1003eb12
lea eax, [esp + 0x38]
fstp st(0)
push eax
mov ecx, 0x1008a654
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 6
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003ea88
cmp dword [esi + 0x14], 0
jne 0x1003ea88
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1003ea88
mov eax, ebx
call fcn.1002a730
cmp eax, 0xa
ja 0x1003e6c7
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008a65c
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 7
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003eb0e
mov eax, esi
cmp dword [eax + 0x14], 0
jne 0x1003eb0e
mov ecx, esi
mov esi, dword [ecx]
call fcn.10064990
test eax, eax
je 0x1003eb0e
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
ja 0x1003e810
fld qword [esp + 0x3c]
fld qword [0x1008b798]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1003f72f
fcomp qword [0x1008b7e0]
fnstsw ax
test ah, 0x41
jp 0x1003eb37
call fcn.1002a700
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a664
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 8
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003ebdd
mov eax, dword [esp + 0x34]
call fcn.10004040
cmp eax, 0x50
jbe 0x1003ebdd
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1003ebdd
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0
jne 0x1003ebdd
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebx]
mov edx, dword [edx + 0x14]
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
xor eax, eax
jmp 0x1003f7a1
lea eax, [esp + 0x38]
push eax
mov ecx, str.yW_rY
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 9
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003ec7d
mov eax, ebx
call fcn.1002a730
cmp eax, 0xa
jbe 0x1003ec7d
cmp dword [esi + 0x14], 0
jne 0x1003ec7d
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1003ec7d
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
push edx
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
xor eax, eax
jmp 0x1003f7a1
lea ecx, [esp + 0x38]
push ecx
mov ecx, str.WQO_g
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0xa
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003ed05
mov eax, esi
mov esi, dword [eax]
call fcn.10064990
test eax, eax
je 0x1003ed05
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x14], 0
jne 0x1003ed05
mov eax, ebx
call fcn.100040a0
cmp eax, 0x50
jb 0x1003ebbd
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a684
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0xb
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003ed89
mov eax, ebx
call fcn.1002a730
cmp eax, 0xf
jbe 0x1003ed89
cmp dword [esi + 0x14], 0
jne 0x1003ed89
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
jne 0x1003ec5d
mov eax, ebx
call fcn.100040a0
cmp eax, 0x3c
ja 0x1003ee2e
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x1008a68c
call fcn.10001a30
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0xc
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
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 0x1003ee2e
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003ee2e
cmp dword [edi + 0x14], 0
jne 0x1003ee2e
cmp dword [ebx + 0x60], 3
jb 0x1003ee2e
call fcn.1004ad60
mov ecx, dword [edi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
xor eax, eax
jmp 0x1003f7a1
push 0xa
mov eax, ebp
call fcn.10004c90
mov dword [esp + 0x34], eax
mov edi, 0x1603e
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1003efc0
mov eax, ebx
call fcn.100040a0
cmp eax, 0x3c
ja 0x1003eed7
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a68c
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0xd
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, ebp
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 0x1003eed7
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003eed7
cmp dword [edi + 0x14], 0
jne 0x1003eed7
call fcn.1004ad60
mov eax, dword [edi]
push eax
jmp 0x1003ebc4
cmp dword [esp + 0x34], 1
jle 0x1003ef4d
lea eax, [esp + 0x38]
push eax
mov ecx, str.yW
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0xe
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, ebp
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 0x1003ef4d
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003ef4d
cmp dword [edi + 0x14], 0
je 0x1003eecf
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a6a4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0xf
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, ebp
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 0x1003efc0
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003efc0
cmp dword [edi + 0x14], 0
je 0x1003eecf
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a6b4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x10
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, ebp
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 0x1003f033
cmp dword [edi + 0x14], 0
jne 0x1003f033
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1003eecf
cmp dword [esp + 0x34], 1
jle 0x1003f0ad
lea eax, [esp + 0x38]
push eax
mov ecx, str.ckINKN_
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x11
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, ebp
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 0x1003f0ad
cmp dword [edi + 0x14], 0
jne 0x1003f0ad
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1003eecf
lea eax, [esp + 0x38]
push eax
mov ecx, str.ASW_
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x12
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, ebp
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 0x1003f132
mov eax, ebx
call fcn.1002a730
cmp eax, 0xa
jbe 0x1003f132
cmp dword [edi + 0x14], 0
jne 0x1003f132
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f132
cmp dword [ebx + 0x60], 3
jb 0x1003eecf
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a654
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x13
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, ebp
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 0x1003f1df
cmp dword [edi + 0x14], 0
jne 0x1003f1df
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f1df
mov eax, ebx
call fcn.1002a730
mov esi, eax
cmp esi, 0xa
jbe 0x1003f1df
mov ecx, dword [ebx + 0x60]
xor edx, edx
test ecx, ecx
sete dl
cmp edx, 3
jge 0x1003f1df
cmp esi, 0x50
jae 0x1003f1df
mov ecx, dword [edi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
xor eax, eax
jmp 0x1003f7a1
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a6d8
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x14
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003f277
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1003f277
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0
jne 0x1003f277
mov ecx, eax
mov edi, dword [ecx]
mov eax, ebx
call fcn.1004a950
test eax, eax
jne 0x1003f277
mov eax, ebx
call fcn.100040a0
cmp eax, 0x50
jbe 0x1003ebbd
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a6e4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x15
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, ebp
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 0x1003f2f6
mov eax, ebx
call fcn.100040a0
cmp eax, 0x28
ja 0x1003f2f6
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f2f6
cmp dword [edi + 0x14], 0
je 0x1003eecf
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a6f4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x16
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, ebp
mov dword [esi], eax
call fcn.10001590
mov esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.1001f1f0
test esi, esi
je 0x1003f388
mov edx, esi
mov esi, dword [edx]
call fcn.10064990
test eax, eax
je 0x1003f388
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0
jne 0x1003f388
cmp dword [ebx + 0x60], 1
jb 0x1003f388
mov ecx, eax
mov edi, dword [ecx]
mov eax, ebx
call fcn.1004a950
test eax, eax
je 0x1003ebbd
cmp dword [esp + 0x34], 1
jle 0x1003f414
lea eax, [esp + 0x38]
push eax
mov ecx, str.yW
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x17
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, ebp
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 0x1003f414
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f414
cmp dword [edi + 0x14], 0
jne 0x1003f414
cmp dword [ebx + 0x60], 3
jb 0x1003f48d
mov eax, dword [edi]
push eax
jmp 0x1003ebc4
cmp dword [ebx + 0x60], 3
jb 0x1003f48d
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a6a4
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x18
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, ebp
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 0x1003f48d
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f48d
cmp dword [edi + 0x14], 0
je 0x1003eecf
cmp dword [esp + 0x34], 2
jl 0x1003f513
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a700
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x19
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
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 0x1003f513
cmp dword [edi + 0x14], 0
jne 0x1003f513
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f513
mov eax, ebx
call fcn.1002a730
cmp eax, 0x14
ja 0x1003eecf
mov eax, ebx
call fcn.100040a0
cmp eax, 0x3c
jae 0x1003f5ac
mov eax, ebx
call fcn.1002a730
cmp eax, 0x12
jbe 0x1003f5ac
lea eax, [esp + 0x38]
push eax
mov ecx, str.WIQs
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x1a
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
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 0x1003f5ac
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f5ac
mov eax, edi
call fcn.1002a6c0
test eax, eax
jne 0x1003f5ac
cmp dword [edi + 0x14], eax
je 0x1003eeca
lea eax, [esp + 0x38]
push eax
mov ecx, str.ASW_
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x1b
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
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 0x1003f62b
mov eax, ebx
call fcn.1002a730
cmp eax, 0xa
jbe 0x1003f62b
cmp dword [edi + 0x14], 0
jne 0x1003f62b
mov esi, dword [edi]
call fcn.10064990
test eax, eax
jne 0x1003eecf
lea eax, [esp + 0x38]
push eax
mov ecx, 0x1008a654
call fcn.10001a30
lea ecx, [esp + 0x38]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x1c
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
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 0x1003f6aa
cmp dword [edi + 0x14], 0
jne 0x1003f6aa
mov esi, dword [edi]
call fcn.10064990
test eax, eax
je 0x1003f6aa
mov eax, ebx
call fcn.1002a730
cmp eax, 0xa
ja 0x1003eecf
lea eax, [esp + 0x30]
push eax
mov ecx, str.R_e
call fcn.10001a30
lea ecx, [esp + 0x30]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 0x1d
call fcn.10005150
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001cb0
add eax, 0x10
mov ecx, ebp
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 0x1003f731
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 0x1003f731
mov eax, esi
call fcn.1002a6e0
test eax, eax
jne 0x1003f731
mov eax, dword [esi]
push eax
jmp 0x1003ebc4
fstp st(0)
xor eax, eax
jmp 0x1003f7a1
fld dword [esp + 0x74]
lea eax, [ebp + 0x24]
fld dword [esp + 0x4c]
mov ecx, 1
fsubr st(1)
mov edx, edi
fld qword [esp + 0x3c]
mov esi, ebx
mov dword [ebp + 0x34], edi
fdiv st(1), st(0)
mov dword [ebp + 0x38], ecx
fxch st(2)
fsubrp st(1)
fstp dword [ebp + 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 0x1003f790
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x38]
call fcn.1001ca30
mov eax, dword [esp + 0x30]
call fcn.10005300
jmp 0x1003f795
cmp eax, 1
jne 0x1003f79c
mov dword [ebp + 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