Function at 0x10030bb0
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling
Open clipboard
Write clipboard data

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 0x1007352c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2c0
mov eax, dword [0x10187080]
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 - 0x2cc], ecx
push 0
push 0x1007cd7c
mov ecx, 0x10189a2c
mov dword [ebp - 0x2bc], 0x18
mov byte [ebp - 0x2a9], 0
mov byte [ebp - 0x2b5], 1
call fcn.10026c90
cmp byte [0x1018b226], 0
mov dword [ebp - 0x2c0], 0
mov byte [ebp - 0x2b6], 0
je 0x10030c48
mov byte [ebp - 0x2b6], 1
mov byte [0x1018b226], 0
call fcn.1002d610
test al, al
je 0x10030c62
mov ecx, dword [0x1018b210]
push 0xc8
call dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
lea ecx, [ebp - 0x2c0]
call fcn.1002b1c0
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
xor edi, edi
mov dword [ebp - 0x2a8], edi
nop dword [eax + eax]
cmp byte [0x1018b0f9], 0
je 0x10030ca7
call fcn.10027530
mov edx, dword [0x1018b108]
mov ecx, eax
call fcn.10027350
call fcn.10027530
mov ecx, eax
call fcn.100273f0
call fcn.1002c5b0
push dword [ebp - 0x2c0]
xor cl, cl
call fcn.1002b110
add esp, 4
call fcn.10027530
xor dl, dl
mov ecx, eax
call fcn.10027700
push 0x11
call esi
test ax, ax
jns 0x1003107b
push 0x56
mov byte [0x1018ae8b], 0
call esi
test ax, ax
mov al, byte [0x1018af14]
jns 0x10030d89
test al, al
jne 0x10030d89
lea ecx, [ebp - 0x2a0]
mov word [0x1018af14], 1
call fcn.10030a80
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2a0]
cmp dword [ebp - 0x28c], 0xf
mov ecx, 0x10189a2c
cmova eax, dword [ebp - 0x2a0]
push eax
push edi
call fcn.1002f570
add edi, dword [ebp - 0x290]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], edi
cmp ecx, 0xf
jbe 0x10032402
mov edx, dword [ebp - 0x2a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030d7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003247e
push ecx
push edx
call fcn.1004f055
add esp, 8
jmp 0x10032402
cmp al, 1
jne 0x10030d9f
push 0x56
call esi
test ax, ax
js 0x10030d9f
mov word [0x1018af14], 0x100
push 0x43
call esi
test ax, ax
mov al, byte [0x1018aeee]
jns 0x10030e58
test al, al
jne 0x10030e58
push ecx
push 0x1b58
mov edx, str.Copied_to_clipboard
mov word [0x1018aeee], 1
call fcn.1002b660
mov eax, dword [0x10189a3c]
add esp, 8
inc eax
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x100323fc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edx, eax
test edx, edx
je 0x10030e4c
cmp dword [0x10189a40], 0xf
mov ecx, 0x10189a2c
mov eax, dword [0x10189a3c]
cmova ecx, dword [0x10189a2c]
inc eax
push eax
push ecx
push edx
call fcn.10050280
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x10030e4c
call dword [sym.imp.USER32.dll_EmptyClipboard]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x100323fc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x100323fc
cmp al, 1
jne 0x10030e6e
push 0x43
call esi
test ax, ax
js 0x10030e6e
mov word [0x1018aeee], 0x100
push 8
call esi
test ax, ax
mov al, byte [0x1018ae78]
jns 0x10030fdb
test al, al
jne 0x10030fdb
cmp dword [0x10189a3c], 0
mov word [0x1018ae78], 1
je 0x10030ff1
test edi, edi
je 0x10030ff1
mov ecx, dword [0x1018b180]
call fcn.1002ba70
mov esi, dword [0x10189a40]
mov edx, 0x10189a2c
mov edi, dword [0x10189a3c]
cmp esi, 0xf
cmova edx, dword [0x10189a2c]
test edi, edi
je 0x10030fd6
or ecx, 0xffffffff
lea eax, [edi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x20
je 0x10030ef4
cmp ecx, edx
je 0x10030fd6
dec ecx
cmp byte [ecx], 0x20
jne 0x10030ee6
sub ecx, edx
cmp ecx, 0xffffffff
je 0x10030fd6
lea eax, [edi - 1]
cmp ecx, eax
jne 0x10030fa5
cmp esi, 0xf
mov edx, 0x10189a2c
lea esi, [ecx - 1]
mov eax, edi
mov ecx, esi
jbe 0x10030f21
mov edx, dword [0x10189a2c]
dec eax
cmp eax, esi
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x20
je 0x10030f3a
nop
cmp ecx, edx
je 0x10030f76
dec ecx
cmp byte [ecx], 0x20
jne 0x10030f30
sub ecx, edx
cmp ecx, 0xffffffff
je 0x10030f76
inc ecx
mov dword [ebp - 0x2a8], ecx
cmp edi, ecx
jb 0x10032483
cmp dword [0x10189a40], 0xf
mov edi, ecx
mov ecx, dword [0x10189a2c]
mov eax, 0x10189a2c
cmova eax, ecx
mov dword [0x10189a3c], edi
mov byte [edi + eax], 0
jmp 0x100323fc
cmp dword [0x10189a40], 0xf
mov ecx, dword [0x10189a2c]
mov eax, 0x10189a2c
cmova eax, ecx
mov dword [0x10189a3c], 0
xor edi, edi
mov dword [ebp - 0x2a8], edi
mov byte [eax], 0
jmp 0x100323fc
inc ecx
mov dword [ebp - 0x2a8], ecx
cmp edi, ecx
jb 0x10032483
mov edi, ecx
cmp esi, 0xf
mov ecx, dword [0x10189a2c]
mov eax, 0x10189a2c
cmova eax, ecx
mov dword [0x10189a3c], edi
mov byte [eax + edi], 0
jmp 0x100323fc
cmp esi, 0xf
jmp 0x10030f7d
cmp al, 1
jne 0x10030ff1
push 8
call esi
test ax, ax
js 0x10030ff1
mov word [0x1018ae78], 0x100
push 0x26
call esi
test ax, ax
mov al, byte [0x1018aeb4]
jns 0x10031016
test al, al
jne 0x10031016
xor ecx, ecx
mov word [0x1018aeb4], 1
mov dword [ebp - 0x2a8], ecx
jmp 0x1003102c
cmp al, 1
jne 0x1003102c
push 0x26
call esi
test ax, ax
js 0x1003102c
mov word [0x1018aeb4], 0x100
push 0x28
call esi
test ax, ax
mov al, byte [0x1018aeb8]
jns 0x10031058
test al, al
jne 0x10031058
mov ecx, dword [0x10189a3c]
mov word [0x1018aeb8], 1
mov dword [ebp - 0x2a8], ecx
jmp 0x1003110d
cmp al, 1
jne 0x1003110d
push 0x28
call esi
test ax, ax
js 0x1003110d
mov word [0x1018aeb8], 0x100
jmp 0x1003110d
cmp dword [0x10189a3c], 0
mov byte [0x1018ae8b], 1
je 0x1003110d
mov edx, 0xe
push 0
push 0x5a
push 0x5a
lea ecx, [edx - 6]
call fcn.10032830
add esp, 0xc
test al, al
je 0x1003110d
test edi, edi
je 0x1003110d
mov ecx, dword [0x1018b180]
call fcn.1002ba70
lea esi, [edi - 1]
mov edi, dword [0x10189a3c]
mov dword [ebp - 0x2a8], esi
cmp edi, esi
jb 0x10032483
mov eax, edi
mov edx, 1
sub eax, esi
mov ecx, 0x10189a2c
cmp eax, edx
cmovb edx, eax
cmp dword [0x10189a40], 0xf
cmova ecx, dword [0x10189a2c]
sub edi, edx
add ecx, esi
mov eax, edi
sub eax, esi
inc eax
push eax
lea eax, [edx + ecx]
push eax
push ecx
call fcn.10050280
add esp, 0xc
mov dword [0x10189a3c], edi
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2b0], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x2b0]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x2b0]
lea ecx, [ebp - 0x2a4]
call fcn.10029d10
add esp, 4
cmp dword [ebp - 0x2a4], 0
jne 0x10031188
mov dword [ebp - 0x2b0], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x2b0]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x2b0]
call fcn.10027d40
add esp, 4
call fcn.1002d610
test al, al
je 0x100318b4
call fcn.10032530
mov edi, dword [ebp - 0x2bc]
xorps xmm0, xmm0
xor esi, esi
movss dword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c8], esi
nop dword [eax]
cmp edi, esi
jne 0x100311cd
movups xmm0, xmmword [0x1018b190]
jmp 0x100311d4
movups xmm0, xmmword [0x1018b1e4]
cmp byte [ebp - 0x2a9], 0
movups xmmword [0x1018b320], xmm0
jne 0x100313b5
movsx eax, byte [esi + 0x10082fdc]
push eax
push 0x100ef9b4
lea eax, [ebp - 0x228]
push 4
push eax
call fcn.100012c0
mov eax, dword [0x1018b320]
add esp, 0x10
mov edi, dword [0x1018b32c]
cmp esi, 0xa
jae 0x100312a4
cmp byte [0x1018b226], 0
mov esi, dword [0x1018b328]
mov dword [ebp - 0x2b4], eax
mov eax, dword [0x1018b324]
mov dword [ebp - 0x2a4], eax
je 0x10031247
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2a4]
mov cl, byte [ebp - 0x2b4]
add esp, 0xc
push edi
push esi
call fcn.10034730
movss xmm1, dword [0x1017e46c]
add esp, 8
movss xmm0, dword [0x1017e440]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e3d4]
jmp 0x1003159c
mov dword [ebp - 0x2a4], eax
mov eax, dword [0x1018b324]
mov dword [ebp - 0x2b4], eax
cmp esi, 0x14
jae 0x10031333
cmp byte [0x1018b226], 0
mov esi, dword [0x1018b328]
je 0x100312d6
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2b4]
add esp, 0xc
mov cl, byte [ebp - 0x2a4]
push edi
push esi
call fcn.10034730
movss xmm1, dword [0x1017e46c]
add esp, 8
movss xmm0, dword [0x1017e440]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e3f4]
jmp 0x1003159c
cmp esi, 0x1e
mov esi, dword [0x1018b328]
jae 0x1003152e
cmp byte [0x1018b226], 0
je 0x10031358
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2b4]
add esp, 0xc
mov cl, byte [ebp - 0x2a4]
push edi
push esi
call fcn.10034730
movss xmm1, dword [0x1017e46c]
add esp, 8
movss xmm0, dword [0x1017e440]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e40c]
jmp 0x1003159c
movsx eax, byte [esi + 0x10082fb4]
push eax
push 0x100ef9b4
lea eax, [ebp - 0x228]
push 4
push eax
call fcn.100012c0
mov eax, dword [0x1018b320]
add esp, 0x10
mov edi, dword [0x1018b32c]
mov dword [ebp - 0x2a4], eax
mov eax, dword [0x1018b324]
mov dword [ebp - 0x2b4], eax
cmp esi, 0xa
jae 0x10031435
cmp byte [0x1018b226], 0
mov esi, dword [0x1018b328]
je 0x10031410
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2b4]
mov cl, byte [ebp - 0x2a4]
jmp 0x10031267
cmp esi, 0x14
jae 0x100314b3
cmp byte [0x1018b226], 0
mov esi, dword [0x1018b328]
je 0x10031456
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2b4]
add esp, 0xc
mov cl, byte [ebp - 0x2a4]
push edi
push esi
call fcn.10034730
movss xmm1, dword [0x1017e46c]
add esp, 8
movss xmm0, dword [0x1017e440]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e3f4]
jmp 0x1003159c
cmp esi, 0x1e
mov esi, dword [0x1018b328]
jae 0x1003152e
cmp byte [0x1018b226], 0
je 0x100314d4
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2b4]
add esp, 0xc
mov cl, byte [ebp - 0x2a4]
push edi
push esi
call fcn.10034730
movss xmm1, dword [0x1017e46c]
add esp, 8
movss xmm0, dword [0x1017e440]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e40c]
jmp 0x1003159c
cmp byte [0x1018b226], 0
je 0x10031544
cmp byte [0x1018b217], 0
je 0x100315be
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
mov dl, byte [ebp - 0x2b4]
add esp, 0xc
mov cl, byte [ebp - 0x2a4]
push edi
push esi
call fcn.10034730
movss xmm1, dword [0x1017e46c]
add esp, 8
movss xmm0, dword [0x1017e440]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e420]
movss xmm0, dword [ebp - 0x2b0]
lea edx, [ebp - 0x228]
addss xmm0, dword [0x1017e33c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov edx, 0x10
push 0
push 0xc8
push 0xc8
lea ecx, [edx + 0x60]
call fcn.10032830
add esp, 0xc
test al, al
je 0x10031636
mov ecx, dword [ebp - 0x2a8]
xor eax, eax
cmp byte [ebp - 0x2a9], 0
mov word [ebp - 0x2a4], ax
mov eax, dword [ebp - 0x2bc]
lea esi, [ecx + 1]
je 0x10031607
mov al, byte [eax + 0x10082fb4]
jmp 0x1003160d
mov al, byte [eax + 0x10082fdc]
mov byte [ebp - 0x2a4], al
lea eax, [ebp - 0x2a4]
push eax
push ecx
mov ecx, 0x10189a2c
call fcn.1002f570
mov ecx, dword [0x1018b17c]
call fcn.1002ba70
mov dword [ebp - 0x2a8], esi
mov eax, dword [ebp - 0x2c4]
inc eax
mov edi, eax
cmp eax, 0xa
jge 0x10031656
movss xmm0, dword [ebp - 0x2b0]
addss xmm0, dword [0x1017e2bc]
jmp 0x10031659
xorps xmm0, xmm0
xor ecx, ecx
movss dword [ebp - 0x2b0], 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 - 0x2c4], edi
call fcn.10032830
mov edi, dword [ebp - 0x2bc]
add esp, 0xc
test al, al
je 0x100316ad
cmp edi, 0xa
jl 0x10031699
sub edi, 0xa
jmp 0x1003169c
add edi, 0x1e
mov ecx, dword [0x1018b178]
mov dword [ebp - 0x2bc], edi
call fcn.1002ba70
mov ecx, dword [0x10189a78]
mov edx, 9
push 0
push 0x5a
push 0x5a
mov esi, edi
call fcn.10032830
add esp, 0xc
test al, al
je 0x100316ef
mov ecx, dword [0x1018b178]
call fcn.1002ba70
cmp esi, 0x1e
mov edi, 0xa
mov eax, 0xffffffe2
cmovge edi, eax
add edi, esi
mov dword [ebp - 0x2bc], edi
mov ecx, dword [0x10189a7c]
mov edx, 0xa
push 0
push 0x5a
push 0x5a
mov esi, edi
call fcn.10032830
add esp, 0xc
test al, al
je 0x10031746
mov ecx, dword [0x1018b178]
call fcn.1002ba70
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 - 0x2bc], edi
mov ecx, dword [0x10189a80]
mov edx, 0xb
push 0
push 0x5a
push 0x5a
call fcn.10032830
add esp, 0xc
test al, al
je 0x10031799
mov ecx, dword [0x1018b178]
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.1002ba70
mov ecx, edi
lea eax, [edi + 1]
sub ecx, esi
mov edi, esi
cmp ecx, 9
cmovne edi, eax
mov dword [ebp - 0x2bc], edi
mov esi, dword [ebp - 0x2c8]
inc esi
mov dword [ebp - 0x2c8], esi
cmp esi, 0x28
jl 0x100311c0
mov al, byte [0x1018b226]
test al, al
je 0x100317c6
mov cl, byte [0x1018b217]
test cl, cl
je 0x10031844
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e38c]
add esp, 8
movss xmm0, dword [0x1017e32c]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e44c]
mov edx, str.sSpace:_gYs_bTriangle___sCaps_Lock:_gLTs_bL2___sDelete:_gXs_bSquare
movss xmm0, dword [0x1017e348]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov al, byte [0x1018b226]
mov cl, byte [0x1018b217]
test al, al
je 0x10031850
test cl, cl
je 0x10031a44
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e38c]
add esp, 8
movss xmm0, dword [0x1017e32c]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm0, dword [0x1017e410]
mov edx, str.sConfirm_input:_gBs_bCircle___sLeft:_gLBs_bL1___sRight:_gRBs_bR1
jmp 0x10031a30
xor esi, esi
mov dword [ebp - 0x2b0], esi
nop dword [eax]
push 0xa0
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10031943
mov byte [0x1018afa9], 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 0x10031989
cmp byte [esi + 0x1018ae68], 0
jne 0x10031989
xor eax, eax
mov word [ebp - 0x2a4], ax
mov eax, dword [ebp - 0x2b0]
mov al, byte [eax + 0x10083004]
mov edi, dword [ebp - 0x2a8]
mov ecx, 0x10189a2c
mov byte [ebp - 0x2a4], al
lea eax, [ebp - 0x2a4]
push eax
push edi
mov word [esi + 0x1018ae68], 1
call fcn.1002f570
inc edi
mov dword [ebp - 0x2a8], edi
jmp 0x100319a7
cmp byte [ebp - 0x2a9], 0
mov byte [0x1018afa9], 1
jne 0x100318d7
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 0x10031989
cmp byte [esi + 0x1018ae68], 0
jne 0x10031989
xor eax, eax
mov word [ebp - 0x2a4], ax
mov eax, dword [ebp - 0x2b0]
mov al, byte [eax + str.0123456789abcdefghijklmnopqrstuvwxyz___.____0123456789__.]
jmp 0x10031913
cmp byte [esi + 0x1018ae68], 1
jne 0x100319a7
push edi
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x100319a7
mov word [esi + 0x1018ae68], 0x100
mov eax, dword [ebp - 0x2b0]
inc eax
mov dword [ebp - 0x2b0], eax
mov esi, eax
cmp eax, 0x3d
jl 0x100318c0
cmp byte [0x1018b226], 0
je 0x100319d1
cmp byte [0x1018b217], 0
je 0x10031a44
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e38c]
add esp, 8
movss xmm0, dword [0x1017e32c]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm0, dword [0x1017e334]
mov edx, str.sUse_your_keyboard_to_type_your_input_and_hit_rEnter_sto_continue_once_youre_finished
movss xmm1, dword [0x1017e44c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov ecx, dword [0x10189a80]
mov edx, 6
push 0
push 0x5a
push 0x5a
call fcn.10032830
mov edi, dword [ebp - 0x2a8]
add esp, 0xc
test al, al
je 0x10031a81
cmp edi, dword [0x10189a3c]
jae 0x10031a81
mov ecx, dword [0x1018b178]
call fcn.1002ba70
inc edi
mov dword [ebp - 0x2a8], edi
mov ecx, dword [0x10189a7c]
mov edx, 4
push 0
push 0x5a
push 0x5a
call fcn.10032830
add esp, 0xc
test al, al
je 0x10031ab5
cmp edi, 1
jb 0x10031ab5
mov ecx, dword [0x1018b178]
call fcn.1002ba70
dec edi
mov dword [ebp - 0x2a8], edi
mov edx, 0xf
call fcn.1002b9d0
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
test al, al
jne 0x10031ae4
push 0x20
call esi
test ax, ax
mov al, byte [0x1018aea8]
jns 0x10031b18
test al, al
jne 0x10031b18
mov word [0x1018aea8], 1
push 0x1007d794
push edi
mov ecx, 0x10189a2c
call fcn.1002f570
inc edi
mov dword [ebp - 0x2a8], edi
push 0x14
call esi
test ax, ax
mov al, byte [0x1018ae90]
jns 0x10031b30
test al, al
jne 0x10031b30
mov word [0x1018ae90], 1
jmp 0x10031b54
cmp al, 1
jne 0x10031afb
push 0x20
call esi
test ax, ax
js 0x10031afb
mov word [0x1018aea8], 0x100
jmp 0x10031afb
cmp al, 1
jne 0x10031b46
push 0x14
call esi
test ax, ax
js 0x10031b46
mov word [0x1018ae90], 0x100
mov edx, 5
call fcn.1002b9d0
test al, al
je 0x10031b62
cmp byte [ebp - 0x2a9], 0
sete byte [ebp - 0x2a9]
push 0xd
call esi
test ax, ax
mov al, byte [0x1018ae82]
jns 0x10031b7f
test al, al
jne 0x10031b7f
mov word [0x1018ae82], 1
jmp 0x10031ba3
cmp al, 1
jne 0x10031b95
push 0xd
call esi
test ax, ax
js 0x10031b95
mov word [0x1018ae82], 0x100
mov edx, 0x11
call fcn.1002b9d0
test al, al
je 0x10031baa
mov byte [ebp - 0x2b5], 0
push 0x1b
call esi
test ax, ax
mov al, byte [0x1018ae9e]
jns 0x10031be0
test al, al
jne 0x10031be0
push ecx
push 0x1b58
mov edx, str.Input_cancelled
mov word [0x1018ae9e], 1
mov byte [ebp - 0x2b5], al
call fcn.1002b660
add esp, 8
jmp 0x10031bf6
cmp al, 1
jne 0x10031bf6
push 0x1b
call esi
test ax, ax
js 0x10031bf6
mov word [0x1018ae9e], 0x100
push 0x10189a2c
lea ecx, [ebp - 0x240]
call fcn.10026120
mov dword [ebp - 4], 1
mov eax, dword [0x10189a3c]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2b4], eax
call esi
cmp eax, dword [0x1018b2dc]
jb 0x10031c46
call esi
add eax, 0x1f4
cmp byte [0x1018ae59], 0
mov dword [0x1018b2dc], eax
sete cl
mov byte [0x1018ae59], cl
jmp 0x10031c4c
mov cl, byte [0x1018ae59]
test cl, cl
mov eax, 0x100efae8
mov ecx, 0x1007d794
cmove eax, ecx
lea ecx, [ebp - 0x240]
push eax
push edi
call fcn.1002f570
mov esi, dword [ebp - 0x230]
cmp esi, 0x2d
jbe 0x10032078
lea edx, [esi - 0x2b]
xorps xmm0, xmm0
cmp edi, edx
jae 0x10031f2b
xor ecx, ecx
lea eax, [edi - 0x15]
test eax, eax
lea edx, [edi + 0x15]
cmovns ecx, eax
cmp edx, esi
cmovg edx, esi
cmp edi, 0x23
ja 0x10031de1
mov ecx, 0x2b
mov dword [ebp - 0x248], 0
cmp esi, ecx
mov dword [ebp - 0x244], 0
lea eax, [ebp - 0x240]
cmovb ecx, esi
cmp dword [ebp - 0x22c], 0xf
push ecx
cmova eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x258]
push eax
movups xmmword [ebp - 0x258], xmm0
call fcn.1002f1e0
mov byte [ebp - 4], 2
lea esi, [ebp - 0x258]
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
mov edx, dword [ebp - 0x258]
cmova esi, edx
cmp byte [0x1018b226], 0
je 0x10031d18
cmp byte [0x1018b217], 0
je 0x10031d8f
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10034730
movss xmm1, dword [0x1017e41c]
add esp, 8
movss xmm0, dword [0x1017e3dc]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e384]
mov edx, esi
movss xmm0, dword [0x1017e320]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x258]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x10031dc1
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10031db7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003247e
push ecx
push edx
call fcn.1004f055
add esp, 8
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
jmp 0x1003227e
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
movups xmmword [ebp - 0x270], xmm0
cmp esi, ecx
jb 0x10032483
sub edx, ecx
lea eax, [ebp - 0x240]
sub esi, ecx
cmp esi, edx
cmovb edx, esi
cmp dword [ebp - 0x22c], 0xf
push edx
cmova eax, dword [ebp - 0x240]
add eax, ecx
lea ecx, [ebp - 0x270]
push eax
call fcn.1002f1e0
mov byte [ebp - 4], 3
lea esi, [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
cmp ecx, 0xf
mov edx, dword [ebp - 0x270]
cmova esi, edx
cmp byte [0x1018b226], 0
je 0x10031e62
cmp byte [0x1018b217], 0
je 0x10031ed9
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10034730
movss xmm1, dword [0x1017e41c]
add esp, 8
movss xmm0, dword [0x1017e3dc]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e384]
mov edx, esi
movss xmm0, dword [0x1017e320]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x270]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x10031f0b
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10031f01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003247e
push ecx
push edx
call fcn.1004f055
add esp, 8
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0xf
mov byte [ebp - 0x270], 0
jmp 0x1003227e
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
movups xmmword [ebp - 0x288], xmm0
cmp esi, edx
jb 0x10032483
or eax, 0xffffffff
sub esi, edx
cmp esi, eax
mov ecx, eax
lea eax, [ebp - 0x240]
cmovb ecx, esi
cmp dword [ebp - 0x22c], 0xf
push ecx
cmova eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x288]
add eax, edx
push eax
call fcn.1002f1e0
mov byte [ebp - 4], 4
lea esi, [ebp - 0x288]
mov ecx, dword [ebp - 0x274]
cmp ecx, 0xf
mov edx, dword [ebp - 0x288]
cmova esi, edx
cmp byte [0x1018b226], 0
je 0x10031faf
cmp byte [0x1018b217], 0
je 0x10032026
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10034730
movss xmm1, dword [0x1017e41c]
add esp, 8
movss xmm0, dword [0x1017e3dc]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e384]
mov edx, esi
movss xmm0, dword [0x1017e320]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x288]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x10032058
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003204e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003247e
push ecx
push edx
call fcn.1004f055
add esp, 8
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
jmp 0x1003227e
mov edx, dword [ebp - 0x22c]
lea ecx, [ebp - 0x240]
mov edi, dword [ebp - 0x240]
cmp edx, 0xf
seta al
cmova ecx, edi
mov byte [ebp - 0x2a1], al
cmp esi, 1
jne 0x10032110
mov edi, esi
mov edx, 0x100efae8
sub edi, 4
jb 0x100320c1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100320c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100320b0
cmp edi, 0xfffffffc
je 0x100320fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100320f3
cmp edi, 0xfffffffd
je 0x100320fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100320f3
cmp edi, 0xfffffffe
je 0x100320fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100320f3
cmp edi, 0xffffffff
je 0x100320fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100320fa
sbb eax, eax
or eax, 1
jmp 0x100320fc
xor eax, eax
test eax, eax
je 0x10032180
mov al, byte [ebp - 0x2a1]
mov edi, dword [ebp - 0x240]
test al, al
lea ecx, [ebp - 0x240]
cmovne ecx, edi
cmp esi, 1
jne 0x100321eb
mov edx, 0x1007d794
sub esi, 4
jb 0x10032141
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10032146
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10032130
cmp esi, 0xfffffffc
je 0x1003217a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10032173
cmp esi, 0xfffffffd
je 0x1003217a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10032173
cmp esi, 0xfffffffe
je 0x1003217a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10032173
cmp esi, 0xffffffff
je 0x1003217a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1003217a
sbb eax, eax
or eax, 1
jmp 0x1003217c
xor eax, eax
test eax, eax
jne 0x100321eb
cmp byte [0x1018b226], 0
je 0x10032196
cmp byte [0x1018b217], 0
je 0x10032278
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
xor dl, dl
xor cl, cl
push 0x96
push 0
call fcn.10034730
movss xmm1, dword [0x1017e41c]
add esp, 8
movss xmm0, dword [0x1017e3dc]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
mov edx, dword [ebp - 0x2cc]
jmp 0x1003225c
cmp dword [ebp - 0x22c], 0xf
lea esi, [ebp - 0x240]
cmova esi, edi
cmp byte [0x1018b226], 0
je 0x1003220d
cmp byte [0x1018b217], 0
je 0x10032278
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
xor dl, dl
xor cl, cl
push 0xff
push 0
call fcn.10034730
movss xmm1, dword [0x1017e41c]
add esp, 8
movss xmm0, dword [0x1017e3dc]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
mov edx, esi
movss xmm1, dword [0x1017e384]
movss xmm0, dword [0x1017e320]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov edi, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2b4]
test eax, eax
je 0x10032323
push eax
push 0x100efaec
lea eax, [ebp - 0x24]
push 0x10
push eax
call fcn.100012c0
add esp, 0x10
cmp byte [0x1018b226], 0
je 0x100322b2
cmp byte [0x1018b217], 0
je 0x10032323
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e41c]
add esp, 8
movss xmm0, dword [0x1017e3dc]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e384]
lea edx, [ebp - 0x24]
movss xmm0, dword [0x1017e2f4]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b226], 0
je 0x10032335
cmp byte [0x1018b217], 0
je 0x10032363
movss xmm3, dword [0x1017e488]
xor dl, dl
movss xmm1, dword [0x1017e474]
xor cl, cl
movss xmm0, dword [0x1017e468]
movaps xmm2, xmm3
push 0xc8
push 0
call fcn.10034cc0
add esp, 8
cmp byte [0x1018b226], 0
je 0x10032375
cmp byte [0x1018b217], 0
je 0x100323ad
movss xmm3, dword [0x1017e2c4]
or dl, 0xff
movss xmm2, dword [0x1017e408]
or cl, 0xff
movss xmm1, dword [0x1017e398]
movss xmm0, dword [0x1017e3d0]
push 0xc8
push 0xff
call fcn.10034cc0
add esp, 8
mov ecx, dword [0x1018b210]
push 0
call dword [sym.imp.ScriptHook.dll_protected:_void___thiscall_ScriptThread::Wait_unsigned_int_]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x100323fc
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100323f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003247e
push ecx
push edx
call fcn.1004f055
add esp, 8
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
cmp byte [ebp - 0x2b5], 0
jne 0x10030c80
cmp byte [ebp - 0x2b6], 0
je 0x1003241f
mov byte [0x1018b226], 1
push dword [ebp - 0x2c0]
mov cl, 1
call fcn.1002b110
add esp, 4
call fcn.10027530
mov dl, 1
mov ecx, eax
call fcn.10027700
call fcn.1002d610
test al, al
je 0x1003244d
xor cl, cl
call fcn.10032490
cmp dword [0x10189a40], 0xf
mov eax, 0x10189a2c
cmova eax, dword [0x10189a2c]
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.1004ecf8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10057491
call fcn.100272a0
int3