Function at 0x653e2f10
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbp, qword [rcx + 0x38]
lea r13, [0x65410b8c]
mov rbx, rcx
mov rsi, qword [rbp]
mov qword [rbp + 0xc8], 0
test rsi, rsi
mov r12, rsi
jne 0x653e2f7f
jmp 0x653e3073
ja 0x653e2fd1
cmp edx, 0xba
je 0x653e2f70
mov rcx, rbx
call fcn.653e0630
test al, 4
jne 0x653e2fe5
nop word cs:[rax + rax]
test rdi, rdi
je 0x653e38a0
mov r12, rsi
mov rsi, rdi
mov edx, dword [rsi + 8]
mov rdi, qword [rsi]
cmp edx, 0xbb
jne 0x653e2f50
test byte [rsi + 0xc], 1
je 0x653e2fbd
test rdi, rdi
je 0x653e388d
mov rdx, rdi
mov eax, dword [rdx + 8]
cmp eax, 6
ja 0x653e3030
cmp eax, 5
jae 0x653e304a
cmp eax, 2
je 0x653e304a
mov rcx, rsi
call fcn.653dc670
test eax, eax
je 0x653e2f70
mov rdi, rsi
mov rsi, r12
jmp 0x653e2f79
cmp edx, 0xbd
jbe 0x653e2f70
mov rcx, rbx
call fcn.653e0630
test al, 4
je 0x653e2f70
test byte [rsi + 0xc], 1
je 0x653e2fbd
cmp dword [rdi + 8], 0xbb
jne 0x653e2fbd
test byte [rdi + 0xc], 1
je 0x653e2fbd
mov rcx, qword [rdi]
test rcx, rcx
je 0x653e2fbd
mov rax, rcx
mov edx, dword [rax + 8]
cmp edx, 7
je 0x653e4485
cmp edx, 0xcd
je 0x653e4485
cmp edx, 6
jne 0x653e2fbd
mov rax, qword [rax]
test rax, rax
jne 0x653e3005
jmp 0x653e2fbd
cmp eax, 7
je 0x653e3040
cmp eax, 0xcd
jne 0x653e2fbd
cmp qword [rsi + 0x10], rdx
je 0x653e4522
mov rdx, qword [rdx]
test rdx, rdx
jne 0x653e2f9f
mov rcx, rsi
call fcn.653dc670
test eax, eax
je 0x653e2f79
jmp 0x653e2fc9
mov rbp, rdx
mov rax, qword [rbp + 0xa0]
test rax, rax
mov qword [rsp + 0x40], rax
jle 0x653e3209
mov rdi, qword [rbp + 0x98]
shl rax, 5
mov r12d, 1
mov r13d, 1
lea rax, [rax + rdi]
mov qword [rsp + 0x38], rax
nop dword [rax + rax]
mov rax, qword [rdi]
test rax, rax
je 0x653e31fa
cmp dword [rax + 8], 0xcd
je 0x653e31fa
mov ecx, dword [rbp + 0x1c]
mov rsi, qword [rax]
mov r14, r12
shl r14, cl
sub r14, 1
test rsi, rsi
mov qword [rdi + 0x10], r14
je 0x653e31f6
xor r15d, r15d
nop dword [rax]
mov edx, dword [rsi + 8]
cmp edx, 7
jb 0x653e310d
cmp edx, 8
jbe 0x653e31f6
cmp edx, 0xcd
je 0x653e31f6
mov rcx, rbx
call fcn.653e0630
test al, 1
je 0x653e3180
mov r9d, eax
and r9d, 2
sete dl
test al, 8
je 0x653e34a0
mov ecx, dword [rsi + 0x10]
test ch, 0x80
jne 0x653e3153
mov r11, r12
shl r11, cl
test r11, r14
mov rcx, r11
je 0x653e3153
test r15b, 1
je 0x653e3c80
test dl, dl
jne 0x653e3c80
mov ecx, dword [rsi + 0x14]
test ch, 0x80
jne 0x653e3180
mov r10, r12
shl r10, cl
test r10, r14
mov rcx, r10
je 0x653e3180
test r15b, 1
je 0x653e34c9
test dl, dl
jne 0x653e34c9
nop dword [rax + rax]
test ah, 1
je 0x653e31b1
mov rcx, qword [rsi + 0x18]
test ch, 0x80
jne 0x653e31b1
mov rdx, r12
shl rdx, cl
test rdx, r14
je 0x653e31b1
mov ecx, eax
and ecx, 0x200
je 0x653e39f0
test r15b, 1
je 0x653e39f0
test eax, 0x10000
je 0x653e31e4
mov rcx, qword [rsi + 0x20]
test ch, 0x80
jne 0x653e31e4
mov rdx, r12
shl rdx, cl
test rdx, r14
je 0x653e31e4
mov ecx, eax
and ecx, 0x20000
je 0x653e39d0
test r15b, 1
je 0x653e39d0
mov rsi, qword [rsi]
test al, 4
cmovne r15d, r13d
test rsi, rsi
jne 0x653e30f0
mov qword [rdi + 0x18], r14
add rdi, 0x20
cmp qword [rsp + 0x38], rdi
jne 0x653e30b0
mov rdi, qword [rsp + 0x40]
sub rdi, 1
js 0x653e3268
mov rsi, rdi
shl rsi, 5
nop dword [rax + rax]
mov rdx, qword [rbp + 0x98]
add rdx, rsi
mov rax, qword [rdx]
test rax, rax
je 0x653e325a
cmp dword [rax + 8], 0xcd
je 0x653e325a
mov rcx, qword [rdx + 0x10]
lea r8, [rdx + 8]
mov rdx, qword [rax]
lea r9, [rbp + 0x38]
mov qword [rbp + 0x38], rcx
mov rcx, rbx
call fcn.653e2680
mov rbp, qword [rbx + 0x38]
sub rdi, 1
sub rsi, 0x20
cmp rdi, 0xffffffffffffffff
jne 0x653e3220
mov r8, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
xor edx, edx
shl r8, 3
call fcn.65401388
mov rdx, qword [rbx + 0x38]
cmp qword [rdx + 0xa0], 0
jle 0x653e32db
xor esi, esi
nop dword [rax + rax]
mov rax, rsi
shl rax, 5
add rax, qword [rdx + 0x98]
mov rcx, qword [rax]
test rcx, rcx
je 0x653e32ce
cmp dword [rcx + 8], 0xcd
je 0x653e32ce
mov r8, qword [rax + 0x18]
lea r9, [rdx + 0x38]
mov qword [rdx + 0x38], r8
mov rdx, qword [rcx]
lea r8, [rax + 8]
mov rcx, rbx
call fcn.653e2680
mov rdx, qword [rbx + 0x38]
add rsi, 1
cmp qword [rdx + 0xa0], rsi
jg 0x653e3290
mov rsi, qword [rdx]
mov qword [rdx + 0xc8], 0
mov qword [rdx + 0x30], 0
mov qword [rdx + 0x38], 0
test rsi, rsi
je 0x653e3594
xor r15d, r15d
jmp 0x653e3354
cmp eax, 8
je 0x653e34f0
cmp eax, 0xcd
jne 0x653e332f
mov rax, qword [rbx + 0x38]
mov qword [rax + 0xc8], 0
mov r8d, ebp
mov rdx, rsi
mov rcx, rbx
call fcn.653e0db0
mov r15, rsi
mov rcx, rbx
call fcn.653e2be0
test r14, r14
mov rsi, r14
je 0x653e3590
mov edx, dword [rsi + 8]
mov rcx, rbx
mov r14, qword [rsi]
call fcn.653e0630
mov rdx, rsi
mov r8d, eax
mov rcx, rbx
mov ebp, eax
call fcn.653e0d20
mov eax, dword [rsi + 8]
cmp eax, 4
je 0x653e3520
ja 0x653e3310
cmp eax, 3
jne 0x653e332f
mov r12d, dword [rsi + 0x10]
lea rax, [rsi + 0x28]
mov rcx, rbx
mov r8, rax
mov qword [rsp + 0x40], rax
and r12d, 0x7fff
mov r9d, r12d
call fcn.653e2b40
test eax, eax
je 0x653e4083
movsxd rax, r12d
lea rdi, [0x654062a0]
mov rdx, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
shl rax, 4
mov eax, dword [rdi + rax]
mov r13d, eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rdx + 0x1c]
and r13d, 0xf7ff0000
test eax, eax
jle 0x653e3460
xor edi, edi
mov qword [rsp + 0x58], r15
jmp 0x653e33fc
lea eax, [rdi + 1]
add rdi, 1
cmp dword [rdx + 0x1c], eax
jle 0x653e3460
cmp r12d, edi
je 0x653e33f0
mov rax, rdi
lea r11, [0x654062a0]
shl rax, 4
mov ecx, dword [r11 + rax]
and ecx, r13d
cmp r13d, ecx
jne 0x653e33f0
mov r15d, 1
mov ecx, edi
shl r15, cl
test qword [rdx + 0x20], r15
jne 0x653e33f0
mov r8, qword [rsp + 0x40]
mov r9d, edi
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x50], edi
call fcn.653e2b40
test eax, eax
mov r10d, dword [rsp + 0x50]
je 0x653e41f3
mov rdx, qword [rbx + 0x38]
lea eax, [rdi + 1]
add rdi, 1
cmp dword [rdx + 0x1c], eax
jg 0x653e33fc
mov rax, qword [rdx + 0xc8]
mov rdi, qword [rsp + 0x38]
test dword [rsp + 0x4c], 0x20000000
mov rax, qword [rax + 0x40]
lea rdi, [rax + rdi*4]
mov eax, dword [rdi]
je 0x653e3b60
test eax, eax
je 0x653e4351
mov dword [rsi + 8], 0x91
jmp 0x653e3b6f
mov rcx, qword [rsi + 0x10]
test ch, 0x80
jne 0x653e3180
mov r11, r12
shl r11, cl
test r11, r14
mov rcx, r11
je 0x653e3180
test r15b, 1
jne 0x653e3173
mov rdx, rcx
not rdx
and r14, rdx
test r9d, r9d
mov qword [rdi + 0x10], r14
jne 0x653e3180
or qword [rdi + 8], rcx
jmp 0x653e3180
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rbx + 0x38]
lea rax, [rcx*8]
sub rax, rcx
shl rax, 4
add rax, qword [rdx + 0xd0]
mov qword [rdx + 0xc8], rax
jmp 0x653e332f
mov ecx, dword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
and ecx, 0x7fff
test rax, rax
jne 0x653e3f90
movsxd rcx, ecx
lea rdi, [0x654062a0]
mov rax, rcx
shl rax, 4
mov eax, dword [rdi + rax]
mov qword [rsi + 0x18], 0xf
and eax, 0x20000000
cmp eax, 1
sbb eax, eax
and eax, 0xdd
add eax, 0x81
mov dword [rsi + 8], eax
mov rax, qword [rbx + 0x38]
mov rax, qword [rax + 0xc8]
mov rax, qword [rax + 0x40]
movsxd rax, dword [rax + rcx*4]
mov qword [rsi + 0x28], 0
mov qword [rsi + 0x20], rax
jmp 0x653e332f
mov rdx, qword [rbx + 0x38]
mov rsi, qword [rdx]
test rsi, rsi
je 0x653e373e
xor edi, edi
mov edx, dword [rsi + 8]
mov rbp, qword [rsi]
cmp edx, 0x8b
je 0x653e3ec0
ja 0x653e3750
cmp edx, 0x75
je 0x653e3df0
ja 0x653e3ca0
cmp edx, 8
ja 0x653e3812
cmp edx, 7
jae 0x653e3a10
cmp edx, 3
je 0x653e3e60
cmp edx, 4
jne 0x653e3cd0
mov rax, qword [rsi + 0x28]
mov r12d, dword [rsi + 0x10]
mov r8, rsi
mov rcx, rbx
mov r14, qword [rax]
and r12d, 0x7fff
mov r9d, r12d
movsxd r13, r12d
mov rdx, r14
call fcn.653e08a0
cmp eax, 1
jne 0x653e3ba0
mov rax, qword [rbx + 0x38]
mov rdi, rsi
mov rax, qword [rax + 0x80]
test rbp, rbp
mov rsi, rbp
mov qword [rax + r13*8], 0
jne 0x653e35a2
nop
mov rax, qword [rbx + 0x38]
mov rsi, qword [rax]
test rsi, rsi
je 0x653e373e
mov rax, rsi
mov ecx, 1
nop dword [rax + rax]
mov edx, dword [rax + 8]
cmp edx, 7
je 0x653e3aa2
ja 0x653e3a74
test edx, edx
je 0x653e367f
cmp edx, 6
jne 0x653e3a61
mov rax, qword [rax]
test rax, rax
jne 0x653e3660
mov r12d, 1
jmp 0x653e36bf
cmp ebp, 0xa5
je 0x653e3b30
cmp ebp, 0xcd
jne 0x653e3ac0
mov rax, qword [rbx + 0x38]
mov qword [rax + 0xc8], 0
mov rsi, qword [rsi]
test rsi, rsi
je 0x653e373e
mov ebp, dword [rsi + 8]
mov rcx, rbx
mov edx, ebp
call fcn.653e0630
test al, 1
mov edi, eax
je 0x653e36da
and qword [rsi + 0x10], 0xffffffffffff7fff
test edi, 0x100
je 0x653e36ea
and qword [rsi + 0x18], 0xffffffffffff7fff
test edi, 0x10000
je 0x653e36fa
and qword [rsi + 0x20], 0xffffffffffff7fff
cmp ebp, 0x9b
je 0x653e3b43
ja 0x653e3690
cmp ebp, 8
jne 0x653e3ac0
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rbx + 0x38]
mov rsi, qword [rsi]
lea rax, [rcx*8]
sub rax, rcx
shl rax, 4
add rax, qword [rdx + 0xd0]
test rsi, rsi
mov qword [rdx + 0xc8], rax
jne 0x653e36bf
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp edx, 0xff
je 0x653e3e80
jbe 0x653e37b0
cmp edx, 0x159
je 0x653e3da3
jbe 0x653e3ea0
cmp edx, 0x15e
je 0x653e3df0
cmp edx, 0x162
je 0x653e3ec0
cmp edx, 0x15a
jne 0x653e3cd0
mov r12, qword [rsi + 0x10]
mov r9d, 5
mov dword [rsp + 0x20], 8
jmp 0x653e3836
cmp edx, 0x91
je 0x653e3ec0
jbe 0x653e4110
cmp edx, 0xbc
jb 0x653e3cd0
cmp edx, 0xbd
jbe 0x653e3a10
cmp edx, 0xfe
jne 0x653e3cd0
mov r12, qword [rsi + 0x10]
mov r9d, 4
mov dword [rsp + 0x20], 4
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.653df0f0
test eax, eax
jne 0x653e3848
mov rdi, rsi
jmp 0x653e3a50
cmp edx, 0x5b
je 0x653e3dc0
cmp edx, 0x5c
jne 0x653e3cd0
mov r12, qword [rsi + 0x10]
mov r9d, 3
mov dword [rsp + 0x20], 8
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.653df2a0
test eax, eax
je 0x653e380a
mov rax, qword [rbx + 0x38]
and r12d, 0x7fff
mov rax, qword [rax + 0x80]
lea rcx, [rax + r12*8]
mov rax, qword [rcx]
test rax, rax
je 0x653e3a50
mov rdx, qword [rax]
cmp rdx, rdi
je 0x653e3a50
mov r8, qword [rdx]
mov qword [rax], r8
mov rax, qword [rdi]
mov qword [rdx], rax
mov qword [rdi], rdx
mov qword [rcx], rdi
jmp 0x653e3a50
mov rcx, rsi
call fcn.653dc670
test eax, eax
jne 0x653e2fc9
nop dword [rax]
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx]
mov rbp, rdx
test rax, rax
je 0x653e3073
mov r8, rax
movabs r11, 0xffffffffffff
jmp 0x653e38d1
test rcx, rcx
je 0x653e3070
mov r8, rax
mov rax, rcx
cmp dword [rax + 8], 7
mov rcx, qword [rax]
jne 0x653e38c2
cmp word [rax + 0xc], 0
jne 0x653e38fe
mov r9, qword [rax + 0x28]
test r9, r9
je 0x653e438d
cmp r8, rax
je 0x653e38fe
cmp dword [r8 + 8], 7
je 0x653e440f
test rcx, rcx
je 0x653e3070
mov r9, qword [rcx + 8]
and r9, r11
cmp r9, 7
jne 0x653e38cb
mov r9, qword [rcx + 0x28]
test r9, r9
je 0x653e3946
mov rsi, qword [rax + 0x28]
jmp 0x653e3926
mov r9, r10
mov r10, qword [r9 + 0x28]
mov qword [r9 + 0x10], rax
mov qword [r9 + 0x28], rsi
mov qword [rax + 0x28], r9
mov rsi, r9
test r10, r10
jne 0x653e3923
mov qword [rcx + 0x28], 0
mov r9, qword [rcx + 0x18]
shl r9, 5
add r9, qword [rdx + 0x98]
cmp rcx, rax
mov qword [r9 + 8], 0
mov qword [r9 + 0x10], 0
mov qword [r9], 0
je 0x653e41dc
mov rdx, qword [rcx]
mov qword [rax], rdx
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x18], 0
mov qword [rcx + 0x20], 0
mov qword [rcx + 0x28], 0
mov rdx, qword [rbx + 0x38]
mov r9, qword [rdx + 0x100]
mov qword [rcx], r9
mov qword [rdx + 0x100], rcx
mov rcx, qword [rax]
mov rdx, qword [rbx + 0x38]
mov rax, r8
jmp 0x653e38c2
mov r9, rdx
not r9
and r14, r9
test ecx, ecx
mov qword [rdi + 0x10], r14
jne 0x653e31e4
or qword [rdi + 8], rdx
jmp 0x653e31e4
mov r9, rdx
not r9
and r14, r9
test ecx, ecx
mov qword [rdi + 0x10], r14
jne 0x653e31b1
or qword [rdi + 8], rdx
jmp 0x653e31b1
mov rax, qword [rbx + 0x38]
xor edx, edx
mov rdi, rsi
movsxd r8, dword [rax + 0x1c]
mov rcx, qword [rax + 0x88]
shl r8, 2
call fcn.65401388
mov rax, qword [rbx + 0x38]
movsxd rdx, dword [rax + 0x1c]
mov rcx, qword [rax + 0x90]
lea r8, [rdx + rdx*2]
xor edx, edx
shl r8, 3
call fcn.65401388
nop dword [rax + rax]
test rbp, rbp
mov rsi, rbp
jne 0x653e35a2
jmp 0x653e3640
mov rax, qword [rax]
xor ecx, ecx
test rax, rax
jne 0x653e3660
jmp 0x653e3687
cmp edx, 0xba
jb 0x653e3a61
cmp edx, 0xbb
jbe 0x653e3a8c
cmp edx, 0xcd
jne 0x653e3a61
mov rax, qword [rax]
mov ecx, 1
test rax, rax
jne 0x653e3660
jmp 0x653e3687
test ecx, ecx
jne 0x653e3a8c
or word [rax + 0xc], 0x1000
mov rax, qword [rax]
test rax, rax
jne 0x653e3660
jmp 0x653e3687
test dil, 0x20
jne 0x653e4001
test dil, 0x40
jne 0x653e40e0
test edi, 0x2000
jne 0x653e4130
test edi, 0x4000
jne 0x653e427a
test edi, 0x200000
jne 0x653e41b6
test edi, 0x400000
je 0x653e4022
lea rdx, [rsi + 0x20]
mov r9d, 8
mov r8d, 8
mov rcx, rbx
call fcn.653df680
or word [rsi + 0xc], 5
mov qword [rsi + 0x20], rax
jmp 0x653e4022
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.653e0a40
jmp 0x653e36b7
mov r8d, 1
mov rdx, rsi
mov rcx, rbx
call fcn.653e0a40
jmp 0x653e36b7
test eax, eax
mov dword [rsi + 8], 0x162
je 0x653e4369
mov rax, qword [rdx + 0xc8]
mov rdi, qword [rsp + 0x38]
mov rax, qword [rax + 0x40]
movsxd rax, dword [rax + rdi*4]
mov qword [rsi + 0x18], 0xf
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], 0
mov qword [rsi + 0x10], rax
jmp 0x653e332f
mov r9d, r12d
mov rdx, r14
mov rcx, rbx
or r9d, 0x8000
mov dword [rsp + 0x20], r12d
mov r8, rsi
call fcn.653e0990
mov rcx, qword [rbx + 0x38]
mov rax, qword [rsi + 0x28]
mov rdx, qword [rcx + 0x80]
mov rdx, qword [rdx + r13*8]
cmp rax, rdx
je 0x653e41e8
mov rcx, qword [rax]
mov qword [rdx], rcx
mov qword [rax], 0
mov qword [rax + 8], 0
cmp rdi, rsi
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rdx + 0x100]
mov qword [rax], rcx
mov qword [rdx + 0x100], rax
je 0x653e445b
mov rax, qword [rsi]
mov qword [rdi], rax
mov qword [rsi], 0
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x28], 0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax + 0x100]
mov qword [rsi], rdx
mov qword [rax + 0x100], rsi
jmp 0x653e3623
mov r10, rcx
not r10
and r14, r10
test r9d, r9d
mov qword [rdi + 0x10], r14
jne 0x653e3153
or qword [rdi + 8], rcx
jmp 0x653e3153
cmp edx, 0x7b
je 0x653e3df0
jbe 0x653e3de0
cmp edx, 0x7f
je 0x653e3df0
cmp edx, 0x81
je 0x653e3df0
cmp edx, 0x7d
je 0x653e3df0
nop dword [rax]
mov rcx, rbx
call fcn.653e0630
test al, 4
jne 0x653e3a10
test al, 2
je 0x653e3d30
mov rdx, qword [rbx + 0x38]
test al, 8
mov r8, qword [rdx + 0x90]
mov rdx, qword [rdx + 0x88]
je 0x653e4466
mov ecx, dword [rsi + 0x10]
and ecx, 0x7fff
lea r9, [rcx + rcx*2]
mov dword [r8 + r9*8], 0
add dword [rdx + rcx*4], 1
mov ecx, dword [rsi + 0x14]
and ecx, 0x7fff
lea r9, [rcx + rcx*2]
mov dword [r8 + r9*8], 0
add dword [rdx + rcx*4], 1
test ah, 2
je 0x653e3d63
mov r8, qword [rbx + 0x38]
mov rdx, qword [rsi + 0x18]
mov r9, qword [r8 + 0x90]
and edx, 0x7fff
lea rcx, [rdx + rdx*2]
lea rcx, [r9 + rcx*8]
mov dword [rcx], 0
mov rcx, qword [r8 + 0x88]
add dword [rcx + rdx*4], 1
test eax, 0x20000
mov rdi, rsi
je 0x653e3a50
mov rcx, qword [rbx + 0x38]
mov rax, qword [rsi + 0x20]
mov r8, qword [rcx + 0x90]
and eax, 0x7fff
lea rdx, [rax + rax*2]
lea rdx, [r8 + rdx*8]
mov dword [rdx], 0
mov rdx, qword [rcx + 0x88]
add dword [rdx + rax*4], 1
jmp 0x653e3a50
mov r12, qword [rsi + 0x10]
mov r9d, 5
mov dword [rsp + 0x20], 8
jmp 0x653e37f8
mov r12, qword [rsi + 0x10]
mov r9d, 3
mov dword [rsp + 0x20], 8
jmp 0x653e37f8
cmp edx, 0x77
je 0x653e3df0
cmp edx, 0x79
jne 0x653e3cd0
nop
mov r9d, dword [rsi + 0x10]
mov r11, qword [rbx + 0x38]
mov ecx, dword [rsi + 0x18]
mov r12, qword [rsi + 0x20]
and r9d, 0x7fff
mov rax, qword [r11 + 0x90]
movsxd r8, r9d
and ecx, 0x7fff
lea r10, [r8 + r8*2]
movsxd r13, ecx
cmp r9d, ecx
lea rax, [rax + r10*8]
mov r10, qword [r11 + 0x88]
lea r13, [r10 + r13*4]
je 0x653e3e3a
cmp dword [rax], 2
je 0x653e42bb
mov dword [rax], 2
mov dword [rax + 4], edx
mov rdi, rsi
mov dword [rax + 8], ecx
mov edx, dword [r13]
mov qword [rax + 0x10], r12
mov dword [rax + 0xc], edx
add dword [r10 + r8*4], 1
jmp 0x653e3a50
mov rdx, qword [rbx + 0x38]
mov rax, qword [rsi + 0x10]
mov rdx, qword [rdx + 0x80]
and eax, 0x7fff
mov qword [rdx + rax*8], rdi
mov rdi, rsi
jmp 0x653e3a50
mov r12, qword [rsi + 0x10]
mov r9d, 4
mov dword [rsp + 0x20], 4
jmp 0x653e3836
cmp edx, 0x103
je 0x653e3df0
cmp edx, 0x107
jne 0x653e3cd0
nop dword [rax + rax]
mov eax, dword [rsi + 0x20]
mov r9, qword [rbx + 0x38]
mov r10d, dword [rsi + 0x18]
and eax, 0x7fff
mov rcx, qword [r9 + 0x90]
movsxd r8, eax
and r10d, 0x7fff
lea r8, [r8 + r8*2]
cmp eax, r10d
lea r11, [rcx + r8*8]
je 0x653e3ef8
cmp dword [r11], 2
je 0x653e42a0
mov r12d, dword [r9 + 0x1c]
test r12d, r12d
jle 0x653e3f39
mov eax, 1
nop word cs:[rax + rax]
cmp dword [rcx], 2
jne 0x653e3f28
mov r8, qword [r9 + 0x88]
mov dword [rcx], 0
add dword [r8 + rax*4 - 4], 1
mov r8d, eax
add rcx, 0x18
add rax, 1
cmp r8d, dword [r9 + 0x1c]
jl 0x653e3f10
mov edi, dword [r11]
test edi, edi
jne 0x653e380a
cmp edx, 0x8f
mov dword [r11], 2
je 0x653e45d1
jbe 0x653e416c
cmp edx, 0x107
je 0x653e45b7
cmp edx, 0x162
je 0x653e45aa
cmp edx, 0x91
je 0x653e45c4
call fcn.65401410
nop word cs:[rax + rax]
cmp rax, 2
jne 0x653e3fa9
mov rdx, qword [rbx + 0x38]
mov eax, 1
shl rax, cl
not rax
and qword [rdx + 0x30], rax
cmp r15, rsi
mov rax, qword [rsi]
je 0x653e4381
mov qword [r15], rax
mov qword [rsi], 0
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x28], 0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax + 0x100]
mov qword [rsi], rdx
mov qword [rax + 0x100], rsi
jmp 0x653e3348
lea rdx, [rsi + 0x10]
mov r9d, 4
mov r8d, 4
mov rcx, rbx
call fcn.653df680
or word [rsi + 0xc], 5
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x38]
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x653e36b7
mov edx, edi
and edx, 3
cmp edx, 3
je 0x653e40b1
mov edx, edi
and edx, 0x300
cmp edx, 0x300
jne 0x653e405e
mov rcx, qword [rsi + 0x18]
mov rdx, r12
shl rdx, cl
or qword [rax + 0x48], rdx
and edi, 0x30000
cmp edi, 0x30000
jne 0x653e36b7
mov rcx, qword [rsi + 0x20]
mov rdx, r12
shl rdx, cl
or qword [rax + 0x48], rdx
jmp 0x653e36b7
mov r8d, ebp
mov rdx, rsi
mov rcx, rbx
call fcn.653e0db0
mov rax, qword [rsi + 0x28]
cmp r15, rsi
mov qword [rax + 0x18], 1
je 0x653e426b
mov rax, qword [rsi]
mov qword [r15], rax
jmp 0x653e3fb8
test dil, 8
mov r8, qword [rax + 0x48]
je 0x653e4156
mov ecx, dword [rsi + 0x10]
mov rdx, r12
mov r11, r12
shl rdx, cl
mov ecx, dword [rsi + 0x14]
shl r11, cl
or rdx, r11
or rdx, r8
mov qword [rax + 0x48], rdx
jmp 0x653e4040
lea rdx, [rsi + 0x10]
mov r9d, 8
mov r8d, 8
mov rcx, rbx
call fcn.653df680
or word [rsi + 0xc], 5
mov qword [rsi + 0x10], rax
jmp 0x653e4022
cmp edx, 0x8d
je 0x653e3ec0
cmp edx, 0x8f
je 0x653e3ec0
jmp 0x653e3cd0
lea rdx, [rsi + 0x18]
mov r9d, 4
mov r8d, 4
mov rcx, rbx
call fcn.653df680
or word [rsi + 0xc], 5
mov qword [rsi + 0x18], rax
jmp 0x653e4022
mov rcx, qword [rsi + 0x10]
mov rdx, r12
shl rdx, cl
or rdx, r8
mov qword [rax + 0x48], rdx
jmp 0x653e4040
cmp edx, 0x8b
je 0x653e459d
cmp edx, 0x8d
jne case.0x653e4520.186
mov dword [r11 + 4], 0x79
nop dword [rax]
mov rax, qword [r9 + 0x88]
mov dword [r11 + 8], r10d
movsxd r10, r10d
mov rdi, rsi
mov eax, dword [rax + r10*4]
mov dword [r11 + 0xc], eax
mov rax, qword [rsi + 0x10]
mov qword [r11 + 0x10], rax
jmp 0x653e3a50
lea rdx, [rsi + 0x20]
mov r9d, 4
mov r8d, 4
mov rcx, rbx
call fcn.653df680
or word [rsi + 0xc], 5
mov qword [rsi + 0x20], rax
jmp 0x653e4022
mov rdx, qword [rbx + 0x38]
mov qword [rdx], rcx
jmp 0x653e397b
mov rdx, qword [rax]
mov qword [rcx], rdx
jmp 0x653e3bdf
mov rdx, qword [rbx + 0x38]
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x40], r10d
mov r15, qword [rsp + 0x58]
cmp dword [rdx + 0x1c], r10d
jle 0x653e3460
mov r8d, ebp
mov rdx, rsi
mov rcx, rbx
call fcn.653e0db0
mov r10d, dword [rsp + 0x40]
mov r9, qword [rsi + 0x10]
mov rcx, rbx
mov r8, qword [rsi + 0x28]
or r10d, 0x8000
or r9d, 0x8000
mov dword [rsp + 0x20], r10d
mov rdx, qword [rsi]
call fcn.653e0990
mov rax, qword [rbx + 0x38]
mov r11, qword [rsp + 0x50]
or qword [rax + 0x30], r11
mov rax, qword [rsi + 0x28]
cmp r15, rsi
mov qword [rax + 0x18], 2
jne 0x653e40a6
mov rax, qword [rbx + 0x38]
mov rdx, qword [r15]
mov qword [rax], rdx
jmp 0x653e3fb8
lea rdx, [rsi + 0x18]
mov r9d, 8
mov r8d, 8
mov rcx, rbx
call fcn.653df680
or word [rsi + 0xc], 5
mov qword [rsi + 0x18], rax
jmp 0x653e4022
cmp edx, dword [r11 + 4]
je 0x653e45de
mov eax, dword [r9 + 0x1c]
test eax, eax
jg 0x653e3f01
jmp 0x653e380a
cmp edx, dword [rax + 4]
jne 0x653e3e3a
cmp ecx, dword [rax + 8]
jne 0x653e3e3a
mov r15d, dword [r13]
cmp dword [rax + 0xc], r15d
jne 0x653e3e3a
cmp qword [rax + 0x10], r12
jne 0x653e3e3a
cmp rdi, rsi
je 0x653e46a9
mov qword [rdi], rbp
mov qword [rsi], 0
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x28], 0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax + 0x100]
mov qword [rsi], rdx
mov qword [rax + 0x100], rsi
mov rax, qword [rax + 0x80]
lea rcx, [rax + r8*8]
mov rax, qword [rcx]
test rax, rax
jne 0x653e386a
jmp 0x653e3a50
mov edx, 8
mov rcx, rbx
call fcn.653e1280
mov rdx, qword [rbx + 0x38]
mov dword [rdi], eax
jmp 0x653e348c
mov edx, 8
mov rcx, rbx
call fcn.653e1280
mov rdx, qword [rbx + 0x38]
mov dword [rdi], eax
jmp 0x653e3b6f
mov rdx, qword [rbx + 0x38]
mov qword [rdx], rax
jmp 0x653e3fb8
mov r9, qword [rax + 0x18]
shl r9, 5
add r9, qword [rdx + 0x98]
cmp r8, rax
mov qword [r9 + 8], 0
mov qword [r9 + 0x10], 0
mov qword [r9], 0
je 0x653e4683
mov qword [r8], rcx
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov rdx, qword [rbx + 0x38]
mov r9, qword [rdx + 0x100]
mov qword [rax], r9
mov qword [rdx + 0x100], rax
mov rax, r8
mov rdx, qword [rbx + 0x38]
jmp 0x653e38c2
mov rsi, qword [r8 + 0x28]
jmp 0x653e4418
mov r9, r10
mov r10, qword [r9 + 0x28]
mov qword [r9 + 0x10], r8
mov qword [r9 + 0x28], rsi
mov qword [r8 + 0x28], r9
mov rsi, r9
test r10, r10
jne 0x653e4415
mov r9, qword [rax + 0x18]
shl r9, 5
add r9, qword [rdx + 0x98]
mov qword [r9 + 8], 0
mov qword [r9 + 0x10], 0
mov qword [r9], 0
jmp 0x653e43bc
mov rax, qword [rdi]
mov qword [rdx], rax
jmp 0x653e3c32
mov rcx, qword [rsi + 0x10]
and ecx, 0x7fff
lea r9, [rcx + rcx*2]
mov dword [r8 + r9*8], 0
add dword [rdx + rcx*4], 1
jmp 0x653e3d30
cmp qword [rsi + 0x10], rax
jne 0x653e3022
mov rdx, qword [rax + 0x28]
mov r8, qword [rdi + 0x10]
mov r9, qword [rsi + 0x28]
cmp rdx, rsi
jne 0x653e44a8
jmp 0x653e46a0
mov rdx, rax
mov rax, qword [rdx + 0x28]
cmp rax, rsi
jne 0x653e44a5
mov qword [rdx + 0x28], r9
cmp rdi, rsi
je 0x653e4a58
mov qword [rsi], rcx
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], 0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax + 0x100]
mov qword [rdi], rdx
mov qword [rax + 0x100], rdi
mov eax, dword [rsi + 8]
sub eax, 0x92
cmp eax, 0xec
ja case.0x653e4520.186
movsxd rax, dword [r13 + rax*4]
add rax, r13
jmp rax
mov rcx, qword [rdx + 0x28]
mov r8, qword [rsi + 0x28]
cmp rcx, rsi
jne 0x653e4537
jmp 0x653e468b
mov rcx, rax
mov rax, qword [rcx + 0x28]
cmp rax, rsi
jne 0x653e4534
mov qword [rcx + 0x28], r8
cmp r12, rsi
je 0x653e4694
mov qword [r12], rdi
mov qword [rsi], 0
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x28], 0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax + 0x100]
mov qword [rsi], rdx
mov qword [rax + 0x100], rsi
mov rsi, r12
jmp 0x653e2fc9
mov dword [r11 + 4], 0x75
jmp 0x653e4190
mov dword [r11 + 4], 0x15e
jmp 0x653e4190
mov dword [r11 + 4], 0x103
jmp 0x653e4190
mov dword [r11 + 4], 0x81
jmp 0x653e4190
mov dword [r11 + 4], 0x7d
jmp 0x653e4190
cmp r10d, dword [r11 + 8]
jne 0x653e42aa
mov r8, qword [r9 + 0x88]
movsxd rax, r10d
mov eax, dword [r8 + rax*4]
cmp dword [r11 + 0xc], eax
jne 0x653e42aa
mov r8, qword [rsi + 0x10]
cmp r8, qword [r11 + 0x10]
jne 0x653e42aa
cmp rdi, rsi
je 0x653e46b1
mov qword [rdi], rbp
mov qword [rsi], 0
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x28], 0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax + 0x100]
mov qword [rsi], rdx
mov qword [rax + 0x100], rsi
mov rdx, r8
mov rax, qword [rax + 0x80]
and edx, 0x7fff
lea rcx, [rax + rdx*8]
mov rax, qword [rcx]
test rax, rax
jne 0x653e386a
jmp 0x653e3a50
mov qword [rdx], rcx
jmp 0x653e43bf
mov qword [rdx + 0x28], r8
jmp 0x653e4544
mov rax, qword [rbx + 0x38]
mov qword [rax], rdi
jmp 0x653e4551
mov qword [rax + 0x28], r9
jmp 0x653e44b5
mov qword [r11], rbp
jmp 0x653e42f1
mov qword [r9], rbp
jmp 0x653e461a
mov eax, 0x17b
mov dword [rsi + 8], eax
mov rax, qword [r8 + 0x28]
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x28], rax
mov qword [r8 + 0x28], rsi
jmp 0x653e2fc9
mov eax, 0x17e
jmp 0x653e46be
mov eax, 0x17d
jmp 0x653e46be
mov eax, 0x174
jmp 0x653e46be
mov eax, 0x173
jmp 0x653e46be
mov eax, 0x166
jmp 0x653e46be
mov eax, 0x165
jmp 0x653e46be
mov eax, 0x164
jmp 0x653e46be
mov eax, 0x163
jmp 0x653e46be
mov eax, 0x17a
jmp 0x653e46be
mov eax, 0x179
jmp 0x653e46be
mov eax, 0x16c
jmp 0x653e46be
mov eax, 0x16b
jmp 0x653e46be
mov eax, 0x16a
jmp 0x653e46be
mov eax, 0x169
jmp 0x653e46be
mov eax, 0x168
jmp 0x653e46be
mov eax, 0x167
jmp 0x653e46be
mov eax, 0x172
jmp 0x653e46be
mov eax, 0x171
jmp 0x653e46be
mov eax, 0x170
jmp 0x653e46be
mov eax, 0x16f
jmp 0x653e46be
mov eax, 0x16e
jmp 0x653e46be
mov eax, 0x16d
jmp 0x653e46be
mov eax, 0x178
jmp 0x653e46be
mov eax, 0x177
jmp 0x653e46be
mov eax, 0x176
jmp 0x653e46be
mov eax, 0x175
jmp 0x653e46be
mov eax, 0x121
jmp 0x653e46be
mov eax, 0x120
jmp 0x653e46be
mov eax, 0x123
jmp 0x653e46be
mov eax, 0x122
jmp 0x653e46be
mov eax, 0x119
jmp 0x653e46be
mov eax, 0x118
jmp 0x653e46be
mov eax, 0x10b
jmp 0x653e46be
mov eax, 0x10a
jmp 0x653e46be
mov eax, 0x109
jmp 0x653e46be
mov eax, 0x108
jmp 0x653e46be
mov eax, 0x11f
jmp 0x653e46be
mov eax, 0x11e
jmp 0x653e46be
mov eax, 0x111
jmp 0x653e46be
mov eax, 0x110
jmp 0x653e46be
mov eax, 0x10f
jmp 0x653e46be
mov eax, 0x10e
jmp 0x653e46be
mov eax, 0x17c
jmp 0x653e46be
mov eax, 0x10c
jmp 0x653e46be
mov eax, 0x117
jmp 0x653e46be
mov eax, 0x116
jmp 0x653e46be
mov eax, 0x115
jmp 0x653e46be
mov eax, 0x114
jmp 0x653e46be
mov eax, 0x113
jmp 0x653e46be
mov eax, 0x112
jmp 0x653e46be
mov eax, 0x11d
jmp 0x653e46be
mov eax, 0x11c
jmp 0x653e46be
mov eax, 0x11b
jmp 0x653e46be
mov eax, 0x11a
jmp 0x653e46be
mov eax, 0xb5
jmp 0x653e46be
mov eax, 0xb4
jmp 0x653e46be
mov eax, 0xb3
jmp 0x653e46be
mov eax, 0xb2
jmp 0x653e46be
mov eax, 0xb9
jmp 0x653e46be
mov eax, 0xb8
jmp 0x653e46be
mov eax, 0xb7
jmp 0x653e46be
mov eax, 0xb6
jmp 0x653e46be
mov eax, 0xad
jmp 0x653e46be
mov eax, 0xac
jmp 0x653e46be
mov eax, 0xab
jmp 0x653e46be
mov eax, 0xaa
jmp 0x653e46be
mov eax, 0xb1
jmp 0x653e46be
mov eax, 0xb0
jmp 0x653e46be
mov eax, 0xaf
jmp 0x653e46be
mov eax, 0xae
jmp 0x653e46be
mov eax, 0xa7
jmp 0x653e46be
mov eax, 0xa6
jmp 0x653e46be
mov eax, 0xa9
jmp 0x653e46be
mov eax, 0xa8
jmp 0x653e46be
mov eax, 0x9b
jmp 0x653e46be
mov eax, 0x9a
jmp 0x653e46be
mov eax, 0x99
jmp 0x653e46be
mov eax, 0x98
jmp 0x653e46be
mov eax, 0x97
jmp 0x653e46be
mov eax, 0x96
jmp 0x653e46be
mov eax, 0x95
jmp 0x653e46be
mov eax, 0x94
jmp 0x653e46be
mov eax, 0x93
jmp 0x653e46be
mov eax, 0x92
jmp 0x653e46be
mov eax, 0xa5
jmp 0x653e46be
mov eax, 0xa4
jmp 0x653e46be
mov eax, 0xa3
jmp 0x653e46be
mov eax, 0xa2
jmp 0x653e46be
mov eax, 0xa1
jmp 0x653e46be
mov eax, 0xa0
jmp 0x653e46be
mov eax, 0x9f
jmp 0x653e46be
mov eax, 0x9e
jmp 0x653e46be
mov eax, 0x9d
jmp 0x653e46be
mov eax, 0x9c
jmp 0x653e46be
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
jmp 0x653e44c1