Function at 0x180036ee0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x258
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov r15, rcx
mov r8, qword [0x180591d80]
mov rax, qword [r8 + 0x3ed0]
mov ecx, 1
mov byte [rax + 0xb0], cl
mov rsi, qword [r8 + 0x3ed0]
xor r12d, r12d
cmp byte [rsi + 0xb3], r12b
jne 0x180037151
mov r13, qword [0x180591d80]
mov qword [rsp + 0x78], r13
mov ebx, dword [rbp + 0x1c8]
mov r14d, ebx
shr r14d, 0x1a
and r14b, cl
mov dword [rsp + 0x5c], r14d
mov eax, ebx
shr eax, 0xe
and al, cl
mov dword [rsp + 0x60], eax
mov eax, ebx
shr eax, 0xf
and al, cl
mov dword [rbp - 0x20], eax
mov eax, ebx
shr eax, 0x10
not al
and al, cl
mov dword [rbp - 0x60], eax
mov eax, ebx
shr eax, 0x12
and al, cl
mov dword [rbp - 0x80], eax
test r14b, r14b
je 0x180036fdb
call fcn.1800067a0
xor r8d, r8d
mov rdx, r15
mov rcx, rsi
call fcn.18000a7c4
mov edi, eax
mov dword [rsp + 0x6c], eax
movss xmm0, dword [0x1800a6314]
movss dword [rbp - 0x40], xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, 1
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp + 0x48]
call fcn.18000715c
test r14b, r14b
je 0x18003702f
movss xmm0, dword [r13 + 0x3c20]
mulss xmm0, dword [0x1800a62bc]
jmp 0x180037034
movss xmm0, dword [rbp + 0x4c]
movss xmm6, dword [r13 + 0x3820]
addss xmm6, xmm6
addss xmm6, xmm0
call fcn.180006e74
movaps xmm3, xmm6
movaps xmm2, xmm0
mov rdx, qword [rbp + 0x1c0]
mov rdx, qword [rdx]
lea rcx, [rbp + 0x50]
call fcn.180006d40
xorps xmm15, xmm15
movss xmm4, dword [rbp + 0x48]
comiss xmm4, xmm15
jbe 0x18003707d
addss xmm4, dword [r13 + 0x3834]
jmp 0x180037080
xorps xmm4, xmm4
movss xmm7, dword [rbp + 0x54]
movss dword [rbp + 8], xmm7
movaps xmm1, xmm7
addss xmm1, dword [rsi + 0xfc]
movss xmm3, dword [rsi + 0xf8]
movaps xmm0, xmm3
movss xmm12, dword [rbp + 0x50]
addss xmm0, xmm12
movss dword [rbp - 0x18], xmm3
movss xmm2, dword [rsi + 0xfc]
movss dword [rbp - 0x14], xmm2
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movaps xmm5, xmm2
addss xmm5, xmm7
addss xmm4, xmm12
addss xmm4, xmm3
movss dword [rbp + 0x58], xmm3
movss dword [rbp + 0x5c], xmm2
movss dword [rbp + 0x60], xmm4
movss dword [rbp + 0x64], xmm5
mov qword [rbp - 0x68], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
subss xmm5, xmm2
subss xmm4, xmm3
movss dword [rbp - 0x50], xmm4
movss dword [rbp - 0x4c], xmm5
movss xmm1, dword [r13 + 0x3820]
lea rcx, [rbp - 0x50]
test r14b, r14b
je 0x1800372e6
movss xmm6, dword [rsi + 0xf8]
movss xmm7, dword [rsi + 0xfc]
call fcn.18000ced0
mov r9d, 0x400
lea r8, [rbp - 0x18]
mov edx, edi
lea rcx, [rbp + 0x58]
call fcn.18000cb5c
test al, al
jne 0x1800371a6
call fcn.1800090e0
xor al, al
lea r11, [rsp + 0x258]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r12d, dword [r13 + 0x4774]
movups xmm0, xmmword [r13 + 0x476c]
movups xmmword [rbp + 0x68], xmm0
movss dword [rsi + 0xf8], xmm6
movss dword [rsi + 0xfc], xmm7
lea rdx, [r13 + 0x3924]
mov ecx, 3
call fcn.180011dec
movss xmm1, dword [r13 + 0x3824]
mov ecx, 7
call fcn.180011ed4
movss xmm1, dword [r13 + 0x3828]
mov ecx, 8
call fcn.180011ed4
and dword [rbp - 0x50], 0
and dword [rbp - 0x4c], 0
lea rdx, [rbp - 0x50]
mov ecx, 2
call fcn.180011e48
movss xmm1, dword [rbp - 0xc]
subss xmm1, dword [rbp - 0x14]
movss xmm0, dword [rbp - 0x10]
subss xmm0, dword [rbp - 0x18]
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm1
lea rax, [0x1800a54d4]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
mov r9d, 1
lea r8, [rbp - 0x50]
mov edx, edi
mov rcx, r15
call fcn.180005f20
mov bl, al
mov ecx, 3
call fcn.180011958
mov ecx, 1
call fcn.180011904
test bl, bl
jne 0x180037282
xor ecx, ecx
call fcn.180008b78
jmp 0x18003714c
mov rbx, qword [r13 + 0x3ed0]
mov qword [rbp - 0x68], rbx
movsx ecx, word [rbx + 0x156]
mov eax, dword [rbx + 0x150]
bts ecx, eax
mov word [rbx + 0x156], cx
movss xmm0, dword [r13 + 0x381c]
addss xmm0, dword [rbx + 0xf8]
movss dword [rbx + 0xf8], xmm0
movss xmm1, dword [r13 + 0x3820]
addss xmm1, dword [rbx + 0xfc]
movss dword [rbx + 0xfc], xmm1
subss xmm12, dword [rbx + 0xa4]
movss xmm7, dword [rbp + 8]
jmp 0x180037318
call fcn.18000ced0
bt ebx, 0x1c
jb 0x18003730e
mov r9d, 0x400
lea r8, [rbp - 0x18]
mov edx, edi
lea rcx, [rbp + 0x58]
call fcn.18000cb5c
test al, al
je 0x180037151
mov r12d, dword [r13 + 0x4774]
mov rbx, rsi
mov edx, edi
lea rcx, [rbp - 0x18]
call fcn.18000cd30
mov cl, al
mov byte [rsp + 0x5b], al
xor edx, edx
lea r8d, [rdx + 1]
test al, al
je 0x18003733a
mov dword [r13 + 0x4a58], r8d
mov r15, qword [0x180591d80]
test edi, edi
je 0x180037357
cmp dword [r15 + 0x4bf0], edi
jne 0x180037357
add r15, 0x4be8
jmp 0x18003735a
mov r15, rdx
mov qword [rbp - 0x50], r15
shr r12d, 8
and r12b, r8b
mov eax, dword [r13 + 0x3f30]
cmp eax, edi
je 0x180037393
cmp dword [r13 + 0x48cc], edi
je 0x18003738c
cmp dword [r13 + 0x48c0], edi
jne 0x180037393
cmp dword [r13 + 0x48e8], 2
jne 0x180037393
mov byte [rsp + 0x51], r8b
jmp 0x180037397
mov byte [rsp + 0x51], dl
test cl, cl
je 0x1800373a7
cmp byte [r13 + 0x3738], dl
mov dil, r8b
jne 0x1800373aa
mov dil, dl
mov byte [rsp + 0x52], dil
test r14b, r14b
je 0x1800373e1
test r15, r15
je 0x1800373e1
test eax, eax
jne 0x1800373e1
xor r8d, r8d
lea rdx, str.SCROLLY
mov rcx, rbx
call fcn.18000a7c4
cmp dword [r13 + 0x3f60], eax
jne 0x1800373df
mov ebx, 1
jmp 0x1800373ed
xor edx, edx
mov bl, dl
test r14b, r14b
je 0x18003741e
test r15, r15
je 0x18003741e
xor r8d, r8d
lea rdx, str.SCROLLY
mov rcx, qword [rbp - 0x68]
call fcn.18000a7c4
xor edx, edx
cmp dword [r13 + 0x3f30], eax
jne 0x18003741e
lea eax, [rdx + 1]
mov cl, al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x59], dl
mov byte [rsp + 0x54], dl
jmp 0x180037431
mov byte [rsp + 0x59], dl
mov byte [rsp + 0x54], dl
mov cl, dl
mov byte [rsp + 0x50], dl
test r14b, r14b
je 0x180037440
mov rax, qword [rbp - 0x68]
movss xmm8, dword [rax + 0x80]
jmp 0x18003744d
movss xmm8, dword [0x1800a630c]
mov byte [rsp + 0x50], dl
mov r8d, 1
test r15, r15
je 0x180037467
mov al, r14b
xor al, r8b
cmp byte [r15 + 0x6b], al
mov r14b, r8b
jne 0x18003746a
mov r14b, dl
test dil, dil
jne 0x18003748c
test bl, bl
jne 0x18003748c
cmp byte [rsp + 0x51], dl
jne 0x18003748c
test r12b, r12b
jne 0x18003748c
mov byte [rsp + 0x58], dl
test cl, cl
jne 0x180037491
mov byte [rsp + 0x5a], dl
jmp 0x1800374a3
mov byte [rsp + 0x58], r8b
mov byte [rsp + 0x5a], r8b
mov eax, dword [rsp + 0x6c]
cmp dword [r13 + 0x3f30], eax
jne 0x1800374ac
test r14b, r14b
je 0x18003768a
lea r15, [r13 + 0x4be8]
mov qword [rbp - 0x50], r15
mov dword [r15 + 0xe80], 0xbe99999a
or rdi, 0xffffffffffffffff
mov rax, qword [rbp + 0x1b0]
inc rdi
cmp byte [rax + rdi], dl
jne 0x1800374cd
lea rcx, [r15 + 0x38]
lea ebx, [rdi + 1]
mov edx, ebx
call fcn.18001a264
movsxd r8, ebx
mov rdx, qword [rbp + 0x1b0]
mov rcx, qword [r15 + 0x40]
call fcn.18009eae0
mov eax, dword [rsp + 0x6c]
xor ecx, ecx
cmp dword [r15 + 8], eax
jne 0x18003752f
test r14b, r14b
jne 0x18003752f
lea ebx, [rcx + 1]
cmp dword [r15 + 0x10], edi
jne 0x18003752f
cmp byte [r15 + 0x48], cl
je 0x180037531
movsxd r8, edi
mov rdx, qword [rbp + 0x1b0]
mov rcx, qword [r15 + 0x30]
call fcn.1800819b0
xor ecx, ecx
test eax, eax
je 0x180037531
mov bl, cl
mov qword [rbp - 0x38], rcx
mov r14d, dword [rsp + 0x6c]
mov dword [r15 + 8], r14d
lea rcx, [r15 + 0x18]
mov edx, dword [rbp + 0x1b8]
inc edx
call fcn.1800249dc
lea rcx, [r15 + 0x28]
xor edx, edx
call fcn.18001a264
xor eax, eax
mov byte [r15 + 0x48], al
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov rdi, qword [rbp + 0x1b0]
mov r8, rdi
mov edx, dword [rbp + 0x1b8]
mov rcx, qword [r15 + 0x20]
call fcn.18000bd6c
mov edx, eax
mov dword [r15 + 0xc], eax
mov ecx, dword [rbp - 0x38]
sub ecx, edi
mov dword [r15 + 0x10], ecx
xor r8d, r8d
lea edi, [r8 + 1]
test bl, bl
je 0x1800375ce
mov ecx, eax
cmp dword [r15 + 0x54], eax
cmovl ecx, dword [r15 + 0x54]
mov dword [r15 + 0x54], ecx
cmp dword [r15 + 0x58], eax
cmovl eax, dword [r15 + 0x58]
mov dword [r15 + 0x58], eax
cmp dword [r15 + 0x5c], edx
cmovl edx, dword [r15 + 0x5c]
mov dword [r15 + 0x5c], edx
mov ecx, dword [rsp + 0x5c]
jmp 0x180037617
mov qword [r15 + 0x50], r8
mov dword [r15 + 0xe72], 0x630000
mov dword [r15 + 0xe78], r8d
mov dword [r15 + 0xe7c], 0x3e7
mov qword [r15 + 0x58], r8
mov word [r15 + 0x69], 1
mov dword [r15 + 0x70], r8d
mov byte [r15 + 0x68], r8b
mov ecx, dword [rsp + 0x5c]
mov al, cl
xor al, dil
mov byte [r15 + 0x6b], al
mov byte [r15 + 0x60], r8b
mov dword [r15 + 0x64], r8d
test cl, cl
jne 0x180037673
mov edi, dword [rbp + 0x1c8]
test dil, 0x10
mov eax, dword [rsp + 0x54]
movzx eax, al
mov edi, 1
cmovne eax, edi
mov dword [rsp + 0x54], eax
cmp byte [rsp + 0x51], r8b
je 0x180037652
test bl, bl
je 0x18003764d
test byte [r13 + 0x48d0], 4
jne 0x180037652
mov byte [rsp + 0x54], dil
test r12b, r12b
jne 0x18003766e
cmp byte [rsp + 0x52], r8b
je 0x180037673
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test dil, al
je 0x180037673
mov byte [rsp + 0x54], dil
test dword [rbp + 0x1c8], 0x2000
je 0x180037683
mov byte [r15 + 0x60], dil
mov dil, byte [rsp + 0x52]
jmp 0x18003768f
mov r14d, dword [rsp + 0x6c]
mov bl, byte [rsp + 0x58]
cmp dword [r13 + 0x3f30], r14d
je 0x1800376cb
test bl, bl
je 0x1800376be
mov rdx, rsi
mov ecx, r14d
call fcn.1800148f8
mov rdx, rsi
mov ecx, r14d
call fcn.180014ea8
mov rcx, rsi
call fcn.18000a018
cmp dword [r13 + 0x3f30], r14d
jne 0x18003776f
test dil, dil
je 0x1800376e0
xor r8d, r8d
mov edx, r14d
mov ecx, 0x281
call fcn.180015130
mov eax, dword [r13 + 0x4740]
or eax, 3
mov dword [r13 + 0x4740], eax
mov r12d, dword [rsp + 0x5c]
mov edi, dword [rbp + 0x1c8]
test r12b, r12b
jne 0x180037706
test dil, dil
jns 0x180037710
or eax, 0xc
mov dword [r13 + 0x4740], eax
xor r8d, r8d
mov edx, r14d
mov ecx, 0x207
call fcn.180015130
xor r8d, r8d
mov edx, r14d
mov ecx, 0x208
call fcn.180015130
test r12b, r12b
je 0x180037755
xor r8d, r8d
mov edx, r14d
mov ecx, 0x205
call fcn.180015130
xor r8d, r8d
mov edx, r14d
mov ecx, 0x206
call fcn.180015130
test edi, 0x440
je 0x180037774
xor r8d, r8d
mov edx, r14d
mov ecx, 0x200
call fcn.180015130
jmp 0x180037774
mov r12d, dword [rsp + 0x5c]
xor r11d, r11d
cmp dword [r13 + 0x3f30], r14d
jne 0x1800377b7
test r15, r15
jne 0x18003778d
call fcn.180007ae8
xor r11d, r11d
cmp dword [r13 + 0x3f30], r14d
jne 0x1800377b7
mov r10d, 1
cmp byte [r13 + 0x3738], r11b
je 0x1800377c9
cmp byte [rsp + 0x5a], r11b
jne 0x1800377c9
test bl, bl
jne 0x1800377c9
mov byte [rsp + 0x59], r10b
jmp 0x1800377c9
test r15, r15
je 0x1800377ce
cmp byte [rsp + 0x50], r11b
je 0x1800377ce
mov r10d, 1
mov cl, r10b
jmp 0x1800377d1
mov cl, r11b
mov byte [rsp + 0x50], cl
mov esi, dword [rsp + 0x54]
test r15, r15
je 0x1800377f9
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
jne 0x1800377ed
test sil, sil
je 0x1800377f9
test cl, cl
je 0x1800377f9
mov r8d, 1
jmp 0x1800377fc
mov r8b, r11b
mov dword [rsp + 0x54], r8d
movzx edi, r8b
mov byte [rsp + 0x74], r11b
mov byte [rsp + 0x5a], r11b
mov eax, dword [rsp + 0x60]
test al, al
je 0x1800378bd
test r15, r15
je 0x1800378bd
test cl, cl
jne 0x180037831
test r8b, r8b
je 0x1800378c6
mov qword [rbp - 0x38], r11
mov edx, dword [rbp + 0x1b8]
inc edx
lea rcx, [r15 + 0x18]
call fcn.1800249dc
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rbp + 0x1b0]
mov edx, dword [r15 + 0x18]
mov rcx, qword [r15 + 0x20]
call fcn.18000bd6c
mov edx, eax
mov dword [r15 + 0xc], eax
mov ecx, dword [rbp - 0x38]
sub ecx, dword [rbp + 0x1b0]
mov dword [r15 + 0x10], ecx
mov ecx, eax
cmp dword [r15 + 0x54], eax
cmovl ecx, dword [r15 + 0x54]
mov dword [r15 + 0x54], ecx
mov ecx, eax
cmp dword [r15 + 0x58], eax
cmovl ecx, dword [r15 + 0x58]
mov dword [r15 + 0x58], ecx
cmp dword [r15 + 0x5c], eax
cmovl edx, dword [r15 + 0x5c]
mov dword [r15 + 0x5c], edx
xor r11d, r11d
mov r8d, r11d
cmp ecx, edx
cmovne r8d, edi
mov dword [rsp + 0x54], r8d
mov cl, byte [rsp + 0x50]
mov eax, dword [rsp + 0x60]
test cl, cl
jne 0x1800378cf
test r8b, r8b
jne 0x1800378cf
cmp dword [r13 + 0x3f30], r14d
jne 0x1800378eb
test al, al
jne 0x1800378eb
test r15, r15
je 0x1800378eb
cmp byte [r15 + 0x48], r11b
je 0x1800378eb
mov ebx, 1
mov al, bl
mov byte [rsp + 0x73], bl
jmp 0x1800378f7
mov al, r11b
mov byte [rsp + 0x73], al
mov ebx, 1
cmp qword [rbp + 0x1a8], r11
je 0x180037918
test al, al
je 0x18003790a
mov rax, qword [r15 + 0x30]
jmp 0x180037911
mov rax, qword [rbp + 0x1b0]
cmp byte [rax], r11b
mov al, bl
je 0x18003791b
mov al, r11b
mov byte [rsp + 0x58], al
cmp byte [rbp - 0x20], r11b
je 0x1800379a9
test al, al
jne 0x1800379a9
mov edx, 0x2a
mov rcx, qword [r13 + 0x3c18]
call fcn.18001f4b8
mov r9, rax
lea r10, [r13 + 0x5a78]
mov rcx, qword [r13 + 0x3c18]
mov edx, dword [rcx + 0x14]
mov dword [r10 + 0x14], edx
mov rdx, qword [r13 + 0x3c18]
mov r8d, dword [rdx + 0x5c]
mov dword [r10 + 0x5c], r8d
mov rdx, qword [r13 + 0x3c18]
mov r8d, dword [rdx + 0x60]
mov dword [r10 + 0x60], r8d
mov rdx, qword [r13 + 0x3c18]
mov r8d, dword [rdx + 0x64]
mov dword [r10 + 0x64], r8d
mov rdx, qword [r13 + 0x3c18]
mov rax, qword [rdx + 0x40]
mov qword [r10 + 0x40], rax
mov qword [r10 + 0x38], r9
mov eax, dword [r9 + 4]
mov dword [r10 + 0x10], eax
mov rcx, r10
call fcn.180011b24
xor r11d, r11d
mov dword [rbp - 0x78], r11d
mov dword [rbp - 0x38], 0xa
movss xmm13, dword [0x1800a6264]
cmp dword [r13 + 0x3f30], r14d
jne 0x180037dc6
mov eax, dword [r15 + 0x10]
mov dword [rbp - 0x78], eax
mov byte [r15 + 0xe86], r11b
mov eax, dword [rbp + 0x1b8]
mov dword [r15 + 0x4c], eax
mov edi, dword [rbp + 0x1c8]
mov dword [r15 + 0xe88], edi
cmp byte [r13 + 0xe04], r11b
sete al
mov byte [r13 + 0x3f3d], al
mov dword [r13 + 0x5dec], ebx
movss xmm2, dword [r13 + 0xdfc]
subss xmm2, dword [rbp - 0x18]
subss xmm2, dword [r13 + 0x381c]
addss xmm2, dword [r15 + 0x50]
test r12b, r12b
je 0x180037a40
movss xmm3, dword [r13 + 0xe00]
mov rax, qword [rbp - 0x68]
subss xmm3, dword [rax + 0xfc]
jmp 0x180037a4e
movss xmm3, dword [r13 + 0x3c20]
mulss xmm3, xmm13
mov r14b, byte [r13 + 0x79]
test sil, sil
je 0x180037a77
mov dword [r15 + 0x58], r11d
mov eax, dword [r15 + 0xc]
mov dword [r15 + 0x5c], eax
mov dword [r15 + 0x54], eax
mov byte [r15 + 0x6a], r11b
mov byte [r15 + 0xe85], bl
jmp 0x180037c60
mov al, byte [rsp + 0x5b]
test al, al
je 0x180037bd7
mov esi, 2
cmp word [r13 + 0x3742], si
jb 0x180037bd7
cmp byte [r13 + 0xe15], r11b
jne 0x180037bd7
lea rdi, [r15 + 0x54]
mov rdx, rdi
mov rcx, r15
call fcn.18003eb64
movzx eax, word [r13 + 0x3742]
sub eax, esi
test bl, al
jne 0x180037b6d
xor edx, edx
cmp dword [rdi], edx
je 0x180037adf
movsxd rcx, dword [rdi]
mov rax, qword [r15 + 0x20]
lea r8d, [rsi + 8]
cmp word [rax + rcx*2 - 2], r8w
mov cl, dl
jne 0x180037ae1
mov cl, bl
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
jne 0x180037aef
test cl, cl
jne 0x180037afc
mov edx, 0x20000c
mov rcx, r15
call fcn.18003aef0
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
jne 0x180037b1e
cmp dword [r15 + 0x58], eax
jne 0x180037b1a
mov eax, dword [r15 + 0x54]
mov dword [r15 + 0x5c], eax
mov dword [r15 + 0x58], eax
jmp 0x180037b1e
mov dword [r15 + 0x54], eax
mov edx, dword [r15 + 0x54]
mov rcx, r15
call fcn.18003b784
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x5c], eax
mov eax, dword [r15 + 0xc]
mov ecx, dword [r15 + 0x58]
mov edx, dword [r15 + 0x5c]
cmp ecx, edx
je 0x180037b5e
cmp ecx, eax
jle 0x180037b4c
mov dword [r15 + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x180037b56
mov dword [r15 + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x180037b5e
mov dword [r15 + 0x54], ecx
xor r11d, r11d
cmp dword [r15 + 0x54], eax
jle 0x180037bcf
mov dword [r15 + 0x54], eax
jmp 0x180037bcf
mov rcx, qword [r15 + 0x20]
movsxd rax, dword [rdi]
movzx ebx, word [rcx + rax*2]
mov edx, 0x200004
mov rcx, r15
call fcn.18003aef0
mov edx, 0x600005
mov rcx, r15
call fcn.18003aef0
mov edx, 0x600001
mov rcx, r15
call fcn.18003aef0
mov eax, 0xa
xor r11d, r11d
cmp bx, ax
je 0x180037bc3
test r12b, r12b
je 0x180037bc3
mov ecx, dword [r15 + 0x58]
mov eax, dword [r15 + 0x5c]
mov dword [r15 + 0x58], eax
mov dword [r15 + 0x5c], ecx
mov dword [rdi], ecx
mov byte [r15 + 0xe84], r11b
mov ebx, 1
mov edi, dword [rbp + 0x1c8]
jmp 0x180037c55
cmp byte [r13 + 0x3738], r11b
je 0x180037c0b
cmp byte [r15 + 0xe85], r11b
jne 0x180037c0b
test al, al
je 0x180037c60
lea rdx, [r15 + 0x54]
mov rcx, r15
cmp byte [r13 + 0xe15], r11b
je 0x180037c04
call fcn.18003ed70
jmp 0x180037c52
call fcn.18003eb64
jmp 0x180037c52
cmp byte [r13 + 0xe04], r11b
je 0x180037c60
cmp byte [r15 + 0xe85], r11b
jne 0x180037c69
movss xmm0, dword [r13 + 0xf8]
ucomiss xmm0, xmm15
jp 0x180037c3f
jne 0x180037c3f
movss xmm0, dword [r13 + 0xfc]
ucomiss xmm0, xmm15
jp 0x180037c3f
je 0x180037c60
lea rdx, [r15 + 0x54]
mov rcx, r15
call fcn.18003ed70
mov byte [r15 + 0xe84], bl
xor r11d, r11d
mov dword [r15 + 0xe80], 0xbe99999a
cmp byte [r15 + 0xe85], r11b
je 0x180037c79
cmp byte [r13 + 0xe04], r11b
jne 0x180037c79
mov byte [r15 + 0xe85], r11b
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r11d, r11d
test bl, al
je 0x180037c94
cmp byte [r13 + 0xe16], r11b
je 0x180037ca5
test r14b, r14b
je 0x180037ca2
cmp byte [r13 + 0xe17], r11b
jne 0x180037ca5
mov bl, r11b
mov r14d, 1
bt edi, 0xa
jae 0x180037d2f
mov dl, r14b
mov ecx, 0x200
call fcn.18000c640
xor r11d, r11d
test al, al
mov eax, dword [rsp + 0x60]
je 0x180037d20
test bl, bl
jne 0x180037d20
cmp byte [r13 + 0xe15], r11b
jne 0x180037d20
lea r12d, [r14 + 1]
mov rsi, qword [rbp + 0x1d8]
test al, al
jne 0x180037d40
mov dword [rsp + 0x68], 9
mov dword [rsp + 0x20], r12d
mov r9, rsi
mov r8, qword [rbp + 0x1d0]
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.180039868
xor r11d, r11d
test al, al
je 0x180037d3c
mov edx, dword [rsp + 0x68]
mov rcx, r15
call fcn.18003aef0
xor r11d, r11d
jmp 0x180037d3c
mov rsi, qword [rbp + 0x1d8]
mov r12d, 2
jmp 0x180037d40
mov rsi, qword [rbp + 0x1d8]
mov r12d, 2
mov eax, dword [rsp + 0x60]
cmp dword [r13 + 0x37b0], r11d
jle 0x180037dc1
test bl, bl
jne 0x180037db0
test al, al
jne 0x180037db0
cmp byte [rsp + 0x51], r11b
jne 0x180037db0
mov edi, r11d
mov rbx, r11
mov rax, qword [r13 + 0x37b8]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x68], ecx
cmp ecx, 9
je 0x180037da1
mov dword [rsp + 0x20], r12d
mov r9, rsi
mov r8, qword [rbp + 0x1d0]
mov edx, dword [rbp + 0x1c8]
lea rcx, [rsp + 0x68]
call fcn.180039868
test al, al
je 0x180037da1
mov edx, dword [rsp + 0x68]
mov rcx, r15
call fcn.18003aef0
add edi, r14d
add rbx, r12
cmp edi, dword [r13 + 0x37b0]
jl 0x180037d5e
lea rcx, [r13 + 0x37b0]
xor edx, edx
call fcn.1800249dc
xor r11d, r11d
mov r14d, dword [rsp + 0x6c]
mov r12b, r11b
mov byte [rsp + 0x51], r11b
cmp dword [r13 + 0x3f30], r14d
jne 0x180038886
cmp byte [r13 + 0x3f3c], r11b
jne 0x180038886
cmp byte [rsp + 0x59], r11b
jne 0x180038886
movaps xmm0, xmm7
subss xmm0, dword [r13 + 0x3820]
divss xmm0, dword [r13 + 0x3c20]
cvttss2si eax, xmm0
mov r12d, 1
mov ecx, r12d
cmp eax, r12d
cmovge ecx, eax
mov dword [rbp - 0x30], ecx
mov dword [r15 + 0x64], ecx
mov al, byte [r13 + 0xe15]
neg al
sbb edi, edi
and edi, 0x400000
mov sil, byte [r13 + 0x79]
mov byte [rsp + 0x70], sil
test sil, sil
je 0x180037e84
mov bl, byte [r13 + 0xe16]
mov byte [rsp + 0x68], bl
cmp byte [r13 + 0xe17], r11b
je 0x180037ea2
mov byte [rsp + 0x68], bl
lea ecx, [r12 + 0x10]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r11d, r11d
test r12b, al
jne 0x180037ea2
mov byte [rsp + 0x68], bl
cmp byte [r13 + 0xe16], r11b
jne 0x180037ea2
mov byte [rsp + 0x52], r12b
mov byte [rsp + 0x68], bl
jmp 0x180037ea7
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx esi, ax
and sil, r12b
mov word [rsp + 0x68], si
mov sil, byte [rsp + 0x70]
xor r11d, r11d
mov byte [rsp + 0x52], r11b
mov r8d, r12d
mov edx, r14d
mov ecx, 0xa39
call fcn.18001584c
xor ecx, ecx
test al, al
jne 0x180037ed3
mov r8d, r12d
mov edx, r14d
mov ecx, 0x220a
call fcn.18001584c
xor ecx, ecx
test al, al
je 0x180037efb
mov r12d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x5c]
test r12b, r12b
jne 0x180037f04
cmp byte [rbp - 0x20], cl
jne 0x180037f04
test bl, bl
je 0x180037ef4
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
je 0x180037f04
mov byte [rsp + 0x64], 1
jmp 0x180037f08
mov ebx, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x60]
mov byte [rsp + 0x64], cl
xor r8d, r8d
mov edx, r14d
mov ecx, 0xa24
call fcn.18001584c
test al, al
jne 0x180037f30
xor r8d, r8d
mov edx, r14d
mov ecx, 0x1209
call fcn.18001584c
test al, al
je 0x180037f52
xor eax, eax
cmp byte [rbp - 0x20], al
jne 0x180037f52
test bl, bl
je 0x180037f45
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
je 0x180037f52
mov eax, 1
mov byte [rsp + 0x72], al
xor ebx, ebx
jmp 0x180037f5b
xor ebx, ebx
mov byte [rsp + 0x72], bl
lea eax, [rbx + 1]
mov r8d, eax
mov edx, r14d
mov ecx, 0xa37
call fcn.18001584c
test al, al
jne 0x180037f86
mov r8d, 1
mov edx, r14d
mov ecx, 0x2209
call fcn.18001584c
test al, al
je 0x180037f96
test r12b, r12b
jne 0x180037f96
mov eax, 1
mov byte [rsp + 0x5b], al
jmp 0x180037f9f
mov byte [rsp + 0x5b], bl
mov eax, 1
mov r8d, eax
mov edx, r14d
mov ecx, 0xa3b
call fcn.18001584c
mov ebx, dword [rbp - 0x60]
test al, al
je 0x180037fca
test r12b, r12b
jne 0x180037fca
test bl, bl
je 0x180037fca
mov eax, 1
mov byte [rsp + 0x71], al
jmp 0x180037fd4
mov byte [rsp + 0x71], 0
mov eax, 1
mov r8d, eax
mov edx, r14d
mov ecx, 0xa3a
call fcn.18001584c
test al, al
jne 0x180038008
test sil, sil
je 0x18003801d
mov r8d, 1
mov edx, r14d
mov ecx, 0x2a3b
call fcn.18001584c
xor esi, esi
test al, al
je 0x18003801f
jmp 0x18003800a
xor esi, esi
test r12b, r12b
jne 0x18003801f
test bl, bl
je 0x18003801f
mov ebx, 1
mov r12b, bl
jmp 0x180038027
xor esi, esi
mov r12b, sil
mov ebx, 1
xor r8d, r8d
mov edx, r14d
mov ecx, 0xa22
call fcn.18001584c
mov byte [rsp + 0x75], al
mov eax, 2
test byte [r13 + 8], al
je 0x18003804c
test byte [r13 + 0xc], bl
jne 0x18003804f
mov bl, sil
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx r14d, ax
mov eax, 1
and r14b, al
test bl, bl
je 0x180038099
xor edx, edx
mov ecx, 0x26e
call fcn.18000c640
test al, al
jne 0x18003808a
xor edx, edx
mov ecx, 0x26d
call fcn.18000c640
test al, al
je 0x180038094
mov eax, 1
mov sil, al
jmp 0x180038099
mov eax, 1
mov r8d, eax
mov edx, dword [rsp + 0x6c]
mov ecx, 0x20e
call fcn.18001584c
xor ecx, ecx
test al, al
jne 0x1800380d5
test bl, bl
je 0x1800380cc
lea r8d, [rcx + 1]
mov edx, dword [rsp + 0x6c]
mov ecx, 0x26c
call fcn.18001584c
xor ecx, ecx
test al, al
jne 0x1800380d5
mov bl, cl
mov eax, 1
jmp 0x1800380dc
mov eax, 1
mov bl, al
mov dl, al
mov ecx, 0x201
call fcn.18000c640
xor ecx, ecx
test al, al
je 0x18003811b
neg byte [rsp + 0x68]
sbb edx, edx
and edx, 0xc
add edx, 0x200000
mov eax, 0x200004
cmp byte [rsp + 0x52], cl
cmovne edx, eax
or edx, edi
mov rcx, r15
call fcn.18003aef0
xor r11d, r11d
jmp 0x18003885b
mov edx, 1
mov ecx, 0x202
call fcn.18000c640
xor ecx, ecx
test al, al
je 0x180038146
neg byte [rsp + 0x68]
sbb edx, edx
and edx, 0xc
add edx, 0x200001
mov eax, 0x200005
jmp 0x180038102
mov edx, 1
mov ecx, 0x203
call fcn.18000c640
xor edx, edx
test al, al
je 0x1800381b8
cmp byte [rsp + 0x5c], dl
je 0x1800381b8
lea ecx, [rdx + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, 1
test bl, al
je 0x18003819a
mov rbx, qword [rbp - 0x68]
movss xmm1, dword [rbx + 0x80]
subss xmm1, dword [r13 + 0x3c20]
maxss xmm1, xmm15
mov rcx, rbx
call fcn.1800153a8
jmp 0x180038113
movzx eax, byte [rsp + 0x52]
lea edx, [rax*4 + 0x200002]
or edx, edi
mov rcx, r15
call fcn.18003aef0
xor r11d, r11d
jmp 0x180038860
mov edx, 1
mov ecx, 0x204
call fcn.18000c640
xor ecx, ecx
test al, al
je 0x18003821d
cmp byte [rsp + 0x5c], cl
je 0x18003821d
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, 1
test bl, al
je 0x18003820f
call fcn.18000ae54
movss xmm1, dword [r13 + 0x3c20]
mov rax, qword [rbp - 0x68]
addss xmm1, dword [rax + 0x80]
minss xmm1, xmm0
mov rcx, rax
call fcn.1800153a8
jmp 0x1800381b0
movzx eax, byte [rsp + 0x52]
lea edx, [rax*4 + 0x200003]
jmp 0x1800381a6
mov edx, 1
mov ecx, 0x205
call fcn.18000c640
xor ecx, ecx
test al, al
je 0x180038263
cmp byte [rsp + 0x5c], cl
je 0x180038263
or edi, 0x20000e
mov edx, edi
mov rcx, r15
call fcn.18003aef0
movd xmm0, dword [rbp - 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r13 + 0x3c20]
subss xmm8, xmm0
jmp 0x180038113
mov edx, 1
mov ecx, 0x206
call fcn.18000c640
xor ecx, ecx
test al, al
je 0x1800382a9
cmp byte [rsp + 0x5c], cl
je 0x1800382a9
or edi, 0x20000f
mov edx, edi
mov rcx, r15
call fcn.18003aef0
movd xmm0, dword [rbp - 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r13 + 0x3c20]
addss xmm8, xmm0
jmp 0x180038113
mov edx, 1
mov ecx, 0x207
call fcn.18000c640
test al, al
je 0x1800382da
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, 1
and eax, ebx
lea edx, [rax*2 + 0x200004]
jmp 0x1800381a6
mov edx, 1
mov ecx, 0x208
call fcn.18000c640
test al, al
je 0x18003830b
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, 1
and eax, ebx
lea edx, [rax*2 + 0x200005]
jmp 0x1800381a6
mov edx, 1
mov ecx, 0x20a
call fcn.18000c640
xor ecx, ecx
test al, al
je 0x180038339
cmp byte [rsp + 0x60], cl
jne 0x180038339
cmp byte [rsp + 0x64], cl
jne 0x180038339
or edi, 0x200008
mov edx, edi
jmp 0x18003810b
mov ecx, 8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r8d, 1
xor r11d, r11d
test r8b, al
je 0x1800383ca
cmp byte [rsp + 0x60], r11b
jne 0x1800383ca
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
jne 0x1800383ba
cmp byte [rsp + 0x68], r11b
je 0x18003837e
mov edx, 0x60000c
mov rcx, r15
call fcn.18003aef0
mov ebx, 1
jmp 0x1800383bd
cmp byte [rsp + 0x70], r11b
je 0x1800383ba
cmp byte [r13 + 0xe17], r11b
je 0x1800383ba
cmp byte [r13 + 0xe16], r11b
jne 0x1800383ba
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, 1
test bl, al
jne 0x1800383bd
mov edx, 0x600004
mov rcx, r15
call fcn.18003aef0
jmp 0x1800383bd
mov rbx, r8
or edi, 0x200009
mov edx, edi
jmp 0x1800381a8
test r14b, r14b
jne 0x1800387a3
test sil, sil
jne 0x1800387a3
test bl, bl
je 0x180038433
test dword [rbp + 0x1c8], 0x100000
je 0x180038414
mov eax, dword [r15 + 0x10]
test eax, eax
jg 0x180038403
mov byte [rsp + 0x54], r11b
mov byte [rsp + 0x50], r11b
mov byte [rsp + 0x59], r8b
setg r12b
mov byte [rsp + 0x51], r12b
mov rbx, r8
jmp 0x180038865
mov r12b, r8b
mov byte [rsp + 0x51], r8b
mov byte [rsp + 0x59], r8b
mov cl, r11b
mov dl, r11b
mov byte [rsp + 0x50], dl
mov rbx, r8
jmp 0x18003886d
movzx eax, byte [rsp + 0x71]
test al, al
jne 0x18003877f
test r12b, r12b
jne 0x18003877f
cmp byte [rsp + 0x75], r11b
je 0x180038473
mov dword [r15 + 0x58], r11d
mov eax, dword [r15 + 0xc]
mov dword [r15 + 0x5c], eax
mov dword [r15 + 0x54], eax
mov byte [r15 + 0x6a], r11b
mov byte [r15 + 0xe84], r8b
mov rbx, r8
jmp 0x180038860
mov r12b, byte [rsp + 0x64]
test r12b, r12b
jne 0x18003865e
cmp byte [rsp + 0x72], r11b
jne 0x18003865e
cmp byte [rsp + 0x5b], r11b
je 0x18003846b
call fcn.18000a32c
mov rbx, rax
xor r11d, r11d
test rax, rax
je 0x18003885b
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r11b
jne 0x1800384ab
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call fcn.18000d53c
mov r14, rax
mov qword [rbp - 0x30], rax
xor edi, edi
mov esi, edi
cmp byte [rbx], dil
je 0x18003854b
mov rdi, rax
mov r12, qword [rbp + 0x1d8]
mov r13d, dword [rbp + 0x1c8]
xor r14d, r14d
lea r15d, [r14 + 1]
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.18000ba5c
movsxd rcx, eax
add rbx, rcx
cmp dword [rbp - 0x60], r14d
je 0x18003853c
mov dword [rsp + 0x20], 4
mov r9, r12
mov r8, qword [rbp + 0x1d0]
mov edx, r13d
lea rcx, [rbp - 0x60]
call fcn.180039868
test al, al
je 0x180038537
movzx eax, word [rbp - 0x60]
mov word [rdi], ax
add esi, r15d
add rdi, 2
cmp byte [rbx], r14b
jne 0x1800384ec
mov r15, qword [rbp - 0x50]
mov r13, qword [rsp + 0x78]
mov r14, qword [rbp - 0x30]
xor edi, edi
movsxd rax, esi
mov word [r14 + rax*2], di
test esi, esi
jle 0x18003864c
lea rbx, [r15 + 0x54]
mov ecx, dword [r15 + 0xc]
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x180038594
mov edx, eax
cmp eax, ecx
jle 0x18003857a
mov dword [rbx + 4], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x180038588
mov dword [rbx + 8], ecx
mov r9d, ecx
mov eax, edx
mov r8d, r9d
cmp edx, r9d
jne 0x180038594
mov dword [rbx], edx
mov r9d, dword [rbx]
cmp r9d, ecx
jle 0x1800385a1
mov dword [rbx], ecx
mov r9d, ecx
mov ecx, dword [r15 + 0xc]
cmp eax, r8d
je 0x1800385d2
mov edx, eax
cmp eax, ecx
jle 0x1800385b5
mov dword [rbx + 4], ecx
mov edx, ecx
mov r10d, r8d
cmp r8d, ecx
jle 0x1800385c3
mov dword [rbx + 8], ecx
mov r10d, ecx
mov eax, edx
mov r8d, r10d
cmp edx, r10d
jne 0x1800385d2
mov dword [rbx], edx
mov r9d, edx
cmp r9d, ecx
jle 0x1800385d9
mov dword [rbx], ecx
cmp eax, r8d
je 0x180038613
mov rdx, rbx
mov rcx, r15
jge 0x1800385fc
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18003ebc4
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x18003860d
sub eax, r8d
mov r9d, eax
call fcn.18003ebc4
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
mov byte [rbx + 0x16], dil
mov r9d, esi
mov r8, r14
mov edx, dword [rbx]
mov rcx, r15
call fcn.18003b588
test al, al
je 0x18003863e
lea rcx, [rbx + 0x20]
mov r9d, esi
xor r8d, r8d
mov edx, dword [rbx]
call fcn.18003e414
add dword [rbx], esi
mov byte [rbx + 0x16], dil
mov ebx, 1
mov byte [r15 + 0xe84], bl
jmp 0x180038651
mov ebx, 1
mov rcx, r14
call fcn.18000d55c
jmp 0x1800381b0
cmp qword [r13 + 0xb8], r11
je 0x1800386d6
mov ecx, dword [r15 + 0x58]
mov eax, dword [r15 + 0x5c]
cmp ecx, eax
je 0x18003867d
mov edx, eax
cmovl edx, ecx
cmovge eax, ecx
jmp 0x180038684
mov edx, r11d
mov eax, dword [r15 + 0xc]
movsxd r14, eax
mov rax, qword [r15 + 0x20]
movsxd rsi, edx
lea rdx, [rax + r14*2]
lea rcx, [rax + rsi*2]
call fcn.18000bd24
lea ebx, [rax + 1]
movsxd rcx, ebx
call fcn.18000d53c
mov rdi, rax
mov rcx, qword [r15 + 0x20]
lea r9, [rcx + r14*2]
lea r8, [rcx + rsi*2]
mov edx, ebx
mov rcx, rax
call fcn.18000be10
mov rcx, rdi
call fcn.180014a40
mov rcx, rdi
call fcn.18000d55c
xor r11d, r11d
lea r8d, [r11 + 1]
test r12b, r12b
je 0x18003885b
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
jne 0x1800386fd
mov dword [r15 + 0x58], r11d
mov eax, dword [r15 + 0xc]
mov dword [r15 + 0x5c], eax
mov dword [r15 + 0x54], eax
mov byte [r15 + 0x6a], r11b
mov byte [r15 + 0xe84], r8b
lea rbx, [r15 + 0x54]
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x18003885b
mov ecx, dword [r15 + 0xc]
cmp eax, ecx
jle 0x180038725
mov dword [rbx + 4], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x180038730
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x180038737
mov dword [rbx], eax
cmp dword [rbx], ecx
jle 0x18003873d
mov dword [rbx], ecx
cmp eax, r8d
je 0x180038776
mov rdx, rbx
mov rcx, r15
jge 0x180038760
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18003ebc4
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x180038771
sub eax, r8d
mov r9d, eax
call fcn.18003ebc4
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
xor r11d, r11d
mov byte [rbx + 0x16], r11b
jmp 0x18003885b
mov edx, eax
xor edx, r8d
add edx, 0x20000a
mov rcx, r15
call fcn.18003aef0
mov eax, dword [r15 + 0x54]
mov dword [r15 + 0x5c], eax
mov dword [r15 + 0x58], eax
jmp 0x180038113
mov ebx, dword [rbp + 0x1c8]
mov eax, ebx
shr eax, 0xb
and al, r8b
mov ecx, dword [rsp + 0x5c]
test cl, cl
je 0x1800387df
test sil, sil
jne 0x1800387df
mov ecx, 0x11
test al, al
je 0x180038804
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r8d, 1
test r8b, al
jne 0x180038815
xor r11d, r11d
mov ecx, dword [rsp + 0x5c]
mov byte [rsp + 0x5a], r8b
cmp byte [r13 + 0x7c], r11b
je 0x180038856
test cl, cl
jne 0x180038856
mov dword [r15 + 0x58], r11d
mov eax, dword [r15 + 0xc]
mov dword [r15 + 0x5c], eax
mov dword [r15 + 0x54], eax
mov byte [r15 + 0x6a], r11b
jmp 0x18003885b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r8d, 1
test r8b, al
jne 0x1800387d8
xor r11d, r11d
cmp byte [rsp + 0x60], r11b
jne 0x18003885b
lea eax, [r11 + 0xa]
mov dword [rbp - 0x30], eax
mov dword [rsp + 0x20], 2
mov r9, qword [rbp + 0x1d8]
mov r8, qword [rbp + 0x1d0]
mov edx, ebx
lea rcx, [rbp - 0x30]
call fcn.180039868
xor r11d, r11d
test al, al
je 0x18003885b
mov edx, dword [rbp - 0x30]
jmp 0x18003810b
mov byte [rsp + 0x59], r8b
mov ebx, 1
mov r12b, byte [rsp + 0x51]
mov dl, byte [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
je 0x18003887d
test dl, dl
mov al, bl
jne 0x180038880
mov al, r11b
or cl, al
mov dword [rsp + 0x54], ecx
mov qword [rbp - 0x60], r11
mov r14d, r11d
mov ebx, dword [rsp + 0x6c]
cmp dword [r13 + 0x3f30], ebx
jne 0x180038d90
test r12b, r12b
je 0x1800389e2
cmp byte [rsp + 0x60], r11b
jne 0x180038a2a
test dword [rbp + 0x1c8], 0x100000
je 0x1800388fe
lea rax, [0x1800a54d4]
mov qword [rbp - 0x60], rax
mov dword [rsp + 0x20], r11d
mov r9d, dword [r15 + 0xc]
xor r8d, r8d
lea rdx, [r15 + 0x54]
mov rcx, r15
call fcn.18003e6f0
mov r8d, dword [r15 + 0xc]
xor edx, edx
mov rcx, r15
call fcn.18003b4a4
xor eax, eax
mov qword [r15 + 0x58], rax
mov dword [r15 + 0x54], eax
jmp 0x1800389f1
mov rax, qword [rbp + 0x1b0]
mov r8, qword [r15 + 0x40]
sub r8, rax
mov r9d, 1
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180038925
add rax, r9
test ecx, ecx
jne 0x180038912
test edx, edx
je 0x1800389f1
mov rsi, qword [r15 + 0x40]
mov qword [rbp - 0x60], rsi
mov r14d, dword [r15 + 0x38]
sub r14d, r9d
mov dword [rbp - 0x2c], r11d
mov ebx, r11d
mov dword [rbp - 0x30], ebx
mov rdi, r11
mov qword [rbp - 0x28], r11
test r14d, r14d
jle 0x1800389b5
movsxd r12, r14d
add r12, rsi
mov rdx, r12
mov rcx, rsi
call fcn.18000bcc8
lea ebx, [rax + 1]
xor eax, eax
test ebx, ebx
jle 0x180038995
mov esi, ebx
lea ecx, [rax + 8]
cmp ebx, ecx
cmovl esi, ecx
test esi, esi
jle 0x180038991
movsxd rcx, esi
add rcx, rcx
call fcn.18000d53c
mov rdi, rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x2c], esi
xor eax, eax
mov rsi, qword [rbp - 0x60]
mov dword [rbp - 0x30], ebx
mov qword [rsp + 0x20], rax
mov r9, r12
mov r8, rsi
mov edx, ebx
mov rcx, rdi
call fcn.18000bd6c
mov r12b, byte [rsp + 0x51]
xor r11d, r11d
lea eax, [rbx - 1]
mov r9d, r11d
test r14d, r14d
cmovg r9d, eax
lea rdx, [r15 + 0x54]
mov r8, rdi
mov rcx, r15
call fcn.18003fad0
nop
test rdi, rdi
je 0x1800389e0
mov rcx, rdi
call fcn.18000d55c
nop
jmp 0x1800389f1
mov qword [rbp - 0x60], r11
cmp byte [rsp + 0x60], r11b
jne 0x180038ace
mov byte [r15 + 0x48], 1
mov edx, dword [r15 + 0x18]
lea edx, [rdx*4 + 1]
lea rcx, [r15 + 0x28]
call fcn.18001a264
xor r9d, r9d
mov r8, qword [r15 + 0x20]
mov edx, dword [r15 + 0x28]
mov rcx, qword [r15 + 0x30]
call fcn.18000be10
xor r11d, r11d
test r12b, r12b
je 0x180038ace
cmp byte [rsp + 0x5a], r11b
je 0x180038a41
mov esi, dword [rbp + 0x1c8]
test sil, 0x20
jne 0x180038ad4
mov edi, dword [rbp - 0x80]
mov r9, qword [rbp + 0x1b0]
mov rbx, qword [rbp - 0x60]
test rbx, rbx
je 0x180038d8c
test dil, dil
je 0x180038d55
mov qword [rbp + 0x20], r11
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x38], xmm0
mov dword [rbp + 0x10], 0x40000
mov eax, dword [rbp + 0x1c8]
mov dword [rbp + 0x14], eax
mov qword [rbp + 0x28], r9
mov dword [rbp + 0x30], r14d
lea eax, [r14 + 1]
cmp dword [rbp + 0x1b8], eax
cmovge eax, dword [rbp + 0x1b8]
mov dword [rbp + 0x34], eax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x10]
call qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x1b0], rax
mov ecx, dword [rbp + 0x34]
lea r14d, [rcx - 1]
cmp dword [rbp + 0x30], r14d
cmovl r14d, dword [rbp + 0x30]
jmp 0x180038d5b
mov esi, dword [rbp + 0x1c8]
test esi, 0x801c0
je 0x180038d08
mov edi, r11d
mov ebx, 0x40
lea r12d, [rbx - 0x3f]
test bl, sil
je 0x180038b0c
mov dl, r12b
mov ecx, 0x200
call fcn.18000c640
xor r11d, r11d
test al, al
je 0x180038b0c
mov edi, 0x200
jmp 0x180038b6d
mov ebx, 0x80
test bl, sil
je 0x180038b4e
mov dl, r12b
mov ecx, 0x203
call fcn.18000c640
xor r11d, r11d
test al, al
je 0x180038b31
mov edi, 0x203
jmp 0x180038b6d
mov dl, r12b
mov r12d, 0x204
mov ecx, r12d
call fcn.18000c640
xor r11d, r11d
test al, al
je 0x180038b4e
mov edi, r12d
jmp 0x180038b6d
mov ebx, 0x80000
test ebx, esi
je 0x180038b60
cmp byte [r15 + 0xe86], r11b
jne 0x180038b6d
mov eax, 0x100
test eax, esi
mov ebx, r11d
cmovne ebx, eax
test ebx, ebx
je 0x180038d08
mov dword [rbp + 0x20], r11d
mov word [rbp + 0x39], r11w
mov byte [rbp + 0x3b], r11b
mov dword [rbp + 0x10], ebx
mov dword [rbp + 0x14], esi
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x18], rax
cmp byte [rsp + 0x60], r11b
mov rax, qword [rbp + 0x1b0]
jne 0x180038ba5
mov rax, qword [r15 + 0x30]
mov dword [rbp + 0x24], edi
mov qword [rbp + 0x28], rax
mov eax, dword [r15 + 0x10]
mov dword [rbp + 0x30], eax
mov eax, dword [r15 + 0x4c]
mov dword [rbp + 0x34], eax
mov byte [rbp + 0x38], r11b
mov rbx, qword [r15 + 0x20]
movsxd rax, dword [r15 + 0x54]
lea rdx, [rbx + rax*2]
mov rcx, rbx
call fcn.18000bd24
mov edi, eax
mov dword [rbp + 0x3c], eax
movsxd rdx, dword [r15 + 0x58]
lea rdx, [rbx + rdx*2]
mov rcx, rbx
call fcn.18000bd24
mov esi, eax
mov dword [rbp + 0x40], eax
movsxd rdx, dword [r15 + 0x5c]
lea rdx, [rbx + rdx*2]
mov rcx, rbx
call fcn.18000bd24
mov r12d, eax
mov dword [rbp + 0x44], eax
lea rcx, [rbp + 0x10]
call qword [rbp + 0x1d0]
mov bl, byte [rbp + 0x38]
movsxd rcx, dword [rbp + 0x3c]
cmp ecx, edi
jne 0x180038c1e
xor r11d, r11d
test bl, bl
je 0x180038c3f
mov rdx, rcx
mov rcx, qword [rbp + 0x28]
add rdx, rcx
call fcn.18000bcc8
mov dword [r15 + 0x54], eax
mov byte [r15 + 0xe84], 1
mov ecx, dword [rbp + 0x3c]
xor r11d, r11d
movsxd rax, dword [rbp + 0x40]
cmp eax, esi
jne 0x180038c4b
test bl, bl
je 0x180038c6e
cmp eax, ecx
jne 0x180038c55
mov ecx, dword [r15 + 0x54]
jmp 0x180038c67
mov rcx, qword [rbp + 0x28]
lea rdx, [rcx + rax]
call fcn.18000bcc8
mov ecx, eax
mov eax, dword [rbp + 0x40]
mov dword [r15 + 0x58], ecx
xor r11d, r11d
movsxd rcx, dword [rbp + 0x44]
cmp ecx, r12d
jne 0x180038c7f
test bl, bl
je 0x180038d08
cmp ecx, eax
jne 0x180038c89
mov eax, dword [r15 + 0x58]
jmp 0x180038c9b
mov rdx, rcx
mov rcx, qword [rbp + 0x28]
add rdx, rcx
call fcn.18000bcc8
xor r11d, r11d
mov dword [r15 + 0x5c], eax
test bl, bl
je 0x180038d08
mov r8d, dword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
mov rcx, r15
call fcn.180039a3c
mov edx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x78]
mov edi, dword [rbp - 0x80]
cmp edx, eax
jle 0x180038cd2
test dil, dil
je 0x180038cd2
lea rcx, [r15 + 0x18]
sub edx, eax
add edx, dword [rcx]
call fcn.1800249dc
xor eax, eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rbp + 0x28]
mov edx, dword [r15 + 0x18]
mov rcx, qword [r15 + 0x20]
call fcn.18000bd6c
mov dword [r15 + 0xc], eax
mov eax, dword [rbp + 0x30]
mov dword [r15 + 0x10], eax
mov dword [r15 + 0xe80], 0xbe99999a
xor r11d, r11d
jmp 0x180038d0b
mov edi, dword [rbp - 0x80]
mov r9, qword [rbp + 0x1b0]
cmp byte [rsp + 0x60], r11b
jne 0x180038a4b
mov rax, qword [r15 + 0x30]
mov r8, r9
sub r8, rax
mov r10d, 1
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180038d40
add rax, r10
test ecx, ecx
jne 0x180038d2d
test edx, edx
je 0x180038a4b
mov rbx, qword [r15 + 0x30]
mov r14d, dword [r15 + 0x10]
jmp 0x180038a4f
mov ecx, dword [rbp + 0x1b8]
lea eax, [r14 + 1]
cmp eax, ecx
cmovl ecx, eax
movsxd r8, ecx
mov rdx, rbx
mov r14, qword [rbp + 0x1b0]
mov rcx, r14
call fcn.18000ba2c
mov edi, 1
mov byte [rsp + 0x74], dil
mov ebx, dword [rsp + 0x6c]
xor r11d, r11d
jmp 0x180038d9c
mov ebx, dword [rsp + 0x6c]
mov edi, 1
mov r14, qword [rbp + 0x1b0]
cmp byte [rsp + 0x59], r11b
je 0x180038db4
cmp dword [r13 + 0x3f30], ebx
jne 0x180038db4
call fcn.180007ae8
xor r11d, r11d
mov esi, dword [rsp + 0x5c]
test sil, sil
jne 0x180038dfc
mov r8d, edi
mov edx, ebx
lea rcx, [rbp - 0x18]
call fcn.180012cb0
movss xmm6, dword [r13 + 0x3824]
lea rcx, [0x1800fd050]
call fcn.180007fd4
movss dword [rsp + 0x20], xmm6
mov r9b, dil
mov r8d, eax
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
call fcn.180012700
xor r11d, r11d
movss xmm2, dword [rbp - 0x18]
movss dword [rbp - 8], xmm2
movss xmm1, dword [rbp - 0x14]
movss dword [rbp - 4], xmm1
movaps xmm0, xmm2
addss xmm0, xmm12
movss dword [rbp], xmm0
addss xmm1, xmm7
movss dword [rbp + 4], xmm1
test sil, sil
je 0x180038e42
mov rax, qword [rbp - 0x68]
movsd xmm0, qword [rax + 0xf8]
movsd qword [rbp - 0x70], xmm0
lea rax, [rbp - 0x70]
jmp 0x180038e67
addss xmm2, dword [r13 + 0x381c]
movss dword [rbp - 0x78], xmm2
movss xmm0, dword [rbp - 0x14]
addss xmm0, dword [r13 + 0x3820]
movss dword [rbp - 0x74], xmm0
lea rax, [rbp - 0x78]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x70], xmm0
movaps xmm14, xmm15
movaps xmm11, xmm15
cmp byte [rsp + 0x73], r11b
je 0x180038e8a
mov r14, qword [r15 + 0x30]
mov qword [rbp + 0x1b0], r14
mov rdi, r11
mov qword [rbp - 0x30], r11
movzx r12d, byte [rsp + 0x58]
test r12b, r12b
je 0x180038ec1
mov rax, qword [rbp + 0x1a8]
mov r14, rax
mov qword [rbp + 0x1b0], rax
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], r11b
jne 0x180038eb1
add rdi, rax
mov qword [rbp - 0x30], rdi
mov al, byte [rsp + 0x50]
mov edx, dword [rsp + 0x54]
test al, al
jne 0x180038fd6
test dl, dl
jne 0x180038fd6
test sil, sil
je 0x180038f3d
mov ecx, r11d
mov dl, byte [r14]
lea rdi, [r14 + 1]
test dl, dl
je 0x180038f0f
mov r13d, 1
lea r8d, [r13 + 9]
lea eax, [rcx + 1]
cmp dl, r8b
cmovne eax, ecx
mov ecx, eax
mov dl, byte [rdi]
add rdi, r13
test dl, dl
jne 0x180038ef6
mov r13, qword [rsp + 0x78]
mov eax, 1
sub rdi, rax
lea edx, [rax + 9]
cmp byte [rdi], dl
je 0x180038f25
cmp byte [rdi], 0xd
je 0x180038f25
add ecx, eax
movaps xmm14, xmm12
movd xmm11, ecx
cvtdq2ps xmm11, xmm11
mulss xmm11, dword [r13 + 0x3c20]
jmp 0x180038f73
test r12b, r12b
jne 0x180038f61
cmp dword [r13 + 0x3f30], ebx
jne 0x180038f51
movsxd rdi, dword [r15 + 0x10]
jmp 0x180038f5e
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [r14 + rdi], r11b
jne 0x180038f55
add rdi, r14
mov rax, rdi
sub rax, r14
cmp rax, 0x200000
jge 0x180039717
mov ecx, r12d
movss xmm1, dword [0x1800a628c]
call fcn.18000a56c
lea rdx, [rbp - 8]
xor ecx, ecx
test sil, sil
cmovne rdx, rcx
mov qword [rsp + 0x40], rdx
movss dword [rsp + 0x38], xmm15
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x70]
movss xmm2, dword [r13 + 0x3c20]
mov rdx, qword [r13 + 0x3c18]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax + 0x290]
call fcn.18001e3d8
xor r11d, r11d
jmp 0x180039717
test r12b, r12b
jne 0x180038fe6
movsxd rdi, dword [r15 + 0x10]
add rdi, r14
mov qword [rbp - 0x30], rdi
mov r12, qword [r15 + 0x20]
movaps xmm6, xmm15
movaps xmm7, xmm15
mov r10, r11
mov qword [rsp + 0x78], r11
mov r9, r11
mov qword [rbp - 0x78], r11
mov r8d, 0xfffffc18
mov r14d, r8d
mov ecx, r11d
mov ebx, 1
test al, al
je 0x180039029
movsxd rax, dword [r15 + 0x54]
lea r10, [r12 + rax*2]
mov qword [rsp + 0x78], r10
or r8d, 0xffffffff
mov ecx, ebx
test dl, dl
je 0x18003904a
mov eax, dword [r15 + 0x5c]
cmp dword [r15 + 0x58], eax
cmovl eax, dword [r15 + 0x58]
cdqe
lea r9, [r12 + rax*2]
mov qword [rbp - 0x78], r9
or r14d, 0xffffffff
add ecx, ebx
movzx eax, sil
add ecx, eax
mov esi, r11d
mov rax, r12
movzx edx, word [r12]
test dx, dx
je 0x1800390a4
mov edi, 2
cmp dx, word [rbp - 0x38]
jne 0x180039095
add esi, ebx
cmp r8d, 0xffffffff
jne 0x180039081
cmp rax, r10
jb 0x180039081
mov r8d, esi
sub ecx, ebx
test ecx, ecx
jle 0x1800390a0
cmp r14d, 0xffffffff
jne 0x180039095
cmp rax, r9
jb 0x180039095
mov r14d, esi
sub ecx, ebx
test ecx, ecx
jle 0x1800390a0
add rax, rdi
movzx edx, word [rax]
test dx, dx
jne 0x180039065
mov rdi, qword [rbp - 0x30]
add esi, ebx
mov ebx, esi
cmp r8d, 0xffffffff
cmovne ebx, r8d
cmp r14d, 0xffffffff
cmove r14d, esi
mov rdx, r12
mov rcx, r10
call fcn.18000b904
xor ecx, ecx
mov byte [rsp + 0x30], cl
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov r9, qword [rsp + 0x78]
mov r8, rax
mov rdx, r13
lea rcx, [rbp - 0x38]
call fcn.180036e00
movss xmm10, dword [rax]
movss dword [rbp - 0x38], xmm10
movss xmm0, dword [r13 + 0x3c20]
movd xmm9, ebx
cvtdq2ps xmm9, xmm9
mulss xmm9, xmm0
xor r11d, r11d
test r14d, r14d
js 0x18003915d
mov rdx, r12
mov rcx, qword [rbp - 0x78]
call fcn.18000b904
xor ecx, ecx
mov byte [rsp + 0x30], cl
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov r9, qword [rbp - 0x78]
mov r8, rax
mov rdx, r13
lea rcx, [rsp + 0x78]
call fcn.180036e00
movss xmm6, dword [rax]
movss xmm0, dword [r13 + 0x3c20]
movd xmm7, r14d
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
xor r11d, r11d
mov ecx, dword [rsp + 0x5c]
test cl, cl
je 0x180039177
movaps xmm14, xmm12
movd xmm11, esi
cvtdq2ps xmm11, xmm11
mulss xmm11, xmm0
mov r8b, byte [rsp + 0x50]
test r8b, r8b
je 0x1800392ae
cmp byte [r15 + 0xe84], r11b
je 0x1800392ae
test dword [rbp + 0x1c8], 0x1000
jne 0x1800391f6
movaps xmm2, xmm12
mulss xmm2, dword [0x1800a6258]
subss xmm12, dword [r13 + 0x381c]
movss xmm1, dword [r15 + 0x50]
comiss xmm1, xmm10
jbe 0x1800391d1
movaps xmm1, xmm10
subss xmm1, xmm2
movaps xmm0, xmm15
maxss xmm0, xmm1
jmp 0x1800391e3
movaps xmm0, xmm10
subss xmm0, xmm12
comiss xmm0, xmm1
jb 0x1800391fa
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x50], xmm0
jmp 0x1800391fa
mov dword [r15 + 0x50], r11d
test cl, cl
je 0x1800392a7
movaps xmm0, xmm9
subss xmm0, dword [r13 + 0x3c20]
movss xmm3, dword [rbp + 8]
comiss xmm8, xmm0
jbe 0x180039225
movaps xmm8, xmm15
maxss xmm8, xmm0
jmp 0x180039255
movss xmm2, dword [r13 + 0x3820]
addss xmm2, xmm2
movaps xmm1, xmm3
subss xmm1, xmm2
movaps xmm0, xmm9
subss xmm0, xmm1
comiss xmm0, xmm8
jb 0x180039255
movaps xmm8, xmm9
subss xmm8, xmm3
addss xmm8, xmm2
movss xmm2, dword [r13 + 0x3820]
comiss xmm15, xmm8
jbe 0x18003926a
movaps xmm2, xmm15
jmp 0x180039281
addss xmm2, xmm2
addss xmm2, xmm11
subss xmm2, xmm3
maxss xmm2, xmm15
minss xmm2, xmm8
mov rax, qword [rbp - 0x68]
movss xmm0, dword [rax + 0x80]
subss xmm0, xmm2
movss xmm1, dword [rbp - 0x6c]
addss xmm1, xmm0
movss dword [rbp - 0x6c], xmm1
movss dword [rax + 0x80], xmm2
mov byte [r15 + 0xe84], r11b
movss xmm12, dword [r15 + 0x50]
movss xmm8, dword [0x1800a628c]
cmp byte [rsp + 0x54], r11b
je 0x180039500
mov edx, dword [r15 + 0x5c]
mov ecx, dword [r15 + 0x58]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
lea rbx, [r12 + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea rsi, [r12 + rax*2]
test r8b, r8b
je 0x1800392f2
movaps xmm1, xmm8
jmp 0x1800392fa
movss xmm1, dword [0x1800a6268]
mov ecx, 0x2f
call fcn.18000a56c
mov r14d, eax
xor r11d, r11d
cmp byte [rsp + 0x5c], r11b
je 0x18003931d
movss dword [rbp - 0x40], xmm15
movaps xmm13, xmm15
jmp 0x180039326
movss xmm13, dword [0x1800a629c]
addss xmm6, dword [rbp - 0x70]
subss xmm6, xmm12
addss xmm7, dword [rbp - 0x6c]
subss xmm7, xmm15
mov qword [rbp - 0x78], rbx
cmp rbx, rsi
jae 0x1800394f7
movss xmm3, dword [rbp + 4]
movss xmm4, dword [rbp - 4]
movss xmm8, dword [0x1800a6264]
movss xmm10, dword [rbp - 0x40]
mov rdi, qword [rbp - 0x68]
movaps xmm0, xmm3
addss xmm0, dword [r13 + 0x3c20]
comiss xmm7, xmm0
ja 0x1800394e0
comiss xmm4, xmm7
jbe 0x1800393aa
cmp rbx, rsi
jae 0x1800394c4
mov ecx, 0xa
movzx eax, word [rbx]
add rbx, 2
mov qword [rbp - 0x78], rbx
cmp ax, cx
je 0x1800394c4
cmp rbx, rsi
jb 0x18003938c
jmp 0x1800394c4
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], r11
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov r9, rsi
mov r8, rbx
mov rdx, r13
lea rcx, [rsp + 0x78]
call fcn.180036e00
movss xmm0, dword [rsp + 0x78]
comiss xmm15, xmm0
jb 0x180039411
mov rax, qword [r13 + 0x3c18]
cmp dword [rax], 0x20
jle 0x1800393f6
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x1800393fb
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x78], xmm0
movaps xmm2, xmm6
addss xmm2, xmm0
movaps xmm0, xmm7
addss xmm0, xmm13
addss xmm6, xmm15
movaps xmm1, xmm10
subss xmm1, dword [r13 + 0x3c20]
addss xmm1, xmm7
maxss xmm6, dword [rbp - 8]
movss xmm4, dword [rbp - 4]
maxss xmm1, xmm4
movss dword [rbp - 0x60], xmm6
movss dword [rbp - 0x5c], xmm1
movss xmm5, dword [rbp]
minss xmm2, xmm5
movss xmm3, dword [rbp + 4]
minss xmm0, xmm3
movss dword [rbp - 0x58], xmm2
movss dword [rbp - 0x54], xmm0
comiss xmm0, xmm4
jbe 0x1800394bd
comiss xmm3, xmm1
jbe 0x1800394bd
comiss xmm2, dword [rbp - 8]
jbe 0x1800394bd
comiss xmm5, xmm6
jbe 0x1800394bd
xor eax, eax
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm15
mov r9d, r14d
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x60]
mov rcx, qword [rdi + 0x290]
call fcn.18001c634
movss xmm1, dword [rbp - 0x40]
movss dword [rbp - 0x40], xmm1
movss xmm3, dword [rbp + 4]
movss xmm4, dword [rbp - 4]
movss xmm10, dword [rbp - 0x40]
xor r11d, r11d
mov rbx, qword [rbp - 0x78]
movss xmm6, dword [rbp - 0x70]
subss xmm6, xmm12
addss xmm7, dword [r13 + 0x3c20]
cmp rbx, rsi
jb 0x180039364
movss xmm8, dword [0x1800a628c]
movss xmm10, dword [rbp - 0x38]
mov r15, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x30]
movss xmm13, dword [0x1800a6264]
mov esi, dword [rsp + 0x5c]
mov r14, qword [rbp + 0x1b0]
test sil, sil
jne 0x180039522
mov rax, rdi
sub rax, r14
cmp rax, 0x200000
jge 0x1800395a5
movzx r12d, byte [rsp + 0x58]
mov ecx, r12d
movaps xmm1, xmm8
call fcn.18000a56c
movss xmm0, dword [rbp - 0x70]
subss xmm0, xmm12
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [rbp - 0x6c]
subss xmm1, xmm15
movss dword [rsp + 0x7c], xmm1
lea rcx, [rbp - 8]
xor edx, edx
test sil, sil
cmovne rcx, rdx
mov qword [rsp + 0x40], rcx
movss dword [rsp + 0x38], xmm15
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x78]
movss xmm2, dword [r13 + 0x3c20]
mov rdx, qword [r13 + 0x3c18]
mov rbx, qword [rbp - 0x68]
mov rcx, qword [rbx + 0x290]
call fcn.18001e3d8
xor r11d, r11d
jmp 0x1800395ae
mov r12b, byte [rsp + 0x58]
mov rbx, qword [rbp - 0x68]
cmp byte [rsp + 0x50], r11b
je 0x180039717
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [r15 + 0xe80]
movss dword [r15 + 0xe80], xmm0
cmp byte [r13 + 0x7b], r11b
je 0x180039603
comiss xmm15, xmm0
jae 0x180039603
movss xmm1, dword [0x1800aa948]
call fcn.180080f30
movss xmm1, dword [0x1800a6284]
xor r11d, r11d
comiss xmm1, xmm0
jae 0x180039603
mov cl, r11b
lea r15d, [r11 + 1]
jmp 0x18003960c
mov r15d, 1
mov cl, r15b
addss xmm10, dword [rbp - 0x70]
subss xmm10, xmm12
cvttss2si eax, xmm10
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm9, dword [rbp - 0x6c]
subss xmm9, xmm15
cvttss2si eax, xmm9
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp - 0x50], xmm6
movaps xmm1, xmm7
subss xmm1, dword [r13 + 0x3c20]
addss xmm1, xmm13
movss dword [rbp - 0x4c], xmm1
movaps xmm2, xmm6
addss xmm2, xmm8
movss dword [rbp - 0x48], xmm2
movaps xmm0, xmm7
subss xmm0, dword [0x1800a6298]
movss dword [rbp - 0x44], xmm0
test cl, cl
je 0x1800396dc
comiss xmm0, dword [rbp - 4]
jbe 0x1800396dc
movss xmm0, dword [rbp + 4]
comiss xmm0, xmm1
jbe 0x1800396dc
comiss xmm2, dword [rbp - 8]
jbe 0x1800396dc
movss xmm0, dword [rbp]
comiss xmm0, xmm6
jbe 0x1800396dc
mov rbx, qword [rbx + 0x290]
movaps xmm1, xmm8
xor ecx, ecx
call fcn.18000a56c
movss xmm0, dword [rbp - 0x50]
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [rbp - 0x44]
movss dword [rsp + 0x7c], xmm1
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.18001b710
xor r11d, r11d
cmp byte [rsp + 0x60], r11b
jne 0x180039717
mov byte [r13 + 0x5b80], r15b
subss xmm6, xmm8
movss xmm0, dword [r13 + 0x3c20]
subss xmm7, xmm0
movss dword [r13 + 0x5b84], xmm6
movss dword [r13 + 0x5b88], xmm7
movss dword [r13 + 0x5b8c], xmm0
mov r15d, dword [rbp - 0x20]
test r15b, r15b
je 0x18003972d
test r12b, r12b
jne 0x18003972d
call fcn.180011818
xor r11d, r11d
test sil, sil
je 0x1800397ba
movss dword [rsp + 0x78], xmm14
addss xmm11, dword [r13 + 0x3820]
movss dword [rsp + 0x7c], xmm11
lea rcx, [rsp + 0x78]
call fcn.1800369c0
mov ebx, dword [r13 + 0x4750]
mov eax, ebx
or eax, 0x401
mov dword [r13 + 0x4750], eax
xor ecx, ecx
call fcn.180008b78
mov eax, dword [r13 + 0x4774]
and eax, 0x80
mov esi, dword [rbp + 0x70]
or esi, eax
mov dword [r13 + 0x4750], ebx
call fcn.1800090e0
xor r11d, r11d
mov ebx, dword [rsp + 0x6c]
cmp dword [r13 + 0x476c], r11d
jne 0x1800397be
mov dword [r13 + 0x476c], ebx
mov eax, dword [rbp + 0x6c]
mov dword [r13 + 0x4770], eax
mov dword [r13 + 0x4774], esi
jmp 0x1800397be
mov ebx, dword [rsp + 0x6c]
cmp byte [r13 + 0x5c38], r11b
je 0x1800397f3
test r15b, r15b
je 0x1800397d1
test r12b, r12b
je 0x1800397f3
lea rdx, [0x1800aa7fc]
lea rcx, [0x1800aa800]
call fcn.18000d3b0
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.18000d1ec
movss xmm0, dword [rbp + 0x48]
comiss xmm0, xmm15
jbe 0x180039837
movss xmm0, dword [rbp - 0x10]
addss xmm0, dword [r13 + 0x3834]
movss xmm1, dword [rbp - 0x14]
addss xmm1, dword [r13 + 0x3820]
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rbp + 0x1a0]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.180012f20
movzx esi, byte [rsp + 0x74]
mov edi, dword [rbp + 0x1c8]
test sil, sil
je 0x180039854
bt edi, 0x1b
jb 0x180039854
mov ecx, ebx
call fcn.18000d524
test dil, 0x20
mov eax, esi
movzx ecx, byte [rsp + 0x5a]
cmovne eax, ecx
jmp 0x180037153