Function at 0x100028e1
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x10184080]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x74], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x74]
mov ecx, eax
call fcn.1003fc90
call fcn.100261e0
push 0x10188138
push dword [ebp - 0x74]
mov edx, 0x10188108
mov dword [ebp - 0x70], eax
mov ecx, 0x10188114
call fcn.10026d30
push dword [ebp - 0x74]
mov ecx, 0x10188134
call fcn.10026fc0
add esp, 0xc
cmp byte [0x10187e78], 0
je 0x1000283a
cmp byte [0x101881ed], 0
je 0x1000283f
cmp byte [0x10187e57], 0
jne 0x1000283f
call fcn.1001c560
cmp byte [0x1018811c], 0
je 0x10002866
call fcn.100261e0
mov edx, dword [0x10188128]
mov ecx, eax
call fcn.10026000
call fcn.100261e0
mov ecx, eax
call fcn.100260a0
push ebx
push esi
push edi
call fcn.100261e0
cmp byte [0x10188273], 0
mov esi, eax
mov dword [ebp - 0x64], 0
je 0x1000292a
mov dword [ebp - 0x6c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x6c]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x6c]
call fcn.1004b410
add esp, 4
test al, al
je 0x1000292a
lea edx, [ebp - 0x64]
mov ecx, esi
call fcn.1003fc90
push dword [ebp - 0x64]
lea ecx, [ebp - 0x6c]
call fcn.100271a0
mov ecx, dword [ebp - 0x6c]
add esp, 4
lea eax, [ecx - 4]
cmp eax, 0x20
ja case.0x100028da.6
movzx eax, byte [eax + 0x100044d4]
jmp dword [eax*4 + 0x100044cc]
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1004b2a0
add esp, 4
jmp 0x1000292a
push dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.10027240
push dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x6c]
call fcn.100496a0
add esp, 8
cmp byte [0x1018828e], 0
je 0x10002943
lea ecx, [ebp - 0x60]
call fcn.1003ba40
mov ecx, dword [ebp - 0x60]
call fcn.1002a120
cmp byte [0x1018828d], 0
jne 0x1000295d
mov edx, 0x10188280
mov ecx, 0x1018827c
call fcn.1002a7b0
jmp 0x1000296e
mov edx, dword [0x10188290]
mov ecx, dword [0x10188284]
call fcn.1002a850
cmp byte [0x101880d8], 0
je 0x10002987
xorps xmm0, xmm0
call fcn.1002c990
xorps xmm0, xmm0
call fcn.1002c8f0
cmp byte [0x101880fe], 0
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
mov ebx, dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
je 0x10002b11
mov dword [ebp - 0x6c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x6c]
mov ecx, eax
call fcn.1003fc90
cmp byte [0x101880e2], 0
push dword [ebp - 0x6c]
je 0x10002a81
xor cl, cl
call fcn.10040630
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call fcn.1003b130
push dword [ebp - 0x6c]
call fcn.1003fee0
movss xmm0, dword [0x1017c1b4]
add esp, 0xc
comiss xmm0, dword [ebp - 0x60]
jb 0x10002b11
push dword [ebp - 0x6c]
call fcn.100269f0
mov esi, dword [ebp - 0x6c]
add esp, 4
mov ecx, str.jump_std
call fcn.10040e50
mov ecx, str.jump_std
call fcn.10040db0
test al, al
jne 0x10002a3a
mov ecx, dword [0x10188228]
push 0
call ebx
mov ecx, str.jump_std
call fcn.10040db0
test al, al
je 0x10002a22
push 0x578
sub esp, 0x10
mov edx, str.jump_land_roll
push 1
push 1
push 0
push ecx
mov dword [esp], 0x41000000
push str.jump_std
push esi
call fcn.10041100
cmp byte [0x10188156], 0
push dword [ebp - 0x6c]
sete cl
call fcn.10040630
add esp, 0x30
mov byte [0x101880e2], 0
jmp 0x10002b11
call fcn.10027800
add esp, 4
test al, al
je 0x10002b11
push 0x20
call edi
test ax, ax
mov al, byte [0x10187ec8]
jns 0x10002aae
test al, al
jne 0x10002aae
mov word [0x10187ec8], 1
jmp 0x10002ad2
cmp al, 1
jne 0x10002ac4
push 0x20
call edi
test ax, ax
js 0x10002ac4
mov word [0x10187ec8], 0x100
mov edx, 0xe
call fcn.1002a670
test al, al
je 0x10002b11
movss xmm3, dword [0x1017c22c]
sub esp, 0x1c
xorps xmm2, xmm2
mov dword [esp + 0xc], 0x42c80000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x42d20000
push dword [ebp - 0x6c]
call fcn.1003fdd0
add esp, 0x20
mov byte [0x101880e2], 1
call fcn.1003d950
cmp byte [0x1018828c], 0
je 0x10002b60
mov edx, 0x10188280
mov ecx, 0x1018827c
call fcn.1002a7b0
mov edx, dword [0x10188280]
mov ecx, dword [0x1018827c]
cmp edx, 0x3b
jae 0x10002b48
inc edx
mov dword [0x10188280], edx
jmp 0x10002b5b
inc ecx
mov dword [0x10188280], 0
mov dword [0x1018827c], ecx
xor edx, edx
call fcn.1002a850
mov dword [ebp - 0x64], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x64]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x64]
call fcn.1003b290
add esp, 4
test al, al
je 0x10002be6
cmp byte [0x1018825e], 0
je 0x10002be6
push dword [ebp - 0x64]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
call fcn.100289b0
mov ecx, dword [0x10188254]
add esp, 4
cmp ecx, 0x85
jne 0x10002bbc
xor ecx, ecx
jmp 0x10002bbd
inc ecx
mov edx, dword [0x10186a1c]
mov dword [0x10188254], ecx
test edx, edx
jne 0x10002bd4
mov edx, 0x85
jmp 0x10002bd5
inc edx
push dword [ebp - 0x68]
mov dword [0x10186a1c], edx
call fcn.100285d0
add esp, 4
cmp byte [0x101880bb], 0
je 0x10002d05
mov edx, 8
lea ecx, [ebp - 0x60]
call fcn.10029cf0
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x10002d05
push eax
lea ecx, [ebp - 0x5c]
call fcn.1003b470
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
movss xmm0, dword [ebp - 0x5c]
lea eax, [ebp - 0x48]
movss dword [ebp - 0x6c], xmm0
lea edx, [ebp - 0x4c]
movss xmm0, dword [ebp - 0x58]
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x68]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0x60], xmm0
call fcn.10026d30
movss xmm0, dword [ebp - 0x60]
lea ecx, [ebp - 0x7c]
movss xmm3, dword [ebp - 0x6c]
add esp, 4
movss xmm2, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0x4c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x50]
call fcn.10040ef0
movss xmm0, dword [0x1017c228]
add esp, 8
comiss xmm0, dword [ebp - 0x7c]
mov edi, 0x96
mov ecx, 0xff
mov esi, 0x2f
xorps xmm0, xmm0
movss dword [ebp - 0x68], xmm0
setae al
test al, al
cmove edi, ecx
movss xmm2, dword [ebp - 0x54]
movss xmm3, dword [0x1017c1f8]
addss xmm2, xmm0
movss xmm1, dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x5c]
push edi
push ecx
call fcn.1003bfd0
movss xmm0, dword [ebp - 0x68]
add esp, 8
addss xmm0, dword [0x1017c1d0]
movss dword [ebp - 0x68], xmm0
sub esi, 1
jne 0x10002cc3
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
call fcn.100489a0
call fcn.10048c00
cmp byte [0x101880fd], 0
je 0x10002e13
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x68]
lea ecx, [ebp - 0x7c]
call fcn.100271a0
add esp, 4
cmp dword [ebp - 0x7c], 0
jne 0x10002e13
push 1
call edi
test ax, ax
mov al, byte [0x10187e8a]
jns 0x10002d6e
test al, al
jne 0x10002d6e
mov word [0x10187e8a], 1
jmp 0x10002d96
cmp al, 1
jne 0x10002d84
push 1
call edi
test ax, ax
js 0x10002d84
mov word [0x10187e8a], 0x100
mov edx, 0x11
call fcn.1002a670
test al, al
je 0x10002e13
push 0x2bc
call dword [sym.imp.ScriptHook.dll_public:_static_void___cdecl_ScriptingHelpers::Wait_unsigned_int_]
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
lea eax, [ebp - 0x48]
xorps xmm3, xmm3
push eax
push dword [ebp - 0x68]
lea edx, [ebp - 0x4c]
xorps xmm2, xmm2
lea ecx, [ebp - 0x50]
xorps xmm1, xmm1
call fcn.100274c0
movss xmm1, dword [ebp - 0x4c]
add esp, 8
addss xmm1, dword [0x1017c1b4]
movss xmm2, dword [ebp - 0x48]
xor dl, dl
movss xmm0, dword [ebp - 0x50]
mov dword [esp], 0
push 1
push ecx
mov ecx, 2
mov dword [esp], 0x41200000
call fcn.1002abd0
add esp, 0xc
call dword [sym.imp.ScriptHook.dll_public:_static_enum_Game::eVersion___cdecl_Game::GetVersion_void_]
cmp eax, 1
jne 0x10002e25
call fcn.1003f640
jmp 0x10002e2a
call fcn.1003eef0
cmp byte [0x10188267], 0
je 0x10002ebf
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
call fcn.100289b0
add esp, 4
call fcn.100261e0
mov ecx, eax
call fcn.10049220
test al, al
je 0x10002ebf
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x10002ebf
movss xmm3, dword [0x1017c238]
sub esp, 8
xor edx, edx
xorps xmm2, xmm2
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
push eax
call fcn.100406e0
add esp, 0x20
cmp byte [0x10188268], 0
je 0x10002f19
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
call fcn.100289b0
mov eax, dword [ebp - 0x64]
add esp, 4
test eax, eax
je 0x10002f19
push eax
call fcn.1004a030
add esp, 4
test al, al
je 0x10002f19
push dword [ebp - 0x64]
call fcn.10029450
add esp, 4
call fcn.100486e0
call fcn.1004aa90
cmp byte [0x10187e79], 0
je 0x10002f7c
call fcn.1002c040
test al, al
je 0x10002f7c
mov ecx, dword [0x10188088]
cmp ecx, str.intro
jne 0x10002f53
mov ecx, str.shipintro
call fcn.1002b5c0
mov ecx, dword [0x10188088]
call fcn.1002c0d0
call fcn.100261e0
mov dl, 1
mov ecx, eax
call fcn.100263b0
call fcn.1003bcb0
mov eax, dword [0x10186a00]
mov byte [0x10187e79], 0
mov dword [0x10188240], eax
mov ecx, dword [0x10188364]
mov eax, 0x2aaaaaab
mov esi, dword [0x10188360]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x10002fd9
xor edi, edi
push dword [edi + esi]
mov ecx, dword [edi + esi + 0x24]
call fcn.1002bbe0
mov ecx, dword [0x10188364]
lea edi, [edi + 0x30]
mov esi, dword [0x10188360]
mov eax, 0x2aaaaaab
sub ecx, esi
inc ebx
imul ecx
add esp, 4
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jl 0x10002fa3
mov ecx, dword [0x10188354]
mov eax, 0x38e38e39
mov esi, dword [0x10188350]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x10003036
xor edi, edi
push dword [edi + esi]
mov cl, byte [edi + esi + 0x1e]
call fcn.10027de0
mov ecx, dword [0x10188354]
lea edi, [edi + 0x24]
mov esi, dword [0x10188350]
mov eax, 0x38e38e39
sub ecx, esi
inc ebx
imul ecx
add esp, 4
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jl 0x10003000
mov dl, byte [0x101880e3]
mov ecx, dword [ebp - 0x70]
call fcn.10026630
mov dl, byte [0x1018811d]
mov ecx, dword [ebp - 0x70]
call fcn.10026450
call fcn.10048380
cmp byte [0x1018823f], 0
je 0x10003101
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
call fcn.100289b0
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 4
cmp dword [ebp - 0x64], 0
je 0x10003107
push 0x53
call ebx
test ax, ax
mov al, byte [0x10187f2e]
jns 0x100030cd
test al, al
jne 0x100030cd
push dword [ebp - 0x64]
xorps xmm1, xmm1
mov word [0x10187f2e], 1
call fcn.1004a170
add esp, 4
jmp 0x10003107
cmp al, 1
jne 0x100030e3
push 0x53
call ebx
test ax, ax
js 0x100030e3
mov word [0x10187f2e], 0x100
mov edx, 5
call fcn.1002a670
test al, al
je 0x10003107
push dword [ebp - 0x64]
xorps xmm1, xmm1
call fcn.1004a170
add esp, 4
jmp 0x10003107
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
cmp byte [0x101881ec], 0
je 0x10003228
cmp byte [0x10185ef4], 0
je 0x10003175
mov cl, byte [0x10185eee]
mov eax, dword [0x10188184]
test cl, cl
je 0x1000312f
inc eax
jmp 0x10003130
dec eax
mov dword [0x10188184], eax
cmp eax, 0xff
jne 0x10003157
test cl, cl
je 0x10003175
mov byte [0x10185eee], 0
mov byte [0x10185ef4], 0
mov byte [0x10188157], 1
jmp 0x1000317e
test eax, eax
jne 0x10003175
test cl, cl
jne 0x10003175
mov byte [0x10185eee], 1
mov byte [0x10185ef4], cl
mov byte [0x10188157], 1
jmp 0x1000317e
cmp byte [0x10188157], 0
je 0x100031d6
mov cl, byte [0x10185eef]
mov eax, dword [0x10188188]
test cl, cl
je 0x10003190
inc eax
jmp 0x10003191
dec eax
mov dword [0x10188188], eax
cmp eax, 0xff
jne 0x100031b8
test cl, cl
je 0x100031d6
mov byte [0x10185eef], 0
mov byte [0x10188157], 0
mov byte [0x10188170], 1
jmp 0x100031df
test eax, eax
jne 0x100031d6
test cl, cl
jne 0x100031d6
mov byte [0x10185eef], 1
mov byte [0x10188157], cl
mov byte [0x10188170], 1
jmp 0x100031df
cmp byte [0x10188170], 0
je 0x10003228
mov cl, byte [0x10185eed]
mov eax, dword [0x1018818c]
test cl, cl
je 0x100031f1
inc eax
jmp 0x100031f2
dec eax
mov dword [0x1018818c], eax
cmp eax, 0xff
jne 0x1000320b
test cl, cl
je 0x10003228
mov byte [0x10185eed], 0
jmp 0x1000321a
test eax, eax
jne 0x10003228
test cl, cl
jne 0x10003228
mov byte [0x10185eed], 1
mov byte [0x10185ef4], 1
mov byte [0x10188170], 0
cmp byte [0x101880d0], 0
je 0x10003372
push 2
call ebx
test ax, ax
jns 0x1000324a
mov byte [0x10187e8d], 0
jmp 0x1000332f
mov edx, 5
mov byte [0x10187e8d], 1
call fcn.100311f0
test al, al
jne 0x1000332f
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], 0
call fcn.10029e60
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x64]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x5c]
call fcn.1003b7a0
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x64]
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x50]
call fcn.1003b6f0
movss xmm1, dword [0x10188108]
lea ecx, [ebp - 0x6c]
movss xmm0, dword [0x10188114]
subss xmm1, dword [ebp - 0x4c]
subss xmm0, dword [ebp - 0x50]
call fcn.1003be90
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x1017c1e0]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x68], 0
movss dword [ebp - 0x6c], xmm0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x68]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x68]
lea ecx, [ebp - 0x60]
call fcn.100289b0
add esp, 0x14
cmp dword [ebp - 0x60], 0
jne 0x1000332f
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
movss xmm1, dword [ebp - 0x6c]
call fcn.10027ca0
add esp, 4
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
lea ecx, [ebp - 0x68]
call fcn.100289b0
add esp, 4
cmp dword [ebp - 0x68], 0
je 0x1000336b
xor cl, cl
jmp 0x1000336d
mov cl, 1
call fcn.1002c480
cmp byte [0x10187e7a], 0
mov edi, 0xea60
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x100033bd
call esi
cmp eax, dword [0x10188094]
jb 0x100033bd
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0
call fcn.1002ba90
push dword [ebp - 0x60]
movss xmm1, dword [0x1017c13c]
mov ecx, edi
call fcn.1002c5c0
add esp, 4
call esi
add eax, edi
mov dword [0x10188094], eax
call fcn.100395a0
cmp byte [0x101880cb], 0
push dword [0x10188310]
je 0x100034b9
call fcn.1003b650
add esp, 4
test al, al
jne 0x10003415
mov edx, 0x10188310
mov byte [0x101880c8], al
mov byte [0x10187e7b], al
call fcn.1003b510
push dword [0x10188310]
mov cl, 1
call fcn.10029db0
push dword [0x10188310]
call fcn.1003b990
add esp, 8
jmp 0x100034dc
push 2
call ebx
test ax, ax
jns 0x10003422
xor ecx, ecx
jmp 0x10003433
mov edx, 5
call fcn.100311f0
xor ecx, ecx
test al, al
sete cl
mov edx, ecx
call fcn.1003c4f0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], 0
call fcn.10029e60
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x64]
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x50]
call fcn.1003b7a0
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x64]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x5c]
call fcn.1003b6f0
push dword [0x10188310]
movss xmm3, dword [ebp - 0x48]
movss xmm2, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0x50]
call fcn.10029fb0
push dword [0x10188310]
movss xmm3, dword [ebp - 0x54]
movss xmm2, dword [ebp - 0x58]
movss xmm1, dword [ebp - 0x5c]
call fcn.10029f00
push dword [0x10188310]
movss xmm1, dword [0x10185ea8]
call fcn.1003b8f0
add esp, 0x1c
jmp 0x100034dc
call fcn.1003b650
add esp, 4
test al, al
je 0x100034dc
push dword [0x10188310]
call fcn.1003b5b0
add esp, 4
xor edx, edx
xor ecx, ecx
call fcn.1003c4f0
call fcn.1003ace0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], 0
call fcn.10029e60
cmp byte [0x10185ef6], 0
je 0x10003605
mov eax, dword [0x10188240]
cmp eax, 6
je 0x10003510
cmp eax, 7
jne 0x10003605
push dword [0x10188330]
call fcn.1003b650
add esp, 4
test al, al
jne 0x10003549
mov edx, 0x10188330
call fcn.1003b510
push dword [0x10188330]
mov cl, 1
call fcn.10029db0
push dword [0x10188330]
call fcn.1003b990
jmp 0x1000363c
mov edx, 1
mov ecx, edx
call fcn.1003c4f0
xor cl, cl
call fcn.1002c480
push dword [ebp - 0x64]
xor cl, cl
call fcn.10029db0
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
movss xmm3, dword [0x1017c17c]
lea eax, [ebp - 0x48]
movss xmm2, dword [0x1017c1d4]
lea edx, [ebp - 0x4c]
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x50]
xorps xmm1, xmm1
call fcn.100274c0
push dword [0x10188330]
movss xmm1, dword [0x1017c224]
call fcn.1003b8f0
push dword [0x10188330]
movss xmm3, dword [ebp - 0x48]
movss xmm2, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0x50]
call fcn.10029f00
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
push dword [0x10188330]
call fcn.1002c660
add esp, 0x1c
jmp 0x1000363f
push dword [0x10188330]
call fcn.1003b650
add esp, 4
test al, al
je 0x1000363f
push dword [0x10188330]
call fcn.1003b5b0
xor edx, edx
xor ecx, ecx
call fcn.1003c4f0
mov cl, 1
call fcn.1002c480
push dword [ebp - 0x64]
mov cl, 1
call fcn.10029db0
add esp, 8
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
call fcn.10040300
add esp, 4
mov dword [ebp - 0x60], 0
test al, al
je 0x10003692
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
movss xmm1, dword [0x10185ee8]
jmp 0x100036b0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
movss xmm1, dword [0x10185edc]
push dword [ebp - 0x60]
call fcn.1002c170
add esp, 4
cmp byte [0x10188272], 0
je 0x1000374c
mov dword [ebp - 0x6c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x6c]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x64]
call fcn.100271a0
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.100272e0
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x7c]
call fcn.10026c90
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x70]
call fcn.10026bf0
mov edx, dword [ebp - 0x70]
add esp, 0x10
mov eax, dword [ebp - 0x60]
cmp edx, eax
jb 0x1000374c
cmp dword [ebp - 0x7c], 1
jne 0x1000374c
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x64]
sub edx, eax
inc edx
call fcn.100496a0
push dword [ebp - 0x6c]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.10049560
add esp, 8
cmp byte [0x10188264], 0
je 0x1000384f
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.100289b0
add esp, 4
cmp dword [ebp - 0x64], 0
je 0x1000384f
push 0x20
call ebx
test ax, ax
mov al, byte [0x10187ec8]
jns 0x100037b2
test al, al
jne 0x100037b2
mov word [0x10187ec8], 1
jmp 0x100037da
cmp al, 1
jne 0x100037c8
push 0x20
call ebx
test ax, ax
js 0x100037c8
mov word [0x10187ec8], 0x100
mov edx, 0xe
call fcn.1002a670
test al, al
je 0x1000384f
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
lea ecx, [ebp - 0x70]
call fcn.1003b130
movss xmm0, dword [0x1017c1b4]
add esp, 4
comiss xmm0, dword [ebp - 0x70]
jb 0x1000384f
sub esp, 8
xor edx, edx
xorps xmm3, xmm3
xorps xmm2, xmm2
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x449c4000
push dword [ebp - 0x64]
call fcn.100406e0
add esp, 0x20
call fcn.100388f0
call fcn.10049000
call fcn.10039940
cmp byte [0x101880d2], 0
mov ebx, 0x3e8
je 0x10003944
call esi
mov esi, eax
mov eax, 0x95217cb1
sub esi, dword [0x101880dc]
mul esi
mov edi, edx
xor edx, edx
shr edi, 0x15
imul ecx, edi, 0x36ee80
sub esi, ecx
mov ecx, 0xea60
mov eax, esi
div ecx
mov ecx, edx
mov esi, eax
xor edx, edx
mov eax, ecx
div ebx
mov eax, 0x10624dd3
push edx
mul ecx
lea eax, [ebp - 0x44]
shr edx, 6
push edx
push esi
push edi
push str._lu_:__lu_:__lu_:__lu
push 0x40
push eax
call fcn.10001290
add esp, 0x1c
cmp byte [0x1018823e], 0
je 0x100038d6
cmp byte [0x1018822f], 0
je 0x10003944
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
push 0xff
push 0xff
or dl, 0xff
or cl, 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c184]
add esp, 0x14
movss xmm0, dword [0x1017c0e0]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c198]
lea edx, [ebp - 0x44]
movss xmm0, dword [0x1017c0cc]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x101880fc], 0
je 0x100039a8
mov dword [ebp - 0x64], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x64]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x64]
call fcn.100403a0
add esp, 4
test al, al
je 0x10003988
movss xmm0, dword [0x10185ee0]
call fcn.1002a8f0
jmp 0x100039a8
movss xmm0, dword [0x10186a70]
call fcn.1002a8f0
push dword [ebp - 0x64]
movss xmm1, dword [0x1017c1b4]
call fcn.10040440
add esp, 4
cmp byte [0x10188275], 0
jne 0x100039be
cmp byte [0x10188274], 0
je 0x10003b22
mov dword [ebp - 0x64], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x64]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x64]
call fcn.1004b4b0
add esp, 4
test al, al
je 0x10003a05
push dword [ebp - 0x64]
lea ecx, [ebp - 0x70]
call fcn.1004b350
mov eax, dword [ebp - 0x70]
add esp, 4
mov dword [0x101883a4], eax
jmp 0x10003b22
mov eax, dword [0x101883a4]
test eax, eax
je 0x10003b22
push eax
call fcn.1004b550
add esp, 4
test al, al
je 0x10003b22
lea eax, [ebp - 0x54]
push eax
push dword [0x101883a4]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x5c]
call fcn.10029860
add esp, 8
cmp byte [0x10188275], 0
je 0x10003a7c
movss xmm2, dword [ebp - 0x54]
mov dl, 1
movss xmm1, dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x5c]
push ecx
mov dword [esp], 0
push 0
push ecx
mov ecx, dword [0x10186a68]
mov dword [esp], 0x3dcccccd
mov ecx, dword [ecx*8 + 0x10080e7c]
call fcn.1002abd0
add esp, 0xc
cmp byte [0x10188274], 0
je 0x10003b18
movss xmm1, dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x5c]
movaps xmm2, xmm1
mov esi, dword [ebp - 0x64]
movss xmm3, dword [ebp - 0x54]
movss dword [ebp - 0x60], xmm1
movaps xmm1, xmm0
push esi
movss dword [ebp - 0x68], xmm0
movss dword [ebp - 0x6c], xmm3
call fcn.10027b50
movss xmm3, dword [ebp - 0x6c]
add esp, 4
xorps xmm0, xmm0
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10003b05
mov edi, dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
movss xmm2, dword [0x1017c264]
lea ecx, [ebp - 0x6c]
movss xmm1, dword [ebp - 0x60]
movss xmm0, dword [ebp - 0x68]
call fcn.10040c50
mov ecx, dword [0x10188228]
push 0
call edi
movss xmm3, dword [ebp - 0x6c]
xorps xmm0, xmm0
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x10003ad0
movss xmm2, dword [ebp - 0x60]
movss xmm1, dword [ebp - 0x68]
push esi
call fcn.10027b50
add esp, 4
mov dword [0x101883a4], 0
cmp byte [0x10188262], 0
je 0x10003b7c
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.100289b0
mov eax, dword [ebp - 0x64]
add esp, 4
test eax, eax
je 0x10003b7c
push eax
call fcn.10049f90
add esp, 4
test al, al
je 0x10003b7c
push dword [ebp - 0x64]
call fcn.10049d10
add esp, 4
call fcn.1004afb0
push dword [ebp - 0x74]
mov edx, dword [0x10185ef0]
call fcn.1002c700
add esp, 4
cmp byte [0x1018825c], 0
je 0x10003be7
push dword [ebp - 0x74]
call fcn.100278a0
add esp, 4
test al, al
je 0x10003be7
movss xmm3, dword [0x10188138]
movss xmm2, dword [0x10188108]
movss xmm1, dword [0x10188114]
push 0x46
push ecx
lea ecx, [ebp - 0x70]
mov dword [esp], 0x40400000
call fcn.10028ce0
mov eax, dword [ebp - 0x70]
add esp, 8
test eax, eax
je 0x10003be7
push eax
call fcn.10029250
add esp, 4
cmp byte [0x10188266], 0
je 0x10003c04
push dword [ebp - 0x74]
call fcn.100276c0
add esp, 4
test al, al
je 0x10003c04
call fcn.10048130
cmp byte [0x101880ff], 0
je 0x10003c1a
push dword [ebp - 0x74]
mov ecx, ebx
call fcn.10027d40
add esp, 4
cmp byte [0x10188276], 0
je 0x10003c28
call fcn.1004b6c0
mov cl, byte [0x101880b9]
movss xmm0, dword [0x1017c100]
mov al, byte [0x101880ca]
test cl, cl
jne 0x10003c43
test al, al
je 0x10003c79
movss xmm3, dword [0x1017c1b4]
movss xmm1, dword [0x1017c28c]
movaps xmm2, xmm3
test cl, cl
je 0x10003c5d
movaps xmm2, xmm1
test al, al
je 0x10003c64
movaps xmm3, xmm1
sub esp, 0xc
movaps xmm1, xmm0
mov dword [esp], 0
call fcn.1002cde0
add esp, 0xc
push dword [ebp - 0x74]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0
call fcn.100289b0
mov eax, dword [ebp - 0x78]
add esp, 4
test eax, eax
je 0x10003e33
mov edx, dword [0x10186a38]
push eax
call fcn.1002d840
mov cl, byte [0x1018825d]
add esp, 4
test cl, cl
je 0x10003cc1
movzx eax, cl
mov dl, cl
push eax
movzx eax, cl
push eax
movzx eax, cl
jmp 0x10003ce4
movzx eax, byte [0x10186a64]
mov dl, byte [0x10186a4c]
mov cl, byte [0x10186a44]
push eax
movzx eax, byte [0x10186a5c]
push eax
movzx eax, byte [0x10186a54]
push eax
push dword [ebp - 0x78]
call fcn.100294f0
add esp, 0x10
cmp byte [0x10188260], 0
je 0x10003e33
push dword [ebp - 0x78]
xor cl, cl
call fcn.100292f0
push dword [ebp - 0x78]
xor cl, cl
call fcn.100293a0
add esp, 8
mov dword [0x10187e64], 0
xor eax, eax
push dword [ebp - 0x78]
mov ecx, eax
call fcn.10029070
add esp, 4
test al, al
je 0x10003d42
push dword [ebp - 0x78]
mov ecx, dword [0x10187e64]
call fcn.100287c0
add esp, 4
mov eax, dword [0x10187e64]
inc eax
mov dword [0x10187e64], eax
cmp eax, 8
jl 0x10003d20
mov dword [0x10187e64], 0
xor eax, eax
nop
push dword [ebp - 0x78]
mov ecx, eax
call fcn.10028f30
add esp, 4
test al, al
je 0x10003db3
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
lea ecx, [ebp - 0x68]
call fcn.100289b0
mov eax, dword [ebp - 0x68]
add esp, 4
test eax, eax
je 0x10003db3
push eax
call fcn.10049db0
add esp, 4
mov eax, dword [0x10187e64]
inc eax
mov dword [0x10187e64], eax
cmp eax, 6
jl 0x10003d60
mov dword [0x10187e64], 0
xor eax, eax
nop
push dword [ebp - 0x78]
mov ecx, eax
call fcn.10029110
add esp, 4
test al, al
jne 0x10003e23
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x60]
lea ecx, [ebp - 0x68]
call fcn.100289b0
mov eax, dword [ebp - 0x68]
add esp, 4
test eax, eax
je 0x10003e23
push eax
call fcn.10049db0
add esp, 4
mov eax, dword [0x10187e64]
inc eax
mov dword [0x10187e64], eax
cmp eax, 4
jl 0x10003dd0
cmp byte [0x101880d1], 0
je 0x10003e83
push dword [ebp - 0x74]
lea ecx, [ebp - 0x70]
call fcn.10026de0
add esp, 4
cmp dword [ebp - 0x70], 0x64
jbe 0x10003e60
push dword [ebp - 0x74]
mov ecx, 0x64
call fcn.10027d40
add esp, 4
push dword [ebp - 0x74]
lea ecx, [ebp - 0x80]
call fcn.10026e80
push dword [ebp - 0x74]
mov ecx, 0x64
call fcn.10026810
push dword [ebp - 0x74]
call fcn.10026a90
add esp, 0xc
cmp byte [0x10187e55], 0
je 0x10004320
mov ecx, dword [0x101882e0]
mov eax, 0x66666667
mov esi, dword [0x101882dc]
xor edi, edi
sub ecx, esi
mov dword [0x10187e64], edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x10003f5e
xor ebx, ebx
nop dword [eax]
nop word [eax + eax]
cmp byte [0x1018823e], 0
lea eax, [ebx + ebx*4]
movss xmm4, dword [esi + eax*8 + 8]
movss xmm3, dword [esi + eax*8 + 0xc]
je 0x10003ef1
cmp byte [0x1018822f], 0
je 0x10003f34
movaps xmm1, xmm3
movaps xmm0, xmm4
mulss xmm1, dword [0x1017c100]
xor dl, dl
xor cl, cl
mulss xmm0, dword [0x1017c100]
movaps xmm2, xmm4
push 0xff
addss xmm1, dword [esi + eax*8 + 4]
push 0
addss xmm0, dword [esi + eax*8]
call fcn.10033490
mov edi, dword [0x10187e64]
add esp, 8
mov esi, dword [0x101882dc]
mov ecx, dword [0x101882e0]
mov eax, 0x66666667
sub ecx, esi
inc edi
imul ecx
mov ebx, edi
mov dword [0x10187e64], edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jl 0x10003ed0
mov ecx, dword [0x101882a4]
mov eax, 0x2e8ba2e9
mov esi, dword [0x101882a0]
xor ebx, ebx
sub ecx, esi
mov dword [0x10187e64], ebx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x100040a6
xor edi, edi
nop
imul eax, edi, 0x2c
lea edi, [esi + 0x14]
add edi, eax
cmp dword [edi + 0x14], 0xf
jbe 0x10003fa0
mov edi, dword [edi]
cmp byte [0x1018823e], 0
movss xmm0, dword [eax + esi]
mov ecx, dword [0x10188200]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [eax + esi + 4]
mov dword [ebp - 0x68], ecx
mov ecx, dword [0x10188204]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [eax + esi + 8]
mov dword [ebp - 0x60], ecx
mov ecx, dword [0x10188208]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [0x1018820c]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [eax + esi + 0xc]
mov dword [ebp - 0x70], ecx
mov ecx, dword [eax + esi + 0x10]
movss dword [ebp - 0x64], xmm0
je 0x1000400f
cmp byte [0x1018822f], 0
je 0x1000407c
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
push dword [ebp - 0x70]
mov dl, byte [ebp - 0x60]
push dword [ebp - 0x7c]
mov cl, byte [ebp - 0x68]
call fcn.10032f00
movss xmm1, dword [ebp - 0x64]
add esp, 0x14
movss xmm0, dword [ebp - 0x6c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [ebp - 0x84]
mov edx, edi
movss xmm0, dword [ebp - 0x88]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ebx, dword [0x10187e64]
mov esi, dword [0x101882a0]
mov ecx, dword [0x101882a4]
mov eax, 0x2e8ba2e9
sub ecx, esi
inc ebx
imul ecx
mov edi, ebx
mov dword [0x10187e64], ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x10003f90
mov ecx, dword [0x10188298]
mov eax, 0x88888889
mov esi, dword [0x10188294]
sub ecx, esi
imul ecx
mov dword [0x10187e64], 0
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x10004320
xor edi, edi
nop dword [eax + eax]
mov ecx, edi
shl ecx, 4
sub ecx, edi
cmp byte [esi + ecx*8 + 0x6c], 0
je 0x10004290
lea ebx, [ecx*8 + 0x3c]
add ebx, esi
cmp dword [ebx + 0x14], 0xf
jbe 0x10004103
mov ebx, dword [ebx]
lea edi, [ecx*8 + 0x24]
add edi, esi
cmp dword [edi + 0x14], 0xf
jbe 0x10004114
mov edi, dword [edi]
movss xmm0, dword [esi + ecx*8]
mov eax, dword [esi + ecx*8 + 0x14]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [esi + ecx*8 + 4]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [esi + ecx*8 + 8]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [esi + ecx*8 + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [esi + ecx*8 + 0x18]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [esi + ecx*8 + 0x10]
mov dword [ebp - 0x6c], eax
mov eax, dword [esi + ecx*8 + 0x1c]
mov esi, dword [esi + ecx*8 + 0x20]
mov ecx, edi
movss dword [ebp - 0x84], xmm0
mov dword [ebp - 0x88], eax
call fcn.10033350
test al, al
jne 0x10004233
mov ecx, edi
call fcn.100333f0
mov ecx, edi
call fcn.10033350
test al, al
jne 0x10004233
nop
cmp byte [0x1018823e], 0
je 0x100041a6
cmp byte [0x1018822f], 0
je 0x10004216
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
push 0xff
push 0xff
or dl, 0xff
or cl, 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0b0]
add esp, 0x14
movss xmm0, dword [0x1017c050]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c198]
mov edx, str.Loading_texture_dictionary
movss xmm0, dword [0x1017c100]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ecx, dword [0x10188228]
push 0
call dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
mov ecx, edi
call fcn.10033350
test al, al
je 0x10004190
push ebx
mov edx, edi
lea ecx, [ebp - 0x64]
call fcn.10033290
movss xmm0, dword [ebp - 0x84]
add esp, 4
movss xmm2, dword [ebp - 0x70]
movss xmm3, dword [ebp - 0x60]
mov edx, dword [ebp - 0x6c]
movaps xmm1, xmm3
mulss xmm1, dword [0x1017c100]
mov ecx, dword [ebp - 0x80]
push esi
push dword [ebp - 0x88]
addss xmm1, dword [ebp - 0x68]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
mulss xmm2, dword [0x1017c100]
push dword [ebp - 0x64]
addss xmm2, dword [ebp - 0x7c]
jmp 0x100042e2
push dword [esi + ecx*8 + 0x20]
movss xmm3, dword [esi + ecx*8 + 8]
push dword [esi + ecx*8 + 0x1c]
movss xmm2, dword [esi + ecx*8 + 0xc]
movaps xmm1, xmm3
movss xmm0, dword [esi + ecx*8 + 0x10]
sub esp, 8
mulss xmm1, dword [0x1017c100]
mov edx, dword [esi + ecx*8 + 0x18]
movss dword [esp + 4], xmm0
addss xmm1, dword [esi + ecx*8]
movss dword [esp], xmm2
mulss xmm2, dword [0x1017c100]
push dword [esi + ecx*8 + 0x74]
addss xmm2, dword [esi + ecx*8 + 4]
mov ecx, dword [esi + ecx*8 + 0x14]
call fcn.10033570
mov ecx, dword [0x10188298]
mov eax, 0x88888889
mov esi, dword [0x10188294]
add esp, 0x14
mov edi, dword [0x10187e64]
sub ecx, esi
imul ecx
inc edi
add edx, ecx
mov dword [0x10187e64], edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x100040e0
call fcn.1002b080
test al, al
je 0x10004355
call fcn.1002bfb0
test al, al
jne 0x10004355
push dword [ebp - 0x74]
lea ecx, [ebp - 0x80]
call fcn.10027060
add esp, 4
cmp dword [ebp - 0x80], 0x6f0783f5
je 0x10004355
mov dl, 1
mov ecx, str.PLAYER
call fcn.1003d3b0
cmp byte [0x101880e1], 0
je 0x10004386
movss xmm3, dword [0x1017c1b4]
sub esp, 0xc
movss xmm0, dword [0x1017c100]
movaps xmm2, xmm3
movaps xmm1, xmm0
mov dword [esp], 0
call fcn.1002d8f0
add esp, 0xc
mov ecx, dword [0x101880d4]
test ecx, ecx
je 0x1000439a
call fcn.1003c240
call fcn.1003c2e0
mov edx, 0x10188290
mov ecx, 0x10188284
call fcn.1002a7b0
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
xor eax, eax
mov dword [0x10187e64], 0
nop dword [eax + eax]
shl eax, 5
mov edi, dword [eax + 0x10185ef8]
push edi
lea esi, [edi + edi]
call ebx
test ax, ax
jns 0x1000448d
cmp byte [esi + 0x10187e88], 0
jne 0x1000448d
mov edx, dword [0x10187e64]
shl edx, 5
mov word [esi + 0x10187e88], 1
mov ecx, dword [edx + 0x10185f00]
test ecx, ecx
je 0x100044a7
mov eax, dword [0x10186a08]
mov dword [0x101881d4], eax
mov eax, dword [0x10186a04]
mov dword [0x101881d8], eax
mov eax, dword [0x10186a14]
mov dword [0x101881dc], eax
mov eax, dword [0x10188240]
mov dword [0x101881e0], eax
mov eax, dword [0x10188250]
mov dword [0x101881e4], eax
mov eax, dword [edx + 0x10185f10]
mov dword [0x10188250], eax
mov eax, dword [edx + 0x10185f0c]
mov dword [0x10188240], eax
mov eax, dword [edx + 0x10185f04]
mov dword [0x10186a04], eax
mov eax, dword [edx + 0x10185f08]
mov edx, dword [edx + 0x10185f14]
push ecx
push 0x1b58
mov dword [0x10186a08], ecx
mov dword [0x10186a14], eax
mov byte [0x1018823d], 1
mov byte [0x1018823e], 1
call fcn.1002a300
add esp, 8
jmp 0x100044a7
cmp byte [esi + 0x10187e88], 1
jne 0x100044a7
push edi
call ebx
test ax, ax
js 0x100044a7
mov word [esi + 0x10187e88], 0x100
mov eax, dword [0x10187e64]
inc eax
mov dword [0x10187e64], eax
cmp eax, 0x30
jl 0x100043c0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1004ca58
mov esp, ebp
pop ebp
ret