Function at 0x1002d730
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006dc8c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2b8
mov eax, dword [0x1017f064]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c4], ecx
push 0
mov edi, 0x18
mov byte [ebp - 0x295], 0
push 0x10076d3c
mov ecx, 0x101815fc
mov dword [ebp - 0x2b0], edi
mov byte [ebp - 0x29d], 1
call fcn.10025820
cmp byte [0x10182db1], 0
mov dword [ebp - 0x2b4], 0
mov byte [ebp - 0x2a9], 0
je 0x1002d7c9
mov byte [ebp - 0x2a9], 1
mov byte [0x10182db1], 0
call fcn.1002b100
test al, al
je 0x1002d7e3
mov ecx, dword [0x10182d98]
push 0xc8
call dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
lea ecx, [ebp - 0x2b4]
call fcn.10029060
xor esi, esi
mov dword [ebp - 0x2a4], esi
cmp byte [0x10182c78], 0
je 0x1002d819
call fcn.10025be0
xor edx, edx
mov ecx, eax
call fcn.10025a00
call fcn.10025be0
mov ecx, eax
call fcn.10025aa0
call fcn.1002a240
push dword [ebp - 0x2b4]
xor cl, cl
call fcn.10028fb0
add esp, 4
call fcn.10025be0
xor dl, dl
mov ecx, eax
call fcn.10025db0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1002d91f
push 0x56
mov byte [0x10182a13], 0
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
mov al, byte [0x10182a9c]
jns 0x1002d903
test al, al
jne 0x1002d903
lea ecx, [ebp - 0x290]
mov word [0x10182a9c], 1
call fcn.1002d600
mov dword [ebp - 4], 0
lea eax, [ebp - 0x290]
cmp dword [ebp - 0x27c], 0x10
mov ecx, 0x101815fc
cmovae eax, dword [ebp - 0x290]
push eax
push esi
call fcn.1002c8e0
add esi, dword [ebp - 0x280]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x2a4], esi
cmp ecx, 0x10
jb 0x1002e9fc
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d8f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ea78
push ecx
push edx
call fcn.100498b8
add esp, 8
jmp 0x1002e9fc
cmp al, 1
jne 0x1002d926
push 0x56
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1002d926
mov word [0x10182a9c], 0x100
jmp 0x1002d926
mov byte [0x10182a13], 1
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x29c], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [ebp - 0x29c]
mov ecx, eax
call fcn.1003d4f0
push dword [ebp - 0x29c]
lea ecx, [ebp - 0x294]
call fcn.10028060
add esp, 4
cmp dword [ebp - 0x294], 0
jne 0x1002d9a1
mov dword [ebp - 0x29c], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [ebp - 0x29c]
mov ecx, eax
call fcn.1003d4f0
push dword [ebp - 0x29c]
call fcn.100263f0
add esp, 4
call fcn.1002b100
test al, al
je 0x1002dfaa
call fcn.1002eb30
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
xor esi, esi
movss dword [ebp - 0x29c], xmm0
mov dword [ebp - 0x2bc], esi
mov dword [ebp - 0x2c0], edi
cmp edi, esi
jne 0x1002d9e3
movups xmm0, xmmword [0x10182d04]
jmp 0x1002d9ea
movups xmm0, xmmword [0x10182d58]
cmp byte [ebp - 0x295], 0
movups xmmword [0x10182e6c], xmm0
jne 0x1002dbbb
movsx eax, byte [esi + 0x1007c434]
push eax
push 0x100e8cfc
lea eax, [ebp - 0x218]
push 4
push eax
call fcn.10001270
add esp, 0x10
cmp esi, 0xa
jae 0x1002dab1
cmp byte [0x10182db1], 0
mov eax, dword [0x10182e6c]
mov esi, dword [0x10182e74]
mov edi, dword [0x10182e78]
mov dword [ebp - 0x2a8], eax
mov eax, dword [0x10182e70]
mov dword [ebp - 0x294], eax
jne 0x1002dcb9
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
mov dl, byte [ebp - 0x294]
mov cl, byte [ebp - 0x2a8]
add esp, 0xc
push edi
push esi
call fcn.10030bd0
movss xmm1, dword [0x10176f54]
add esp, 8
movss xmm0, dword [0x10176f28]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176ebc]
jmp 0x1002dc97
mov eax, dword [0x10182e6c]
mov edi, dword [0x10182e78]
mov dword [ebp - 0x294], eax
mov eax, dword [0x10182e70]
mov dword [ebp - 0x2a8], eax
cmp esi, 0x14
jae 0x1002db42
cmp byte [0x10182db1], 0
mov esi, dword [0x10182e74]
jne 0x1002dcb9
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
mov dl, byte [ebp - 0x2a8]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10030bd0
movss xmm1, dword [0x10176f54]
add esp, 8
movss xmm0, dword [0x10176f28]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176edc]
jmp 0x1002dc97
cmp esi, 0x1e
mov esi, dword [0x10182e74]
jae 0x1002dc36
cmp byte [0x10182db1], 0
jne 0x1002dcb9
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
mov dl, byte [ebp - 0x2a8]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10030bd0
movss xmm1, dword [0x10176f54]
add esp, 8
movss xmm0, dword [0x10176f28]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176ef4]
jmp 0x1002dc97
movsx eax, byte [esi + 0x1007c40c]
push eax
push 0x100e8cfc
lea eax, [ebp - 0x218]
push 4
push eax
call fcn.10001270
add esp, 0x10
cmp esi, 0xa
jae 0x1002dab1
cmp byte [0x10182db1], 0
mov eax, dword [0x10182e6c]
mov esi, dword [0x10182e74]
mov edi, dword [0x10182e78]
mov dword [ebp - 0x294], eax
mov eax, dword [0x10182e70]
mov dword [ebp - 0x2a8], eax
jne 0x1002dcb9
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
mov dl, byte [ebp - 0x2a8]
mov cl, byte [ebp - 0x294]
jmp 0x1002da74
cmp byte [0x10182db1], 0
jne 0x1002dcb9
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
mov dl, byte [ebp - 0x2a8]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10030bd0
movss xmm1, dword [0x10176f54]
add esp, 8
movss xmm0, dword [0x10176f28]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f08]
movss xmm0, dword [ebp - 0x29c]
lea edx, [ebp - 0x218]
addss xmm0, dword [0x10176e20]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
mov edx, 0x10
push 0
push 0xc8
push 0xc8
lea ecx, [edx + 0x60]
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002dd31
mov ecx, dword [ebp - 0x2a4]
xor eax, eax
cmp byte [ebp - 0x295], 0
mov word [ebp - 0x294], ax
mov eax, dword [ebp - 0x2b0]
lea esi, [ecx + 1]
je 0x1002dd02
mov al, byte [eax + 0x1007c40c]
jmp 0x1002dd08
mov al, byte [eax + 0x1007c434]
mov byte [ebp - 0x294], al
lea eax, [ebp - 0x294]
push eax
push ecx
mov ecx, 0x101815fc
call fcn.1002c8e0
mov ecx, dword [0x10182cf4]
call fcn.10029790
mov dword [ebp - 0x2a4], esi
mov eax, dword [ebp - 0x2b8]
inc eax
mov edi, eax
cmp eax, 0xa
jge 0x1002dd51
movss xmm0, dword [ebp - 0x29c]
addss xmm0, dword [0x10176da8]
jmp 0x1002dd54
xorps xmm0, xmm0
xor ecx, ecx
movss dword [ebp - 0x29c], xmm0
push ecx
cmp eax, 0xa
push 0x5a
cmovge edi, ecx
lea edx, [ecx + 8]
mov ecx, dword [0x10182d6c]
push 0x5a
mov dword [ebp - 0x2b8], edi
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002ddb1
mov ecx, dword [0x10182cf0]
call fcn.10029790
cmp dword [ebp - 0x2c0], 0xa
mov edi, 0xfffffff6
mov ecx, 0x1e
cmovl edi, ecx
add edi, dword [ebp - 0x2c0]
mov dword [ebp - 0x2b0], edi
jmp 0x1002ddb7
mov edi, dword [ebp - 0x2b0]
mov ecx, dword [0x10182d70]
mov edx, 9
push 0
push 0x5a
push 0x5a
mov esi, edi
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002ddf9
mov ecx, dword [0x10182cf0]
call fcn.10029790
cmp esi, 0x1e
mov edi, 0xa
mov eax, 0xffffffe2
cmovge edi, eax
add edi, esi
mov dword [ebp - 0x2b0], edi
mov ecx, dword [0x10182d74]
mov edx, 0xa
push 0
push 0x5a
push 0x5a
mov esi, edi
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002de50
mov ecx, dword [0x10182cf0]
call fcn.10029790
mov eax, 0x66666667
imul edi
mov edi, 9
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
add eax, eax
cmp esi, eax
mov eax, 0xffffffff
cmovne edi, eax
add edi, esi
mov dword [ebp - 0x2b0], edi
mov ecx, dword [0x10182d78]
mov edx, 0xb
push 0
push 0x5a
push 0x5a
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002dea3
mov ecx, dword [0x10182cf0]
mov eax, 0x66666667
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*4]
add esi, esi
call fcn.10029790
mov ecx, edi
lea eax, [edi + 1]
sub ecx, esi
mov edi, esi
cmp ecx, 9
cmovne edi, eax
mov dword [ebp - 0x2b0], edi
mov esi, dword [ebp - 0x2bc]
inc esi
mov dword [ebp - 0x2bc], esi
cmp esi, 0x28
jl 0x1002d9d0
cmp byte [0x10182db1], 0
jne 0x1002e15e
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e70]
add esp, 8
movss xmm0, dword [0x10176e10]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f34]
mov edx, str.sSpace:_gYs_bTriangle___sCaps_Lock:_gLTs_bL2___sDelete:_gXs_bSquare
movss xmm0, dword [0x10176e2c]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x1002e15e
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e70]
add esp, 8
movss xmm0, dword [0x10176e10]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm0, dword [0x10176ef8]
mov edx, str.sConfirm_input:_gBs_bCircle___sLeft:_gLBs_bL1___sRight:_gRBs_bR1
jmp 0x1002e14a
xor esi, esi
mov dword [ebp - 0x29c], esi
push 0xa0
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1002e038
mov byte [0x10182b31], 0
mov edi, dword [esi*4 + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijmon]
push edi
lea esi, [edi + edi]
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1002e0ac
cmp byte [esi + 0x101829f0], 0
jne 0x1002e0ac
xor eax, eax
mov word [esi + 0x101829f0], 1
mov esi, dword [ebp - 0x2a4]
mov ecx, 0x101815fc
mov word [ebp - 0x294], ax
mov eax, dword [ebp - 0x29c]
mov al, byte [eax + 0x1007c45c]
mov byte [ebp - 0x294], al
lea eax, [ebp - 0x294]
push eax
push esi
call fcn.1002c8e0
inc esi
mov dword [ebp - 0x2a4], esi
jmp 0x1002e0ca
cmp byte [ebp - 0x295], 0
mov byte [0x10182b31], 1
jne 0x1002dfc9
mov edi, dword [esi*4 + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijmon]
push edi
lea esi, [edi + edi]
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1002e0ac
cmp byte [esi + 0x101829f0], 0
jne 0x1002e0ac
mov edi, dword [ebp - 0x2a4]
xor eax, eax
mov word [ebp - 0x294], ax
mov ecx, 0x101815fc
mov eax, dword [ebp - 0x29c]
mov word [esi + 0x101829f0], 1
mov al, byte [eax + str.0123456789abcdefghijklmnopqrstuvwxyz___.____0123456789__.]
mov byte [ebp - 0x294], al
lea eax, [ebp - 0x294]
push eax
push edi
call fcn.1002c8e0
inc edi
mov dword [ebp - 0x2a4], edi
jmp 0x1002e0ca
cmp byte [esi + 0x101829f0], 1
jne 0x1002e0ca
push edi
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1002e0ca
mov word [esi + 0x101829f0], 0x100
mov eax, dword [ebp - 0x29c]
inc eax
mov dword [ebp - 0x29c], eax
mov esi, eax
cmp eax, 0x3d
jl 0x1002dfb2
cmp byte [0x10182db1], 0
jne 0x1002e15e
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e70]
add esp, 8
movss xmm0, dword [0x10176e10]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm0, dword [0x10176e18]
mov edx, str.sUse_your_keyboard_to_type_your_input_and_hit_rEnter_sto_continue_once_youre_finished
movss xmm1, dword [0x10176f34]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
mov ecx, dword [0x10182d78]
mov edx, 6
push 0
push 0x5a
push 0x5a
call fcn.1002edc0
mov edi, dword [ebp - 0x2a4]
add esp, 0xc
test al, al
je 0x1002e19b
cmp edi, dword [0x1018160c]
jae 0x1002e19b
mov ecx, dword [0x10182cf0]
call fcn.10029790
inc edi
mov dword [ebp - 0x2a4], edi
mov ecx, dword [0x10182d74]
mov edx, 4
push 0
push 0x5a
push 0x5a
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002e1cf
cmp edi, 1
jb 0x1002e1cf
mov ecx, dword [0x10182cf0]
call fcn.10029790
dec edi
mov dword [ebp - 0x2a4], edi
mov edx, 0xf
call fcn.100296f0
test al, al
jne 0x1002e206
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x20
call esi
test ax, ax
mov al, byte [0x10182a30]
jns 0x1002e2c5
test al, al
jne 0x1002e2c5
mov word [0x10182a30], 1
push 0x100e8cf8
push edi
mov ecx, 0x101815fc
call fcn.1002c8e0
inc edi
mov dword [ebp - 0x2a4], edi
cmp dword [0x1018160c], 0
je 0x1002e2a2
mov edx, 0xe
push 0
push 0x5a
push 0x5a
lea ecx, [edx - 6]
call fcn.1002edc0
add esp, 0xc
test al, al
je 0x1002e2a2
test edi, edi
je 0x1002e2a2
mov ecx, dword [0x10182cf8]
call fcn.10029790
mov esi, dword [0x1018160c]
dec edi
mov dword [ebp - 0x2a4], edi
cmp esi, edi
jb 0x1002ea7d
mov eax, esi
mov edx, 1
sub eax, edi
mov ecx, 0x101815fc
cmp eax, edx
cmovb edx, eax
cmp dword [0x10181610], 0x10
cmovae ecx, dword [0x101815fc]
sub esi, edx
add ecx, edi
mov eax, esi
sub eax, edi
inc eax
push eax
lea eax, [ecx + edx]
push eax
push ecx
call fcn.1004aaf0
add esp, 0xc
mov dword [0x1018160c], esi
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x14
call esi
test ax, ax
mov al, byte [0x10182a18]
jns 0x1002e2e8
test al, al
jne 0x1002e2e8
mov word [0x10182a18], 1
jmp 0x1002e30c
cmp al, 1
jne 0x1002e21d
push 0x20
call esi
test ax, ax
js 0x1002e21d
mov word [0x10182a30], 0x100
jmp 0x1002e21d
cmp al, 1
jne 0x1002e2fe
push 0x14
call esi
test ax, ax
js 0x1002e2fe
mov word [0x10182a18], 0x100
mov edx, 5
call fcn.100296f0
test al, al
je 0x1002e31a
cmp byte [ebp - 0x295], 0
sete byte [ebp - 0x295]
push 0xd
call esi
test ax, ax
mov al, byte [0x10182a0a]
jns 0x1002e337
test al, al
jne 0x1002e337
mov word [0x10182a0a], 1
jmp 0x1002e35b
cmp al, 1
jne 0x1002e34d
push 0xd
call esi
test ax, ax
js 0x1002e34d
mov word [0x10182a0a], 0x100
mov edx, 0x11
call fcn.100296f0
test al, al
je 0x1002e362
mov byte [ebp - 0x29d], 0
push 0x1b
call esi
test ax, ax
mov al, byte [0x10182a26]
jns 0x1002e398
test al, al
jne 0x1002e398
push ecx
push 0x1b58
mov edx, str.Input_cancelled
mov word [0x10182a26], 1
mov byte [ebp - 0x29d], al
call fcn.10029500
add esp, 8
jmp 0x1002e3ae
cmp al, 1
jne 0x1002e3ae
push 0x1b
call esi
test ax, ax
js 0x1002e3ae
mov word [0x10182a26], 0x100
push 0x101815fc
lea ecx, [ebp - 0x230]
call fcn.10024860
push 0x100e8e30
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 1
call fcn.1002c8e0
mov edx, dword [ebp - 0x220]
cmp edx, 0x2d
jbe 0x1002e7bf
lea esi, [edx - 0x2b]
xorps xmm0, xmm0
cmp edi, esi
jae 0x1002e67f
xor esi, esi
lea eax, [edi - 0x15]
test eax, eax
lea ecx, [edi + 0x15]
cmovns esi, eax
cmp ecx, edx
cmova ecx, edx
cmp edi, 0x23
ja 0x1002e542
mov ecx, 0x2b
mov dword [ebp - 0x238], 0
cmp edx, ecx
mov dword [ebp - 0x234], 0
lea eax, [ebp - 0x230]
cmovb ecx, edx
cmp dword [ebp - 0x21c], 0x10
push ecx
cmovae eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x248]
push eax
movups xmmword [ebp - 0x248], xmm0
call fcn.1002c4f0
mov byte [ebp - 4], 2
lea esi, [ebp - 0x248]
mov edx, dword [ebp - 0x234]
cmp edx, 0x10
mov ecx, dword [ebp - 0x248]
cmovae esi, ecx
cmp byte [0x10182db1], 0
jne 0x1002e4f0
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10030bd0
movss xmm1, dword [0x10176f04]
add esp, 8
movss xmm0, dword [0x10176ec4]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176e68]
mov edx, esi
movss xmm0, dword [0x10176e04]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
mov edx, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x1002e522
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e518
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ea78
push edx
push ecx
call fcn.100498b8
add esp, 8
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
jmp 0x1002e929
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
movups xmmword [ebp - 0x260], xmm0
cmp edx, esi
jb 0x1002ea7d
sub ecx, esi
lea eax, [ebp - 0x230]
sub edx, esi
cmp edx, ecx
cmovb ecx, edx
cmp dword [ebp - 0x21c], 0x10
push ecx
cmovae eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x260]
add eax, esi
push eax
call fcn.1002c4f0
mov byte [ebp - 4], 3
lea esi, [ebp - 0x260]
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
mov edx, dword [ebp - 0x260]
cmovae esi, edx
cmp byte [0x10182db1], 0
jne 0x1002e62d
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10030bd0
movss xmm1, dword [0x10176f04]
add esp, 8
movss xmm0, dword [0x10176ec4]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176e68]
mov edx, esi
movss xmm0, dword [0x10176e04]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x260]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x1002e65f
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002e655
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ea78
push ecx
push edx
call fcn.100498b8
add esp, 8
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
jmp 0x1002e929
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0
movups xmmword [ebp - 0x278], xmm0
cmp edx, esi
jb 0x1002ea7d
or eax, 0xffffffff
sub edx, esi
cmp edx, eax
mov ecx, eax
lea eax, [ebp - 0x230]
cmovb ecx, edx
cmp dword [ebp - 0x21c], 0x10
push ecx
cmovae eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x278]
add eax, esi
push eax
call fcn.1002c4f0
mov byte [ebp - 4], 4
lea esi, [ebp - 0x278]
mov edx, dword [ebp - 0x264]
cmp edx, 0x10
mov ecx, dword [ebp - 0x278]
cmovae esi, ecx
cmp byte [0x10182db1], 0
jne 0x1002e76d
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10030bd0
movss xmm1, dword [0x10176f04]
add esp, 8
movss xmm0, dword [0x10176ec4]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176e68]
mov edx, esi
movss xmm0, dword [0x10176e04]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x278]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x1002e79f
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e795
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ea78
push edx
push ecx
call fcn.100498b8
add esp, 8
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
jmp 0x1002e929
cmp dword [ebp - 0x21c], 0x10
lea ecx, [ebp - 0x230]
mov edi, dword [ebp - 0x230]
setae byte [ebp - 0x291]
cmovae ecx, edi
cmp edx, 1
jne 0x1002e8a1
mov esi, 0x100e8e30
sub edx, 4
jb 0x1002e801
nop
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1002e806
add ecx, 4
add esi, 4
sub edx, 4
jae 0x1002e7f0
cmp edx, 0xfffffffc
je 0x1002e83a
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x1002e833
cmp edx, 0xfffffffd
je 0x1002e83a
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1002e833
cmp edx, 0xfffffffe
je 0x1002e83a
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1002e833
cmp edx, 0xffffffff
je 0x1002e83a
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x1002e83a
sbb eax, eax
or eax, 1
jmp 0x1002e83c
xor eax, eax
test eax, eax
jne 0x1002e8a1
cmp byte [0x10182db1], al
jne 0x1002e9a1
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
xor dl, dl
xor cl, cl
push 0x96
push 0
call fcn.10030bd0
movss xmm1, dword [0x10176f04]
add esp, 8
movss xmm0, dword [0x10176ec4]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
mov edx, dword [ebp - 0x2c4]
jmp 0x1002e90d
cmp byte [ebp - 0x291], 0
lea esi, [ebp - 0x230]
cmovne esi, edi
cmp byte [0x10182db1], 0
jne 0x1002e9a1
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10030bd0
movss xmm1, dword [0x10176f04]
add esp, 8
movss xmm0, dword [0x10176ec4]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
mov edx, esi
movss xmm1, dword [0x10176e68]
movss xmm0, dword [0x10176e04]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x1002e9a1
movss xmm3, dword [0x10176f70]
xor dl, dl
movss xmm1, dword [0x10176f5c]
xor cl, cl
movss xmm0, dword [0x10176f50]
movaps xmm2, xmm3
push 0xc8
push 0
call fcn.10030f60
add esp, 8
cmp byte [0x10182db1], 0
jne 0x1002e9a1
movss xmm3, dword [0x10176db0]
or dl, 0xff
movss xmm2, dword [0x10176ef0]
or cl, 0xff
movss xmm1, dword [0x10176e7c]
movss xmm0, dword [0x10176eb8]
push 0xc8
push 0xff
call fcn.10030f60
add esp, 8
mov ecx, dword [0x10182d98]
push 0
call dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0x10
jb 0x1002e9f0
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002e9e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ea78
push ecx
push edx
call fcn.100498b8
add esp, 8
mov esi, dword [ebp - 0x2a4]
mov edi, dword [ebp - 0x2b0]
cmp byte [ebp - 0x29d], 0
jne 0x1002d7f6
cmp byte [ebp - 0x2a9], 0
je 0x1002ea19
mov byte [0x10182db1], 1
push dword [ebp - 0x2b4]
mov cl, 1
call fcn.10028fb0
add esp, 4
call fcn.10025be0
mov dl, 1
mov ecx, eax
call fcn.10025db0
call fcn.1002b100
test al, al
je 0x1002ea47
xor cl, cl
call fcn.1002ea90
cmp dword [0x10181610], 0x10
mov eax, 0x101815fc
cmovae eax, dword [0x101815fc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1004955b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10051d01
call fcn.10025950
int3