Function at 0x1002f850
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 0x1007129c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2b0
mov eax, dword [0x10184080]
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 - 0x2c0], ecx
push 0
mov edi, 0x18
mov byte [ebp - 0x295], 0
push 0x1007ad5c
mov ecx, 0x10186a80
mov dword [ebp - 0x2b0], edi
mov byte [ebp - 0x2a1], 1
call fcn.10025930
cmp byte [0x1018823e], 0
mov dword [ebp - 0x2b4], 0
mov byte [ebp - 0x2a9], 0
je 0x1002f8e9
mov byte [ebp - 0x2a9], 1
mov byte [0x1018823e], 0
call fcn.1002c2b0
test al, al
je 0x1002f903
mov ecx, dword [0x10188228]
push 0xc8
call dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
lea ecx, [ebp - 0x2b4]
call fcn.10029e60
xor esi, esi
mov dword [ebp - 0x2a8], esi
cmp byte [0x1018811c], 0
je 0x1002f93d
call fcn.100261e0
mov edx, dword [0x10188128]
mov ecx, eax
call fcn.10026000
call fcn.100261e0
mov ecx, eax
call fcn.100260a0
call fcn.1002b250
push dword [ebp - 0x2b4]
xor cl, cl
call fcn.10029db0
add esp, 4
call fcn.100261e0
xor dl, dl
mov ecx, eax
call fcn.100263b0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1002fa43
push 0x56
mov byte [0x10187eab], 0
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
mov al, byte [0x10187f34]
jns 0x1002fa27
test al, al
jne 0x1002fa27
lea ecx, [ebp - 0x290]
mov word [0x10187f34], 1
call fcn.1002f720
mov dword [ebp - 4], 0
lea eax, [ebp - 0x290]
cmp dword [ebp - 0x27c], 0xf
mov ecx, 0x10186a80
cmova eax, dword [ebp - 0x290]
push eax
push esi
call fcn.1002e210
add esi, dword [ebp - 0x280]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x2a8], esi
cmp ecx, 0xf
jbe 0x10030c93
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002fa18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d0f
push ecx
push edx
call fcn.1004cdb5
add esp, 8
jmp 0x10030c93
cmp al, 1
jne 0x1002fa4a
push 0x56
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1002fa4a
mov word [0x10187f34], 0x100
jmp 0x1002fa4a
mov byte [0x10187eab], 1
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x29c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x29c]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x29c]
lea ecx, [ebp - 0x294]
call fcn.100289b0
add esp, 4
cmp dword [ebp - 0x294], 0
jne 0x1002fac5
mov dword [ebp - 0x29c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x29c]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x29c]
call fcn.100269f0
add esp, 4
call fcn.1002c2b0
test al, al
je 0x100301e8
call fcn.10030dc0
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
xor esi, esi
movss dword [ebp - 0x29c], xmm0
mov dword [ebp - 0x2bc], esi
cmp edi, esi
jne 0x1002fb01
movups xmm0, xmmword [0x101881ac]
jmp 0x1002fb08
movups xmm0, xmmword [0x10188200]
cmp byte [ebp - 0x295], 0
movups xmmword [0x10188334], xmm0
jne 0x1002fce9
movsx eax, byte [esi + 0x10080dcc]
push eax
push 0x100ed790
lea eax, [ebp - 0x218]
push 4
push eax
call fcn.10001290
mov eax, dword [0x10188334]
add esp, 0x10
mov edi, dword [0x10188340]
cmp esi, 0xa
jae 0x1002fbd8
cmp byte [0x1018823e], 0
mov esi, dword [0x1018833c]
mov dword [ebp - 0x2a0], eax
mov eax, dword [0x10188338]
mov dword [ebp - 0x294], eax
je 0x1002fb7b
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x294]
mov cl, byte [ebp - 0x2a0]
add esp, 0xc
push edi
push esi
call fcn.10032f00
movss xmm1, dword [0x1017c1b8]
add esp, 8
movss xmm0, dword [0x1017c18c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c120]
jmp 0x1002fed0
mov dword [ebp - 0x294], eax
mov eax, dword [0x10188338]
mov dword [ebp - 0x2a0], eax
cmp esi, 0x14
jae 0x1002fc67
cmp byte [0x1018823e], 0
mov esi, dword [0x1018833c]
je 0x1002fc0a
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x2a0]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10032f00
movss xmm1, dword [0x1017c1b8]
add esp, 8
movss xmm0, dword [0x1017c18c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c140]
jmp 0x1002fed0
cmp esi, 0x1e
mov esi, dword [0x1018833c]
jae 0x1002fe62
cmp byte [0x1018823e], 0
je 0x1002fc8c
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x2a0]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10032f00
movss xmm1, dword [0x1017c1b8]
add esp, 8
movss xmm0, dword [0x1017c18c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c158]
jmp 0x1002fed0
movsx eax, byte [esi + 0x10080da4]
push eax
push 0x100ed790
lea eax, [ebp - 0x218]
push 4
push eax
call fcn.10001290
mov eax, dword [0x10188334]
add esp, 0x10
mov edi, dword [0x10188340]
mov dword [ebp - 0x294], eax
mov eax, dword [0x10188338]
mov dword [ebp - 0x2a0], eax
cmp esi, 0xa
jae 0x1002fd69
cmp byte [0x1018823e], 0
mov esi, dword [0x1018833c]
je 0x1002fd44
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x2a0]
mov cl, byte [ebp - 0x294]
jmp 0x1002fb9b
cmp esi, 0x14
jae 0x1002fde7
cmp byte [0x1018823e], 0
mov esi, dword [0x1018833c]
je 0x1002fd8a
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x2a0]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10032f00
movss xmm1, dword [0x1017c1b8]
add esp, 8
movss xmm0, dword [0x1017c18c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c140]
jmp 0x1002fed0
cmp esi, 0x1e
mov esi, dword [0x1018833c]
jae 0x1002fe62
cmp byte [0x1018823e], 0
je 0x1002fe08
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x2a0]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10032f00
movss xmm1, dword [0x1017c1b8]
add esp, 8
movss xmm0, dword [0x1017c18c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c158]
jmp 0x1002fed0
cmp byte [0x1018823e], 0
je 0x1002fe78
cmp byte [0x1018822f], 0
je 0x1002fef2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
mov dl, byte [ebp - 0x2a0]
add esp, 0xc
mov cl, byte [ebp - 0x294]
push edi
push esi
call fcn.10032f00
movss xmm1, dword [0x1017c1b8]
add esp, 8
movss xmm0, dword [0x1017c18c]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c16c]
movss xmm0, dword [ebp - 0x29c]
lea edx, [ebp - 0x218]
addss xmm0, dword [0x1017c088]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov edx, 0x10
push 0
push 0xc8
push 0xc8
lea ecx, [edx + 0x60]
call fcn.100310c0
add esp, 0xc
test al, al
je 0x1002ff6a
mov ecx, dword [ebp - 0x2a8]
xor eax, eax
cmp byte [ebp - 0x295], 0
mov word [ebp - 0x294], ax
mov eax, dword [ebp - 0x2b0]
lea esi, [ecx + 1]
je 0x1002ff3b
mov al, byte [eax + 0x10080da4]
jmp 0x1002ff41
mov al, byte [eax + 0x10080dcc]
mov byte [ebp - 0x294], al
lea eax, [ebp - 0x294]
push eax
push ecx
mov ecx, 0x10186a80
call fcn.1002e210
mov ecx, dword [0x1018819c]
call fcn.1002a710
mov dword [ebp - 0x2a8], esi
mov eax, dword [ebp - 0x2b8]
inc eax
mov edi, eax
cmp eax, 0xa
jge 0x1002ff8a
movss xmm0, dword [ebp - 0x29c]
addss xmm0, dword [0x1017c00c]
jmp 0x1002ff8d
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 [str.___r_b]
push 0x5a
mov dword [ebp - 0x2b8], edi
call fcn.100310c0
mov edi, dword [ebp - 0x2b0]
add esp, 0xc
test al, al
je 0x1002ffe1
cmp edi, 0xa
jl 0x1002ffcd
sub edi, 0xa
jmp 0x1002ffd0
add edi, 0x1e
mov ecx, dword [0x10188198]
mov dword [ebp - 0x2b0], edi
call fcn.1002a710
mov ecx, dword [0x10186a9c]
mov edx, 9
push 0
push 0x5a
push 0x5a
mov esi, edi
call fcn.100310c0
add esp, 0xc
test al, al
je 0x10030023
mov ecx, dword [0x10188198]
call fcn.1002a710
cmp esi, 0x1e
mov edi, 0xa
mov eax, 0xffffffe2
cmovge edi, eax
add edi, esi
mov dword [ebp - 0x2b0], edi
mov ecx, dword [0x10186aa0]
mov edx, 0xa
push 0
push 0x5a
push 0x5a
mov esi, edi
call fcn.100310c0
add esp, 0xc
test al, al
je 0x1003007a
mov ecx, dword [0x10188198]
call fcn.1002a710
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 [0x10186aa4]
mov edx, 0xb
push 0
push 0x5a
push 0x5a
call fcn.100310c0
add esp, 0xc
test al, al
je 0x100300cd
mov ecx, dword [0x10188198]
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.1002a710
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 0x1002faf4
mov al, byte [0x1018823e]
test al, al
je 0x100300fa
mov cl, byte [0x1018822f]
test cl, cl
je 0x10030178
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0d8]
add esp, 8
movss xmm0, dword [0x1017c078]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c198]
mov edx, str.sSpace:_gYs_bTriangle___sCaps_Lock:_gLTs_bL2___sDelete:_gXs_bSquare
movss xmm0, dword [0x1017c094]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov al, byte [0x1018823e]
mov cl, byte [0x1018822f]
test al, al
je 0x10030184
test cl, cl
je 0x100303a9
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0d8]
add esp, 8
movss xmm0, dword [0x1017c078]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm0, dword [0x1017c15c]
mov edx, str.sConfirm_input:_gBs_bCircle___sLeft:_gLBs_bL1___sRight:_gRBs_bR1
jmp 0x10030395
xor esi, esi
mov dword [ebp - 0x29c], esi
push 0xa0
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10030276
mov byte [0x10187fc9], 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 0x100302ea
cmp byte [esi + 0x10187e88], 0
jne 0x100302ea
xor eax, eax
mov word [esi + 0x10187e88], 1
mov esi, dword [ebp - 0x2a8]
mov ecx, 0x10186a80
mov word [ebp - 0x294], ax
mov eax, dword [ebp - 0x29c]
mov al, byte [eax + 0x10080df4]
mov byte [ebp - 0x294], al
lea eax, [ebp - 0x294]
push eax
push esi
call fcn.1002e210
inc esi
mov dword [ebp - 0x2a8], esi
jmp 0x10030308
cmp byte [ebp - 0x295], 0
mov byte [0x10187fc9], 1
jne 0x10030207
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 0x100302ea
cmp byte [esi + 0x10187e88], 0
jne 0x100302ea
mov edi, dword [ebp - 0x2a8]
xor eax, eax
mov word [ebp - 0x294], ax
mov ecx, 0x10186a80
mov eax, dword [ebp - 0x29c]
mov word [esi + 0x10187e88], 1
mov al, byte [eax + str.0123456789abcdefghijklmnopqrstuvwxyz___.____0123456789__.]
mov byte [ebp - 0x294], al
lea eax, [ebp - 0x294]
push eax
push edi
call fcn.1002e210
inc edi
mov dword [ebp - 0x2a8], edi
jmp 0x10030308
cmp byte [esi + 0x10187e88], 1
jne 0x10030308
push edi
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x10030308
mov word [esi + 0x10187e88], 0x100
mov eax, dword [ebp - 0x29c]
inc eax
mov dword [ebp - 0x29c], eax
mov esi, eax
cmp eax, 0x3d
jl 0x100301f0
cmp byte [0x1018823e], 0
je 0x10030336
cmp byte [0x1018822f], 0
je 0x100303a9
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0d8]
add esp, 8
movss xmm0, dword [0x1017c078]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm0, dword [0x1017c080]
mov edx, str.sUse_your_keyboard_to_type_your_input_and_hit_rEnter_sto_continue_once_youre_finished
movss xmm1, dword [0x1017c198]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ecx, dword [0x10186aa4]
mov edx, 6
push 0
push 0x5a
push 0x5a
call fcn.100310c0
mov edi, dword [ebp - 0x2a8]
add esp, 0xc
test al, al
je 0x100303e6
cmp edi, dword [0x10186a90]
jae 0x100303e6
mov ecx, dword [0x10188198]
call fcn.1002a710
inc edi
mov dword [ebp - 0x2a8], edi
mov ecx, dword [0x10186aa0]
mov edx, 4
push 0
push 0x5a
push 0x5a
call fcn.100310c0
add esp, 0xc
test al, al
je 0x1003041a
cmp edi, 1
jb 0x1003041a
mov ecx, dword [0x10188198]
call fcn.1002a710
dec edi
mov dword [ebp - 0x2a8], edi
mov edx, 0xf
call fcn.1002a670
test al, al
jne 0x10030451
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x20
call esi
test ax, ax
mov al, byte [0x10187ec8]
jns 0x10030514
test al, al
jne 0x10030514
mov word [0x10187ec8], 1
push 0x1007b744
push edi
mov ecx, 0x10186a80
call fcn.1002e210
inc edi
mov dword [ebp - 0x2a8], edi
cmp dword [0x10186a90], 0
je 0x100304f1
mov edx, 0xe
push 0
push 0x5a
push 0x5a
lea ecx, [edx - 6]
call fcn.100310c0
add esp, 0xc
test al, al
je 0x100304f1
test edi, edi
je 0x100304f1
mov ecx, dword [0x101881a0]
call fcn.1002a710
mov esi, dword [0x10186a90]
dec edi
mov dword [ebp - 0x2a8], edi
cmp esi, edi
jb 0x10030d14
mov eax, esi
mov edx, 1
sub eax, edi
mov ecx, 0x10186a80
cmp eax, edx
cmovb edx, eax
cmp dword [0x10186a94], 0xf
cmova ecx, dword [0x10186a80]
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.1004dfe0
add esp, 0xc
mov dword [0x10186a90], esi
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x14
call esi
test ax, ax
mov al, byte [0x10187eb0]
jns 0x10030537
test al, al
jne 0x10030537
mov word [0x10187eb0], 1
jmp 0x1003055b
cmp al, 1
jne 0x10030468
push 0x20
call esi
test ax, ax
js 0x10030468
mov word [0x10187ec8], 0x100
jmp 0x10030468
cmp al, 1
jne 0x1003054d
push 0x14
call esi
test ax, ax
js 0x1003054d
mov word [0x10187eb0], 0x100
mov edx, 5
call fcn.1002a670
test al, al
je 0x10030569
cmp byte [ebp - 0x295], 0
sete byte [ebp - 0x295]
push 0xd
call esi
test ax, ax
mov al, byte [0x10187ea2]
jns 0x10030586
test al, al
jne 0x10030586
mov word [0x10187ea2], 1
jmp 0x100305aa
cmp al, 1
jne 0x1003059c
push 0xd
call esi
test ax, ax
js 0x1003059c
mov word [0x10187ea2], 0x100
mov edx, 0x11
call fcn.1002a670
test al, al
je 0x100305b1
mov byte [ebp - 0x2a1], 0
push 0x1b
call esi
test ax, ax
mov al, byte [0x10187ebe]
jns 0x100305e7
test al, al
jne 0x100305e7
push ecx
push 0x1b58
mov edx, str.Input_cancelled
mov word [0x10187ebe], 1
mov byte [ebp - 0x2a1], al
call fcn.1002a300
add esp, 8
jmp 0x100305fd
cmp al, 1
jne 0x100305fd
push 0x1b
call esi
test ax, ax
js 0x100305fd
mov word [0x10187ebe], 0x100
push 0x10186a80
lea ecx, [ebp - 0x230]
call fcn.10024d40
push 0x100ed8c8
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 1
call fcn.1002e210
mov edx, dword [ebp - 0x220]
cmp edx, 0x2d
jbe 0x10030a35
lea esi, [edx - 0x2b]
xorps xmm0, xmm0
cmp edi, esi
jae 0x100308e8
xor esi, esi
lea eax, [edi - 0x15]
test eax, eax
lea ecx, [edi + 0x15]
cmovns esi, eax
cmp ecx, edx
cmovg ecx, edx
cmp edi, 0x23
ja 0x1003079e
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], 0xf
push ecx
cmova eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x248]
push eax
movups xmmword [ebp - 0x248], xmm0
call fcn.1002de80
mov byte [ebp - 4], 2
lea esi, [ebp - 0x248]
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
mov edx, dword [ebp - 0x248]
cmova esi, edx
cmp byte [0x1018823e], 0
je 0x100306d5
cmp byte [0x1018822f], 0
je 0x1003074c
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10032f00
movss xmm1, dword [0x1017c168]
add esp, 8
movss xmm0, dword [0x1017c128]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c0d0]
mov edx, esi
movss xmm0, dword [0x1017c06c]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x248]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x1003077e
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030774
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d0f
push ecx
push edx
call fcn.1004cdb5
add esp, 8
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
jmp 0x10030bae
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
movups xmmword [ebp - 0x260], xmm0
cmp edx, esi
jb 0x10030d14
sub ecx, esi
lea eax, [ebp - 0x230]
sub edx, esi
cmp edx, ecx
cmovb ecx, edx
cmp dword [ebp - 0x21c], 0xf
push ecx
cmova eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x260]
add eax, esi
push eax
call fcn.1002de80
mov byte [ebp - 4], 3
lea esi, [ebp - 0x260]
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0xf
mov edx, dword [ebp - 0x260]
cmova esi, edx
cmp byte [0x1018823e], 0
je 0x1003081f
cmp byte [0x1018822f], 0
je 0x10030896
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10032f00
movss xmm1, dword [0x1017c168]
add esp, 8
movss xmm0, dword [0x1017c128]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c0d0]
mov edx, esi
movss xmm0, dword [0x1017c06c]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x260]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x100308c8
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100308be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d0f
push ecx
push edx
call fcn.1004cdb5
add esp, 8
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
jmp 0x10030bae
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0
movups xmmword [ebp - 0x278], xmm0
cmp edx, esi
jb 0x10030d14
or eax, 0xffffffff
sub edx, esi
cmp edx, eax
mov ecx, eax
lea eax, [ebp - 0x230]
cmovb ecx, edx
cmp dword [ebp - 0x21c], 0xf
push ecx
cmova eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x278]
add eax, esi
push eax
call fcn.1002de80
mov byte [ebp - 4], 4
lea esi, [ebp - 0x278]
mov ecx, dword [ebp - 0x264]
cmp ecx, 0xf
mov edx, dword [ebp - 0x278]
cmova esi, edx
cmp byte [0x1018823e], 0
je 0x1003096c
cmp byte [0x1018822f], 0
je 0x100309e3
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10032f00
movss xmm1, dword [0x1017c168]
add esp, 8
movss xmm0, dword [0x1017c128]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c0d0]
mov edx, esi
movss xmm0, dword [0x1017c06c]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x278]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x10030a15
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030a0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d0f
push ecx
push edx
call fcn.1004cdb5
add esp, 8
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
jmp 0x10030bae
cmp dword [ebp - 0x21c], 0xf
lea ecx, [ebp - 0x230]
mov edi, dword [ebp - 0x230]
seta byte [ebp - 0x291]
cmova ecx, edi
cmp edx, 1
jne 0x10030b21
mov esi, 0x100ed8c8
sub edx, 4
jb 0x10030a76
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10030a7b
add ecx, 4
add esi, 4
sub edx, 4
jae 0x10030a65
cmp edx, 0xfffffffc
je 0x10030aaf
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x10030aa8
cmp edx, 0xfffffffd
je 0x10030aaf
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10030aa8
cmp edx, 0xfffffffe
je 0x10030aaf
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10030aa8
cmp edx, 0xffffffff
je 0x10030aaf
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x10030aaf
sbb eax, eax
or eax, 1
jmp 0x10030ab1
xor eax, eax
test eax, eax
jne 0x10030b21
cmp byte [0x1018823e], al
je 0x10030ac9
cmp byte [0x1018822f], al
je 0x10030bae
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
xor dl, dl
xor cl, cl
push 0x96
push 0
call fcn.10032f00
movss xmm1, dword [0x1017c168]
add esp, 8
movss xmm0, dword [0x1017c128]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
mov edx, dword [ebp - 0x2c0]
jmp 0x10030b92
cmp byte [ebp - 0x291], 0
lea esi, [ebp - 0x230]
cmovne esi, edi
cmp byte [0x1018823e], 0
je 0x10030b43
cmp byte [0x1018822f], 0
je 0x10030bae
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10032f00
movss xmm1, dword [0x1017c168]
add esp, 8
movss xmm0, dword [0x1017c128]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
mov edx, esi
movss xmm1, dword [0x1017c0d0]
movss xmm0, dword [0x1017c06c]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x1018823e], 0
je 0x10030bc0
cmp byte [0x1018822f], 0
je 0x10030bee
movss xmm3, dword [0x1017c1d4]
xor dl, dl
movss xmm1, dword [0x1017c1c0]
xor cl, cl
movss xmm0, dword [0x1017c1b4]
movaps xmm2, xmm3
push 0xc8
push 0
call fcn.10033490
add esp, 8
cmp byte [0x1018823e], 0
je 0x10030c00
cmp byte [0x1018822f], 0
je 0x10030c38
movss xmm3, dword [0x1017c014]
or dl, 0xff
movss xmm2, dword [0x1017c154]
or cl, 0xff
movss xmm1, dword [0x1017c0e4]
movss xmm0, dword [0x1017c11c]
push 0xc8
push 0xff
call fcn.10033490
add esp, 8
mov ecx, dword [0x10188228]
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, 0xf
jbe 0x10030c87
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030c7d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d0f
push ecx
push edx
call fcn.1004cdb5
add esp, 8
mov esi, dword [ebp - 0x2a8]
mov edi, dword [ebp - 0x2b0]
cmp byte [ebp - 0x2a1], 0
jne 0x1002f916
cmp byte [ebp - 0x2a9], 0
je 0x10030cb0
mov byte [0x1018823e], 1
push dword [ebp - 0x2b4]
mov cl, 1
call fcn.10029db0
add esp, 4
call fcn.100261e0
mov dl, 1
mov ecx, eax
call fcn.100263b0
call fcn.1002c2b0
test al, al
je 0x10030cde
xor cl, cl
call fcn.10030d20
cmp dword [0x10186a94], 0xf
mov eax, 0x10186a80
cmova eax, dword [0x10186a80]
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.1004ca58
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100551f1
call fcn.10025f40
int3