Function at 0x1000ce20
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x264
push ebx
mov ebx, ecx
mov ecx, dword [0x10213bfc]
push ebp
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x10249b98]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
cmp dword [0x10249c14], 0
mov ebp, eax
je 0x1000e7df
mov ecx, dword [0x10213bfc]
mov edx, dword [ecx]
mov edx, dword [edx + 0x6c]
call edx
test al, al
je 0x1000e7df
mov ecx, dword [0x10213bfc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1000e7df
cmp byte [0x1024a0d5], 0
je 0x1000e7df
mov ecx, dword [0x10213bf8]
push str.sv_cheats
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, eax
call dword [esp + 0x10]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
ucomiss xmm0, dword [0x10209290]
lahf
test ah, 0x44
jp 0x1000e7fd
mov edi, dword [0x10249c14]
test edi, edi
je 0x1000e7fd
mov eax, dword [0x10249c10]
test eax, eax
jne 0x1000cf0c
mov edx, 0xe80c2f78
mov ecx, 0x101e7481
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73a9
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov dword [0x10249c10], eax
cmp dword [edi + eax], 0
jle 0x1000e7fd
mov eax, dword [0x10249ba0]
movss xmm0, dword [eax]
comiss xmm0, dword [0x10213c1c]
jbe 0x1000e7fd
lea ecx, [esp + 0x228]
mov dword [esp + 0x1c0], 0x101e7d7c
mov dword [esp + 0x1d0], 0x101e7d2c
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x1c8]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char____]
mov eax, dword [esp + 0x1c0]
mov eax, dword [eax + 4]
mov dword [esp + eax + method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [esp + ecx + 0x1bc], eax
lea ecx, [esp + 0x1d8]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
push dword [0x1024a0e0]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov dword [esp + method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
call edi
test ax, ax
je 0x1000d289
mov eax, dword [0x10249c14]
mov dword [esp + 0x10], eax
mov eax, dword [0x10249c64]
test eax, eax
jne 0x1000d014
mov edx, 0xe80c2f78
mov ecx, 0x101e75b1
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73a9
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov dword [0x10249c64], eax
mov ecx, dword [esp + 0x10]
test byte [ecx + eax], 1
je 0x1000d289
movss xmm1, dword [ebx + 0x10]
movss xmm0, dword [ebx + 0xc]
mov eax, dword [0x10249ba8]
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x14], xmm1
mov dword [esp + 0x18], 0
test eax, eax
jne 0x1000d077
mov edx, 0xe80c2f78
mov ecx, 0x101e73c5
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73d1
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov dword [0x10249ba8], eax
movq xmm0, qword [esp + 0x10]
mov edx, dword [0x10213e28]
mov ecx, dword [esp + 0x18]
movq qword [esp + 0x28], xmm0
movq xmm0, qword [eax + ebp]
mov eax, dword [eax + ebp + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [0x10213e30]
inc eax
mov dword [esp + 0x30], ecx
movq qword [esp + 0x34], xmm0
cmp edx, eax
ja 0x1000d0ba
push ecx
call fcn.100116a0
mov edx, dword [0x10213e28]
lea ecx, [edx - 1]
mov edi, edx
and ecx, dword [0x10213e2c]
lea esi, [edx - 1]
mov dword [0x10213e2c], ecx
cmovne edi, ecx
mov ecx, dword [0x10213e24]
dec edi
and esi, edi
cmp dword [ecx + esi*4], 0
jne 0x1000d0ff
push 0x18
call fcn.10176cb7
mov ecx, dword [0x10213e24]
add esp, 4
mov dword [ecx + esi*4], eax
mov edx, dword [0x10213e28]
mov ecx, dword [0x10213e24]
movups xmm0, xmmword [esp + 0x28]
lea eax, [edx - 1]
mov dword [0x10213c20], 0
and eax, edi
mov eax, dword [ecx + eax*4]
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x38]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x10213e30]
mov dword [0x10213e2c], edi
lea eax, [ecx + 1]
mov dword [0x10213e30], eax
cmp eax, 0x63
jbe 0x1000d14d
mov dword [0x10213e30], ecx
test ecx, ecx
jne 0x1000d14d
mov dword [0x10213e2c], ecx
mov eax, dword [0x10249ba0]
mov edi, 1
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102092c8]
cvtpd2ps xmm0, xmm0
movss dword [0x10213c1c], xmm0
mov edx, 0x101e79c4
lea ecx, [esp + 0x1d0]
call fcn.10011340
mov edx, 0x101e79d8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79d4
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c4
mov ecx, eax
call fcn.10011340
mov edx, str._b__saved_checkpoint.
mov ecx, eax
call fcn.10011340
movsx ebx, byte [0x102100cd]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movups xmmword [esp + 0x40], xmm0
mov esi, 0xf
mov byte [esp + 0x40], 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x58], esi
call fcn.10011260
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000d20f
push dword [esp + 0x14]
lea ecx, [esp + 0x44]
push eax
call fcn.1000be40
mov esi, dword [esp + 0x54]
cmp esi, 0xf
lea eax, [esp + 0x40]
push ebx
cmova eax, dword [esp + 0x44]
push eax
push 0
push 0
push dword [0x10249c8c]
call fcn.1000ae20
mov ecx, dword [esp + 0x68]
add esp, 0x14
cmp ecx, 0xf
jbe 0x1000d265
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d25b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
inc edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
cmp edi, 1
jle 0x1000d172
jmp 0x1000d422
push dword [0x1024a0e0]
call edi
test ax, ax
je 0x1000d422
mov eax, dword [0x10249c64]
mov edi, dword [0x10249c14]
test eax, eax
jne 0x1000d2d7
mov edx, 0xe80c2f78
mov ecx, 0x101e75b1
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73a9
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov dword [0x10249c64], eax
test byte [eax + edi], 1
jne 0x1000d422
mov eax, dword [0x10249ba0]
mov edi, 1
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102092c8]
cvtpd2ps xmm0, xmm0
movss dword [0x10213c1c], xmm0
nop word [eax + eax]
mov edx, 0x101e79c4
lea ecx, [esp + 0x1d0]
call fcn.10011340
mov edx, 0x101e79d8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79d4
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c4
mov ecx, eax
call fcn.10011340
mov edx, str._b__failed_to_save_position
mov ecx, eax
call fcn.10011340
movsx ebx, byte [0x102100cd]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movups xmmword [esp + 0x40], xmm0
mov esi, 0xf
mov byte [esp + 0x40], 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x58], esi
call fcn.10011260
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000d3ad
push dword [esp + 0x14]
lea ecx, [esp + 0x44]
push eax
call fcn.1000be40
mov esi, dword [esp + 0x54]
cmp esi, 0xf
lea eax, [esp + 0x40]
push ebx
cmova eax, dword [esp + 0x44]
push eax
push 0
push 0
push dword [0x10249c8c]
call fcn.1000ae20
mov ecx, dword [esp + 0x68]
add esp, 0x14
cmp ecx, 0xf
jbe 0x1000d403
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d3f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
inc edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
cmp edi, 1
je 0x1000d310
mov eax, dword [0x10213e30]
test eax, eax
je 0x1000e76d
mov edx, dword [0x102101f8]
mov ecx, dword [0x1024a0c8]
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
cmp edx, 3
ja case.0x1000d446.0
jmp dword [edx*4 + 0x1000e810]
push ecx
call ebx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1000d472
push ecx
call ebx
test ax, ax
setne al
jmp 0x1000d472
push ecx
call ebx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x1000e2a4
mov eax, dword [0x10213e30]
mov ecx, dword [0x10213c20]
cmp eax, ecx
jbe 0x1000e808
mov edx, dword [0x10213e28]
sub esp, 8
add ecx, dword [0x10213e2c]
dec edx
mov eax, dword [0x10213e24]
and edx, ecx
mov edi, dword [eax + edx*4]
movss xmm0, dword [edi + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x101e7910
movsd qword [esp + 0x1c], xmm0
call fcn.1000bfb0
add esp, 0xc
lea ecx, [esp + 0x130]
mov esi, eax
push 0
push esi
call fcn.10010c40
cmp dword [esp + 0x144], 0xf
lea ecx, [esp + 0x130]
movsd xmm0, qword [esp + 0x10]
lea eax, [esi + 1]
cmova ecx, dword [esp + 0x130]
sub esp, 8
movsd qword [esp], xmm0
push 0x101e7910
push eax
push ecx
call fcn.1000bf70
movss xmm0, dword [edi + 0x10]
add esp, 0xc
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x101e7910
movsd qword [esp + 0x1c], xmm0
call fcn.1000bfb0
add esp, 0xc
lea ecx, [esp + 0x118]
mov esi, eax
push 0
push esi
call fcn.10010c40
cmp dword [esp + 0x12c], 0xf
lea ecx, [esp + 0x118]
movsd xmm0, qword [esp + 0x10]
lea eax, [esi + 1]
cmova ecx, dword [esp + 0x118]
sub esp, 8
movsd qword [esp], xmm0
push 0x101e7910
push eax
push ecx
call fcn.1000bf70
movss xmm0, dword [edi + 0xc]
add esp, 0xc
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x101e7910
movsd qword [esp + 0x1c], xmm0
call fcn.1000bfb0
add esp, 0xc
lea ecx, [esp + 0x100]
mov esi, eax
push 0
push esi
call fcn.10010c40
cmp dword [esp + 0x114], 0xf
lea ecx, [esp + 0x100]
movsd xmm0, qword [esp + 0x10]
lea eax, [esi + 1]
cmova ecx, dword [esp + 0x100]
sub esp, 8
movsd qword [esp], xmm0
push 0x101e7910
push eax
push ecx
call fcn.1000bf70
add esp, 0x14
push 7
push str.setpos
push 0
lea ecx, [esp + 0x10c]
call fcn.10011ab0
mov dword [esp + 0xb0], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb4], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xb0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xb4]
mov eax, edx
mov ecx, dword [esp + 0xb0]
sub eax, ecx
cmp eax, 1
jb 0x1000d681
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xa0]
cmova eax, dword [esp + 0xa0]
mov word [eax + ecx], 0x20
lea eax, [esp + 0xa0]
jmp 0x1000d69a
push 1
push 0x101e79fc
push dword [esp + 0x18]
lea ecx, [esp + 0xac]
push 1
call fcn.10004290
movups xmm0, xmmword [eax]
lea ecx, [esp + 0xe8]
movups xmmword [esp + 0x10], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x20], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x118]
push eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x18]
call fcn.100118c0
mov edx, dword [esp + 0xfc]
mov eax, edx
mov ecx, dword [esp + 0xf8]
sub eax, ecx
cmp eax, 1
jb 0x1000d71d
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xe8]
cmova eax, dword [esp + 0xe8]
mov word [eax + ecx], 0x20
lea eax, [esp + 0xe8]
jmp 0x1000d736
push 1
push 0x101e79fc
push dword [esp + 0x18]
lea ecx, [esp + 0xf4]
push 1
call fcn.10004290
movups xmm0, xmmword [eax]
lea ecx, [esp + 0xd0]
movups xmmword [esp + 0x178], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x188], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x18]
call fcn.100118c0
mov edx, dword [esp + 0xe4]
mov eax, edx
mov ecx, dword [esp + 0xe0]
sub eax, ecx
cmp eax, 1
jb 0x1000d7c2
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xd0]
cmova eax, dword [esp + 0xd0]
mov word [eax + ecx], 0x3b
lea eax, [esp + 0xd0]
jmp 0x1000d7db
push 1
push 0x101e79f8
push dword [esp + 0x18]
lea ecx, [esp + 0xdc]
push 1
call fcn.10004290
mov dword [esp + 0x98], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x88], xmm0
mov dword [esp + 0x9c], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x98], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0xe4]
cmp ecx, 0xf
jbe 0x1000d862
mov edx, dword [esp + 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d858
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
cmp ecx, 0xf
jbe 0x1000d8bc
mov edx, dword [esp + 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d8b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0xfc]
cmp ecx, 0xf
jbe 0x1000d8f8
mov edx, dword [esp + 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d8ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0xf
mov byte [esp + 0xe8], 0
cmp ecx, 0xf
jbe 0x1000d94c
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d942
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xf
jbe 0x1000d988
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d97e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
mov byte [esp + 0xa0], 0
cmp ecx, 0xf
jbe 0x1000d9e2
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d9d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0xf
mov byte [esp + 0x100], 0
cmp ecx, 0xf
jbe 0x1000da38
mov edx, dword [esp + 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000da2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0xf
mov byte [esp + 0x118], 0
cmp ecx, 0xf
jbe 0x1000da94
mov edx, dword [esp + 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000da8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000da8a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [0x10213bfc]
lea edx, [esp + 0x88]
cmp dword [esp + 0x9c], 0xf
mov dword [esp + 0x140], 0
cmova edx, dword [esp + 0x88]
mov dword [esp + 0x144], 0xf
mov byte [esp + 0x130], 0
mov eax, dword [ecx]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
movss xmm0, dword [edi + 8]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x101e7910
movsd qword [esp + 0x1c], xmm0
call fcn.1000bfb0
add esp, 0xc
lea ecx, [esp + 0x28]
mov esi, eax
push 0
push esi
call fcn.10010c40
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
movsd xmm0, qword [esp + 0x10]
lea eax, [esi + 1]
cmova ecx, dword [esp + 0x28]
sub esp, 8
movsd qword [esp], xmm0
push 0x101e7910
push eax
push ecx
call fcn.1000bf70
movss xmm0, dword [edi + 4]
add esp, 0xc
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x101e7910
movsd qword [esp + 0x1c], xmm0
call fcn.1000bfb0
add esp, 0xc
lea ecx, [esp + 0x160]
mov esi, eax
push 0
push esi
call fcn.10010c40
cmp dword [esp + 0x174], 0xf
lea ecx, [esp + 0x160]
movsd xmm0, qword [esp + 0x10]
lea eax, [esi + 1]
cmova ecx, dword [esp + 0x160]
sub esp, 8
movsd qword [esp], xmm0
push 0x101e7910
push eax
push ecx
call fcn.1000bf70
movss xmm0, dword [edi]
add esp, 0xc
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x101e7910
movsd qword [esp + 0x1c], xmm0
call fcn.1000bfb0
add esp, 0xc
lea ecx, [esp + 0x148]
mov esi, eax
push 0
push esi
call fcn.10010c40
cmp dword [esp + 0x15c], 0xf
lea ecx, [esp + 0x148]
movsd xmm0, qword [esp + 0x10]
lea eax, [esi + 1]
cmova ecx, dword [esp + 0x148]
sub esp, 8
movsd qword [esp], xmm0
push 0x101e7910
push eax
push ecx
call fcn.1000bf70
add esp, 0x14
lea ecx, [esp + 0x148]
push 7
push str.setang
push 0
call fcn.10011ab0
mov dword [esp + 0xc8], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xb8], xmm0
mov dword [esp + 0xcc], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xb8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xc8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xcc]
mov eax, edx
mov ecx, dword [esp + 0xc8]
sub eax, ecx
cmp eax, 1
jb 0x1000dcac
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xb8]
cmova eax, dword [esp + 0xb8]
mov word [eax + ecx], 0x20
lea eax, [esp + 0xb8]
jmp 0x1000dcc5
push 1
push 0x101e79fc
push dword [esp + 0x18]
lea ecx, [esp + 0xc4]
push 1
call fcn.10004290
movups xmm0, xmmword [eax]
lea ecx, [esp + 0x70]
movups xmmword [esp + 0x1a8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x1b8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x160]
push eax
lea eax, [esp + 0x1ac]
push eax
push dword [esp + 0x18]
call fcn.100118c0
mov edx, dword [esp + 0x84]
mov eax, edx
mov ecx, dword [esp + 0x80]
sub eax, ecx
cmp eax, 1
jb 0x1000dd45
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x80], eax
lea eax, [esp + 0x70]
cmova eax, dword [esp + 0x70]
mov word [eax + ecx], 0x20
lea eax, [esp + 0x70]
jmp 0x1000dd5b
push 1
push 0x101e79fc
push dword [esp + 0x18]
lea ecx, [esp + 0x7c]
push 1
call fcn.10004290
movups xmm0, xmmword [eax]
lea ecx, [esp + 0x58]
movups xmmword [esp + 0x190], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x1a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x194]
push eax
push dword [esp + 0x18]
call fcn.100118c0
mov edx, dword [esp + 0x6c]
mov eax, edx
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
jb 0x1000ddcf
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x68], eax
lea eax, [esp + 0x58]
cmova eax, dword [esp + 0x58]
mov word [eax + ecx], 0x3b
lea eax, [esp + 0x58]
jmp 0x1000dde5
push 1
push 0x101e79f8
push dword [esp + 0x18]
lea ecx, [esp + 0x64]
push 1
call fcn.10004290
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
movups xmmword [esp + 0x178], xmm0
movq qword [esp + 0x10], xmm1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x1000de56
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000de3e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
movups xmm0, xmmword [esp + 0x180]
add esp, 8
movq xmm1, qword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
movq qword [esp + 0x98], xmm1
movups xmmword [esp + 0x88], xmm0
cmp ecx, 0xf
jbe 0x1000de9d
mov edx, dword [esp + 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000de93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
mov byte [esp + 0x58], 0
cmp ecx, 0xf
jbe 0x1000deee
mov edx, dword [esp + 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000dee4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1000df27
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000df1d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
mov byte [esp + 0x70], 0
cmp ecx, 0xf
jbe 0x1000df7e
mov edx, dword [esp + 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000df74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0xcc]
cmp ecx, 0xf
jbe 0x1000dfba
mov edx, dword [esp + 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000dfb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0xf
mov byte [esp + 0xb8], 0
cmp ecx, 0xf
jbe 0x1000e014
mov edx, dword [esp + 0x148]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e00a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0xf
mov byte [esp + 0x148], 0
cmp ecx, 0xf
jbe 0x1000e06a
mov edx, dword [esp + 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e060
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000e0b0
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0xf
mov byte [esp + 0x160], 0
cmp ecx, 0xf
jbe 0x1000e0c0
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e0b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000e0b6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [0x10213bfc]
lea edx, [esp + 0x88]
cmp dword [esp + 0x9c], 0xf
mov dword [esp + 0x38], 0
cmova edx, dword [esp + 0x88]
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov eax, dword [ecx]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov eax, dword [0x10249ba0]
mov edi, 1
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102092c8]
cvtpd2ps xmm0, xmm0
movss dword [0x10213c1c], xmm0
mov edx, 0x101e79c4
lea ecx, [esp + 0x1d0]
call fcn.10011340
mov edx, 0x101e79d8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79d4
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c4
mov ecx, eax
call fcn.10011340
mov edx, str._b__teleported_to_saved_checkpoint.
mov ecx, eax
call fcn.10011340
movsx ebp, byte [0x102100cd]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
movups xmmword [esp + 0x70], xmm0
mov esi, 0xf
mov byte [esp + 0x70], 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x88], esi
call fcn.10011260
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000e1ca
push dword [esp + 0x14]
lea ecx, [esp + 0x74]
push eax
call fcn.1000be40
mov esi, dword [esp + 0x84]
cmp esi, 0xf
lea eax, [esp + 0x70]
push ebp
cmova eax, dword [esp + 0x74]
push eax
push 0
push 0
push dword [0x10249c8c]
call fcn.1000ae20
mov ecx, dword [esp + 0x98]
add esp, 0x14
cmp ecx, 0xf
jbe 0x1000e223
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e219
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
inc edi
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
mov byte [esp + 0x70], 0
cmp edi, 1
jle 0x1000e124
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x1000e286
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e27c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000e27c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10177006
add esp, 8
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], 0
mov ecx, dword [0x102101f4]
mov eax, dword [0x1024a0b8]
cmp ecx, 3
ja case.0x1000e2b4.0
jmp dword [ecx*4 + 0x1000e820]
push eax
call ebx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1000e2e0
push eax
call ebx
test ax, ax
setne al
jmp 0x1000e2e0
push eax
call ebx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x1000e435
mov eax, dword [0x10213c20]
test eax, eax
jle 0x1000e2f7
dec eax
mov dword [0x10213c20], eax
mov eax, dword [0x10249ba0]
mov edi, 1
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102092c8]
cvtpd2ps xmm0, xmm0
movss dword [0x10213c1c], xmm0
nop dword [eax]
mov edx, 0x101e79c4
lea ecx, [esp + 0x1d0]
call fcn.10011340
mov edx, 0x101e79d8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79d4
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c4
mov ecx, eax
call fcn.10011340
mov edx, str._b__next_position.
mov ecx, eax
call fcn.10011340
movsx ebp, byte [0x102100cd]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x68], 0
movups xmmword [esp + 0x58], xmm0
mov esi, 0xf
mov byte [esp + 0x58], 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x70], esi
call fcn.10011260
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000e3bd
push dword [esp + 0x14]
lea ecx, [esp + 0x5c]
push eax
call fcn.1000be40
mov esi, dword [esp + 0x6c]
cmp esi, 0xf
lea eax, [esp + 0x58]
push ebp
cmova eax, dword [esp + 0x5c]
push eax
push 0
push 0
push dword [0x10249c8c]
call fcn.1000ae20
mov ecx, dword [esp + 0x80]
add esp, 0x14
cmp ecx, 0xf
jbe 0x1000e416
mov edx, dword [esp + 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e40c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
inc edi
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
mov byte [esp + 0x58], 0
cmp edi, 1
jle 0x1000e320
mov ecx, dword [0x10210204]
mov eax, dword [0x1024a0cc]
cmp ecx, 3
ja case.0x1000e445.0
jmp dword [ecx*4 + 0x1000e830]
push eax
call ebx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1000e471
push eax
call ebx
test ax, ax
setne al
jmp 0x1000e471
push eax
call ebx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x1000e5ae
mov eax, dword [0x10213c20]
inc eax
cmp eax, dword [0x10213e30]
jae 0x1000e48c
mov dword [0x10213c20], eax
mov eax, dword [0x10249ba0]
mov edi, 1
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102092c8]
cvtpd2ps xmm0, xmm0
movss dword [0x10213c1c], xmm0
mov edx, 0x101e79c4
lea ecx, [esp + 0x1d0]
call fcn.10011340
mov edx, 0x101e79d8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79d4
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c4
mov ecx, eax
call fcn.10011340
mov edx, str._b__previous_position.
mov ecx, eax
call fcn.10011340
movsx ebp, byte [0x102100cd]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
movups xmmword [esp + 0x28], xmm0
mov esi, 0xf
mov byte [esp + 0x28], 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x40], esi
call fcn.10011260
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000e54e
push dword [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
call fcn.1000be40
mov esi, dword [esp + 0x3c]
cmp esi, 0xf
lea eax, [esp + 0x28]
push ebp
cmova eax, dword [esp + 0x2c]
push eax
push 0
push 0
push dword [0x10249c8c]
call fcn.1000ae20
mov ecx, dword [esp + 0x50]
add esp, 0x14
cmp ecx, 0xf
jbe 0x1000e5a4
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e59a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
inc edi
cmp edi, 1
jle 0x1000e4b1
mov ecx, dword [0x102101f0]
mov eax, dword [0x1024a0f4]
cmp ecx, 3
ja case.0x1000e5be.0
jmp dword [ecx*4 + 0x1000e840]
push eax
call ebx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1000e5ea
push eax
call ebx
test ax, ax
setne al
jmp 0x1000e5ea
push eax
call ebx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x1000e76d
mov edx, dword [0x10213e2c]
sub esp, 0xc
add edx, dword [0x10213c20]
mov ecx, esp
mov esi, dword [0x10213e20]
sub esp, 0xc
lea eax, [edx + 1]
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
mov eax, esp
mov dword [ecx], esi
mov dword [eax + 4], 0
mov dword [eax], esi
mov dword [eax + 8], edx
lea eax, [esp + 0x28]
push eax
call fcn.10010f70
mov eax, dword [0x10213e30]
cmp dword [0x10213c20], eax
jb 0x1000e646
dec eax
mov dword [0x10213c20], eax
mov eax, dword [0x10249ba0]
mov edi, 1
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102092c8]
cvtpd2ps xmm0, xmm0
movss dword [0x10213c1c], xmm0
nop dword [eax + eax]
mov edx, 0x101e79c4
lea ecx, [esp + 0x1d0]
call fcn.10011340
mov edx, 0x101e79d8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79d4
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c8
mov ecx, eax
call fcn.10011340
mov edx, 0x101e79c4
mov ecx, eax
call fcn.10011340
mov edx, str._b__undid_position.
mov ecx, eax
call fcn.10011340
movsx ebx, byte [0x102100cd]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
movups xmmword [esp + 0x28], xmm0
mov esi, 0xf
mov byte [esp + 0x28], 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x40], esi
call fcn.10011260
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000e70d
push dword [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
call fcn.1000be40
mov esi, dword [esp + 0x3c]
cmp esi, 0xf
lea eax, [esp + 0x28]
push ebx
cmova eax, dword [esp + 0x2c]
push eax
push 0
push 0
push dword [0x10249c8c]
call fcn.1000ae20
mov ecx, dword [esp + 0x50]
add esp, 0x14
cmp ecx, 0xf
jbe 0x1000e763
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000e759
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000da84
push ecx
push edx
call fcn.10177006
add esp, 8
inc edi
cmp edi, 1
jle 0x1000e670
mov eax, dword [esp + 0x1c0]
mov eax, dword [eax + 4]
mov dword [esp + eax + method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [esp + ecx + 0x1bc], eax
lea ecx, [esp + 0x1d8]
mov dword [esp + method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.10011160
lea ecx, [esp + 0x1d8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0x1e0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0x228]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x264
ret
mov ecx, 0x10213e20
call fcn.10010ec0
add byte es:[eax], al
mov dword [0x10213c20], 0
mov dword [0x10213c1c], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x264
ret
call fcn.10010f60
nop dword [eax]
jg 0x1000e7e6
add byte [eax], dl
dec ebp
aam 0
adc byte [ebx - 0x2c], bl
add byte [eax], dl
aam 0
adc al, ch
loop 0x1000e823
adc byte [ebx - 0x36efff1e], bh
loop 0x1000e82b
adc ah, dl
loop 0x1000e82f
adc byte [ecx - 0x1c], bh
add byte [eax], dl
dec esp
in al, 0
adc byte [edx - 0x1c], bl
add byte [eax], dl
in al, 0
adc dl, dh
in eax, 0
adc ch, al
in eax, 0
adc bl, dl
in eax, 0
adc dh, bl
in eax, 0
adc byte [ebp - 0x75], dl
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
cmp byte [0x1024a0db], 0
push ebx
push esi
push edi
je 0x1000eba5
mov ecx, dword [0x10213bfc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1000ec7c
mov ecx, dword [0x10213bfc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1000ec7c
mov edi, dword [0x10249c14]
test edi, edi
je 0x1000ec7c
mov ebx, edi
test ebx, ebx
je 0x1000ec7c
mov eax, dword [0x10249c10]
test eax, eax
jne 0x1000e8e8
mov edx, 0xe80c2f78
mov ecx, 0x101e7481
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73a9
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov edi, dword [0x10249c14]
mov dword [0x10249c10], eax
cmp dword [eax + ebx], 0
jle 0x1000ec7c
mov esi, dword [0x1024a0a0]
test esi, esi
jne 0x1000e92d
mov edx, 0xe80c2f78
mov ecx, 0x101e7961
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73d1
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov esi, eax
mov dword [0x1024a0a0], esi
mov ecx, dword [0x10249b98]
push dword [esi + edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
test edi, edi
je 0x1000ec7c
mov ecx, dword [edi]
mov edx, dword [ecx + 0x2c]
mov ecx, edi
call edx
mov esi, eax
movss xmm0, dword [esi]
mulss xmm0, dword [0x1020918c]
movss dword [esp + 0x14], xmm0
call fcn.1000a460
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x14]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 4]
mulss xmm0, dword [0x1020918c]
movss dword [esp + 0x14], xmm0
call fcn.1000a460
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x14]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esi + 8]
mulss xmm0, dword [0x1020918c]
movss dword [esp + 0x18], xmm0
call fcn.1000a460
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss xmm3, dword [esp + 0x1c]
movaps xmm5, xmm0
movss xmm4, dword [esp + 0x20]
movaps xmm1, xmm3
mulss xmm1, dword [esp + 0xc]
movaps xmm2, xmm5
mov ecx, edi
mov eax, dword [edi]
movss xmm6, dword [esp + 0x14]
mulss xmm2, xmm4
movss dword [esp + 0x18], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [esp + 0xc]
mov eax, dword [eax + 0x28]
movss dword [esp + 0x2c], xmm1
movaps xmm1, xmm6
mulss xmm1, dword [esp + 0x10]
movaps xmm0, xmm1
mulss xmm1, xmm4
mulss xmm0, xmm3
subss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm3
xorps xmm0, xmmword [0x10209860]
subss xmm0, xmm1
movss dword [esp + 0x20], xmm2
movaps xmm2, xmm5
mulss xmm5, dword [esp + 0xc]
mulss xmm2, dword [esp + 0x10]
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm4
movaps xmm1, xmm2
movss dword [esp + 0x30], xmm5
mulss xmm1, xmm3
mulss xmm2, xmm4
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm3
subss xmm2, xmm0
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x28], xmm2
call eax
movss xmm4, dword [0x1024a0ec]
movss xmm3, dword [esp + 0x1c]
movaps xmm0, xmm4
movss xmm2, dword [0x1024a0bc]
mulss xmm0, dword [esp + 0x20]
movss xmm1, dword [0x1024a0d0]
mulss xmm3, xmm2
addss xmm0, xmm3
movss xmm3, dword [esp + 0x18]
mulss xmm3, xmm1
addss xmm3, dword [eax]
mov ecx, dword [0x10213bc0]
addss xmm0, xmm3
movss xmm3, dword [esp + 0x28]
mulss xmm3, xmm2
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esp + 0x24]
addss xmm0, xmm3
movss xmm3, dword [esp + 0x2c]
mulss xmm3, xmm1
addss xmm3, dword [eax + 4]
addss xmm0, xmm3
movss xmm3, dword [esp + 0x10]
mulss xmm3, xmm1
movss xmm1, dword [esp + 0x30]
mulss xmm1, xmm2
movss dword [esp + 0x38], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword fs:[0x2c]
subss xmm0, xmm3
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1024a224]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [esp + 0xc]
mulss xmm1, xmm4
subss xmm0, xmm1
movss dword [esp + 0x3c], xmm0
cmp eax, dword [ecx + 4]
jle 0x1000eb98
push 0x1024a224
call fcn.10177088
add esp, 4
cmp dword [0x1024a224], 0xffffffff
jne 0x1000eb98
mov edx, str.55_8B_EC_83_E4_F8_51_53_56_57_8B_F1_E8
mov ecx, str.client.dll
call fcn.10007a50
push 0x1024a224
mov dword [0x1024a218], eax
call fcn.10177037
add esp, 4
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call dword [0x1024a218]
mov eax, dword [0x10213bc0]
mov esi, dword fs:[0x2c]
mov esi, dword [esi + eax*4]
mov eax, dword [0x1024ae3c]
cmp eax, dword [esi + 4]
jle 0x1000ec09
push 0x1024ae3c
call fcn.10177088
add esp, 4
cmp dword [0x1024ae3c], 0xffffffff
jne 0x1000ec09
mov ecx, dword [0x10213bf8]
push str.cl_wpn_sway_scale
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x30], ecx
mov ecx, eax
call dword [esp + 0x30]
push 0x1024ae3c
fstp dword [0x1024adf8]
call fcn.10177037
add esp, 4
mov eax, dword [0x1024ade8]
cmp eax, dword [esi + 4]
jle 0x1000ec4e
push 0x1024ade8
call fcn.10177088
add esp, 4
cmp dword [0x1024ade8], 0xffffffff
jne 0x1000ec4e
mov ecx, dword [0x10213bf8]
push str.cl_wpn_sway_scale
mov eax, dword [ecx]
call dword [eax + 0x44]
push 0x1024ade8
mov dword [0x1024ae20], eax
call fcn.10177037
add esp, 4
cmp byte [0x1024a0dc], 0
je 0x1000ec61
movss xmm0, dword [0x1024a0e4]
jmp 0x1000ec69
movss xmm0, dword [0x1024adf8]
mov ecx, dword [0x1024ae20]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret