Function at 0x140057530
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x11a0]
mov eax, 0x12a0
call fcn.14034dec0
sub rsp, rax
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x12e8], rbx
mov rax, qword [0x140735840]
xor rax, rsp
mov qword [rbp + 0x1190], rax
mov rbx, r9
mov byte [rsp + 0x30], r8b
mov dword [rsp + 0x34], edx
mov r14, rcx
mov rax, qword [rbp + 0x1210]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x1218]
mov qword [rbp - 0x40], rax
lea rdx, [0x1403d2a5c]
mov cl, 1
call fcn.140048010
lea rcx, [rbp + 0x818]
call qword [0x1403cb288]
mov rdx, rbx
lea rcx, [rbp + 0x888]
call fcn.1401c2b70
mov rbx, rax
mov dword [rbp + 0x640], 0x27
mov ecx, dword [rbp + 0x640]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x644], cl
movsx edx, byte [rbp + 0x644]
xor edx, 0x2a
add edx, 4
mov byte [rbp + 0x645], dl
movsx ecx, byte [rbp + 0x645]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x646], cl
movsx ecx, byte [rbp + 0x646]
xor ecx, 0x20
add ecx, 4
mov byte [rbp + 0x647], cl
movsx ecx, byte [rbp + 0x647]
xor ecx, 0x7b
add ecx, 4
mov byte [rbp + 0x648], cl
movsx ecx, byte [rbp + 0x648]
xor ecx, 0x7d
add ecx, 4
mov byte [rbp + 0x649], cl
movsx ecx, byte [rbp + 0x649]
xor ecx, 0x20
add ecx, 4
mov byte [rbp + 0x64a], cl
movsx ecx, byte [rbp + 0x64a]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x64b], cl
movsx ecx, byte [rbp + 0x64b]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x64c], cl
movsx ecx, byte [rbp + 0x64c]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x64d], cl
movsx ecx, byte [rbp + 0x64d]
xor ecx, 0x20
add ecx, 4
mov byte [rbp + 0x64e], cl
movsx ecx, byte [rbp + 0x64e]
xor ecx, 0x7b
add ecx, 4
mov byte [rbp + 0x64f], cl
movsx ecx, byte [rbp + 0x64f]
xor ecx, 0x7d
add ecx, 4
mov byte [rbp + 0x650], cl
movsx ecx, byte [rbp + 0x650]
xor ecx, 0x2f
add ecx, 4
mov byte [rbp + 0x651], cl
movsx ecx, byte [rbp + 0x651]
xor ecx, 0x7b
add ecx, 4
mov byte [rbp + 0x652], cl
movsx ecx, byte [rbp + 0x652]
xor ecx, 0x7d
add ecx, 4
mov byte [rbp + 0x653], cl
movsx ecx, byte [rbp + 0x653]
xor ecx, 0x20
add ecx, 4
mov byte [rbp + 0x654], cl
movsx ecx, byte [rbp + 0x654]
xor ecx, 0x7b
add ecx, 4
mov byte [rbp + 0x655], cl
movsx ecx, byte [rbp + 0x655]
xor ecx, 0x3a
add ecx, 4
mov byte [rbp + 0x656], cl
movsx ecx, byte [rbp + 0x656]
xor ecx, 0x30
add ecx, 4
mov byte [rbp + 0x657], cl
movsx ecx, byte [rbp + 0x657]
xor ecx, 0x32
add ecx, 4
mov byte [rbp + 0x658], cl
movsx ecx, byte [rbp + 0x658]
xor ecx, 0x64
add ecx, 4
mov byte [rbp + 0x659], cl
movsx ecx, byte [rbp + 0x659]
xor ecx, 0x7d
add ecx, 4
mov byte [rbp + 0x65a], cl
movsx ecx, byte [rbp + 0x65a]
xor ecx, 0x3a
add ecx, 4
mov byte [rbp + 0x65b], cl
movsx ecx, byte [rbp + 0x65b]
xor ecx, 0x7b
add ecx, 4
mov byte [rbp + 0x65c], cl
movsx ecx, byte [rbp + 0x65c]
xor ecx, 0x3a
add ecx, 4
mov byte [rbp + 0x65d], cl
movsx ecx, byte [rbp + 0x65d]
xor ecx, 0x30
add ecx, 4
mov byte [rbp + 0x65e], cl
movsx ecx, byte [rbp + 0x65e]
xor ecx, 0x32
add ecx, 4
mov byte [rbp + 0x65f], cl
movsx ecx, byte [rbp + 0x65f]
xor ecx, 0x64
add ecx, 4
mov byte [rbp + 0x660], cl
movsx ecx, byte [rbp + 0x660]
xor ecx, 0x7d
add ecx, 4
mov byte [rbp + 0x661], cl
movsx ecx, byte [rbp + 0x661]
xor ecx, 0x20
add ecx, 4
mov byte [rbp + 0x662], cl
movsx ecx, byte [rbp + 0x662]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x663], cl
movsx ecx, byte [rbp + 0x663]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x664], cl
movsx ecx, byte [rbp + 0x664]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x665], cl
movsx ecx, byte [rbp + 0x665]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x666], cl
movsx ecx, byte [rbp + 0x666]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x667], cl
movsx ecx, byte [rbp + 0x667]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x668], cl
movsx ecx, byte [rbp + 0x668]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x669], cl
movsx ecx, byte [rbp + 0x669]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x66a], cl
movsx ecx, byte [rbp + 0x66a]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x66b], cl
movsx ecx, byte [rbp + 0x66b]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x66c], cl
movsx ecx, byte [rbp + 0x66c]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x66d], cl
movsx ecx, byte [rbp + 0x66d]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x66e], cl
movsx ecx, byte [rbp + 0x66e]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x66f], cl
movsx ecx, byte [rbp + 0x66f]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x670], cl
movsx ecx, byte [rbp + 0x670]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x671], cl
movsx ecx, byte [rbp + 0x671]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x672], cl
movsx ecx, byte [rbp + 0x672]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x673], cl
movsx ecx, byte [rbp + 0x673]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x674], cl
movsx ecx, byte [rbp + 0x674]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x675], cl
movsx ecx, byte [rbp + 0x675]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x676], cl
movsx ecx, byte [rbp + 0x676]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x677], cl
movsx ecx, byte [rbp + 0x677]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x678], cl
movsx ecx, byte [rbp + 0x678]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x679], cl
movsx ecx, byte [rbp + 0x679]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x67a], cl
movsx ecx, byte [rbp + 0x67a]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x67b], cl
movsx ecx, byte [rbp + 0x67b]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x67c], cl
movsx ecx, byte [rbp + 0x67c]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x67d], cl
movsx ecx, byte [rbp + 0x67d]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x67e], cl
movsx ecx, byte [rbp + 0x67e]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x67f], cl
movsx ecx, byte [rbp + 0x67f]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x680], cl
movsx ecx, byte [rbp + 0x680]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x681], cl
movsx ecx, byte [rbp + 0x681]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x682], cl
movsx ecx, byte [rbp + 0x682]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x683], cl
movsx ecx, byte [rbp + 0x683]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x684], cl
movsx ecx, byte [rbp + 0x684]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x685], cl
movsx ecx, byte [rbp + 0x685]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x686], cl
movsx ecx, byte [rbp + 0x686]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x687], cl
movsx ecx, byte [rbp + 0x687]
xor ecx, 0x2a
add ecx, 4
mov byte [rbp + 0x688], cl
mov byte [rbp + 0x689], 0
movzx eax, byte [rbp + 0x644]
lea rdx, [rbp + 0x868]
lea rcx, [rbp + 0x640]
call fcn.140067660
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140057b1a
mov rdx, qword [rax]
lea rax, [rbp + 0xf20]
mov qword [rbp + 0xf18], rax
lea rsi, [0x1403ce9f0]
mov qword [rbp + 0xf10], rsi
lea rax, [rbp + 0xf40]
mov qword [rbp + 0xf28], rax
xor edi, edi
mov qword [rbp + 0xf30], rdi
mov qword [rbp + 0xf38], 0x1f4
lea rax, [0x1403ce948]
mov qword [rbp + 0xf20], rax
mov qword [rbp + 0x30], rdx
cmp qword [rbx + 0x18], 0x10
jb 0x140057b76
mov rcx, qword [rbx]
jmp 0x140057b79
mov rcx, rbx
mov qword [rbp + 0x18], rcx
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x20], rax
mov qword [rbp], rcx
mov qword [rbp + 8], rax
movups xmm0, xmmword [rbp]
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x1140], xmm0
movzx eax, word [rbp + 0x81a]
mov dword [rsp + 0x38], eax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rbp + 0x1150], xmm0
movzx eax, word [rbp + 0x81e]
mov dword [rsp + 0x38], eax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rbp + 0x1160], xmm0
movzx eax, word [rbp + 0x820]
mov dword [rsp + 0x38], eax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rbp + 0x1170], xmm0
movzx eax, word [rbp + 0x822]
mov dword [rsp + 0x38], eax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rbp + 0x1180], xmm0
mov qword [rsp + 0x38], 0x3333b
lea rax, [rbp + 0x1140]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbp - 0x38], xmm0
mov dword [rbp - 0x28], edi
lea rax, [rbp + 0xf10]
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
lea rcx, [rbp - 0x38]
call fcn.1400205b0
nop
mov r9, qword [rbp - 0x18]
test r9, r9
je 0x140057c7d
mov rcx, qword [rbp - 8]
sub rcx, r9
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r9
lea rcx, [rbp - 0x18]
call fcn.1400528c0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
lea rax, [rbp + 0x278]
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x268], rsi
lea rdx, [rbp + 0xf20]
lea rcx, [rbp + 0x278]
call fcn.14001c390
lea rcx, [rbp + 0x268]
call fcn.140023550
nop
lea rcx, [rbp + 0xf20]
call fcn.14001c850
lea rax, [0x1403ce9e0]
mov qword [rbp + 0xf10], rax
mov rax, qword [rbp + 0x880]
cmp rax, 0x10
jb 0x140057d28
inc rax
mov rcx, qword [rbp + 0x868]
cmp rax, 0x1000
jb 0x140057d23
test cl, 0x1f
je 0x140057cf6
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140057d05
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x140057d14
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x140057d20
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rbp + 0x880], 0xf
mov qword [rbp + 0x878], rdi
mov byte [rbp + 0x868], 0
mov rax, qword [rbp + 0x8a0]
cmp rax, 0x10
jb 0x140057d9d
inc rax
mov rcx, qword [rbp + 0x888]
cmp rax, 0x1000
jb 0x140057d98
test cl, 0x1f
je 0x140057d6b
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140057d7a
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x140057d89
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x140057d95
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rbp + 0x8a0], 0xf
mov qword [rbp + 0x898], rdi
mov byte [rbp + 0x888], 0
mov rcx, r14
call fcn.1400525e0
mov r13d, eax
lea rcx, [r14 + 0x798]
call fcn.1401dd370
imul edx, eax, 0x3c
lea rcx, [rbp + 0xe48]
call fcn.1401c2b70
mov rbx, rax
lea rdx, [rbp + 0xe68]
mov rcx, r14
call fcn.140055410
mov rdi, rax
mov edx, r13d
lea rcx, [rbp + 0xe88]
call fcn.1401de490
mov r15, rax
lea rcx, [rbp + 0xea8]
call fcn.140055570
mov r12, rax
mov dword [rbp + 0x568], 0x69
mov ecx, dword [rbp + 0x568]
add cl, 0x69
movsx edx, cl
xor edx, 0x23
mov dword [rbp + 0x56c], edx
mov ecx, dword [rbp + 0x56c]
mov edx, dword [rbp + 0x568]
xor edx, ecx
xor edx, 0x7b
mov byte [rbp + 0x570], dl
movsx ecx, byte [rbp + 0x570]
mov eax, dword [rbp + 0x568]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x571], al
movsx ecx, byte [rbp + 0x571]
mov eax, dword [rbp + 0x568]
add al, 2
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x572], al
movsx ecx, byte [rbp + 0x572]
mov eax, dword [rbp + 0x568]
add al, 3
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x573], al
movsx ecx, byte [rbp + 0x573]
mov eax, dword [rbp + 0x568]
add al, 4
xor eax, ecx
xor eax, 0x4d
mov byte [rbp + 0x574], al
movsx ecx, byte [rbp + 0x574]
mov eax, dword [rbp + 0x568]
add al, 5
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x575], al
movsx ecx, byte [rbp + 0x575]
mov eax, dword [rbp + 0x568]
add al, 6
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x576], al
movsx ecx, byte [rbp + 0x576]
mov eax, dword [rbp + 0x568]
add al, 7
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x577], al
movsx ecx, byte [rbp + 0x577]
mov eax, dword [rbp + 0x568]
add al, 8
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x578], al
movsx ecx, byte [rbp + 0x578]
mov eax, dword [rbp + 0x568]
add al, 9
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x579], al
movsx ecx, byte [rbp + 0x579]
mov eax, dword [rbp + 0x568]
add al, 0xa
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x57a], al
movsx ecx, byte [rbp + 0x57a]
mov eax, dword [rbp + 0x568]
add al, 0xb
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x57b], al
movsx ecx, byte [rbp + 0x57b]
mov eax, dword [rbp + 0x568]
add al, 0xc
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x57c], al
movsx ecx, byte [rbp + 0x57c]
mov eax, dword [rbp + 0x568]
add al, 0xd
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x57d], al
movsx ecx, byte [rbp + 0x57d]
mov eax, dword [rbp + 0x568]
add al, 0xe
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x57e], al
movsx ecx, byte [rbp + 0x57e]
mov eax, dword [rbp + 0x568]
add al, 0xf
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x57f], al
movsx ecx, byte [rbp + 0x57f]
mov eax, dword [rbp + 0x568]
add al, 0x10
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x580], al
movsx ecx, byte [rbp + 0x580]
mov eax, dword [rbp + 0x568]
add al, 0x11
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x581], al
movsx ecx, byte [rbp + 0x581]
mov eax, dword [rbp + 0x568]
add al, 0x12
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x582], al
movsx ecx, byte [rbp + 0x582]
mov eax, dword [rbp + 0x568]
add al, 0x13
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x583], al
movsx ecx, byte [rbp + 0x583]
mov eax, dword [rbp + 0x568]
add al, 0x14
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x584], al
movsx ecx, byte [rbp + 0x584]
mov eax, dword [rbp + 0x568]
add al, 0x15
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x585], al
movsx ecx, byte [rbp + 0x585]
mov eax, dword [rbp + 0x568]
add al, 0x16
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x586], al
movsx ecx, byte [rbp + 0x586]
mov eax, dword [rbp + 0x568]
add al, 0x17
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x587], al
movsx ecx, byte [rbp + 0x587]
mov eax, dword [rbp + 0x568]
add al, 0x18
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x588], al
movsx ecx, byte [rbp + 0x588]
mov eax, dword [rbp + 0x568]
add al, 0x19
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x589], al
xor eax, eax
mov byte [rbp + 0x58a], al
movzx eax, byte [rbp + 0x570]
lea rdx, [rbp + 0x8a8]
lea rcx, [rbp + 0x568]
call fcn.14003ffb0
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400580ff
mov rax, qword [rax]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
mov r9, r15
mov r8, r12
mov rdx, rax
mov cl, 1
call fcn.1400490f0
nop
mov rax, qword [rbp + 0x8c0]
cmp rax, 0x10
jb 0x140058176
inc rax
mov rcx, qword [rbp + 0x8a8]
cmp rax, 0x1000
jb 0x140058171
test cl, 0x1f
je 0x140058144
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140058153
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x140058162
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x14005816e
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rbp + 0x8c0], 0xf
xor r15d, r15d
mov qword [rbp + 0x8b8], r15
mov byte [rbp + 0x8a8], r15b
lea rcx, [rbp + 0xea8]
call fcn.14001c970
nop
lea rcx, [rbp + 0xe88]
call fcn.14001c970
nop
lea rcx, [rbp + 0xe68]
call fcn.14001c970
nop
lea rcx, [rbp + 0xe48]
call fcn.14001c970
cmp byte [rsp + 0x30], r15b
je 0x140058373
mov rbx, qword [r14 + 0x1410]
mov rdi, qword [r14 + 0x1418]
cmp rbx, rdi
je 0x140058277
nop word [rax + rax]
mov dword [rbp + 0x790], 0x32
mov dword [rbp + 0x794], 3
mov eax, dword [rbp + 0x794]
xor eax, 0x49
mov byte [rbp + 0x798], al
movsx ecx, byte [rbp + 0x798]
xor ecx, 0x4f
mov byte [rbp + 0x799], cl
xor eax, eax
mov byte [rbp + 0x79a], al
movzx eax, byte [rbp + 0x798]
lea rdx, [rbp + 0xe28]
lea rcx, [rbp + 0x790]
call fcn.14012e440
nop
cmp qword [rax + 0x18], 0x10
jb 0x140058250
mov rax, qword [rax]
mov r8, rbx
mov rdx, rax
mov cl, 1
call fcn.140048b80
nop
lea rcx, [rbp + 0xe28]
call fcn.14001c970
add rbx, 0x20
cmp rbx, rdi
jne 0x1400581f0
cmp qword [r14 + 0x1048], 0
je 0x140058373
mov rbx, qword [r14 + 0x1428]
mov rdi, qword [r14 + 0x1430]
cmp rbx, rdi
je 0x140058373
nop dword [rax]
mov dword [rbp + 0x778], 0x7b
mov eax, dword [rbp + 0x778]
add al, 0x7b
movsx ecx, al
xor ecx, 0x19
mov dword [rbp + 0x77c], ecx
mov eax, dword [rbp + 0x77c]
mov ecx, dword [rbp + 0x778]
xor ecx, eax
xor ecx, 0x7b
mov byte [rbp + 0x780], cl
movsx ecx, byte [rbp + 0x780]
mov eax, dword [rbp + 0x778]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x781], al
xor eax, eax
mov byte [rbp + 0x782], al
movzx eax, byte [rbp + 0x780]
lea rdx, [rbp + 0x8c8]
lea rcx, [rbp + 0x778]
call fcn.1400f1ed0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005831c
mov rax, qword [rax]
mov r8, rbx
mov rdx, rax
xor ecx, ecx
call fcn.140048b80
nop
mov r8, qword [rbp + 0x8e0]
cmp r8, 0x10
jb 0x14005834d
inc r8
mov rdx, qword [rbp + 0x8c8]
lea rcx, [rbp + 0x8c8]
call fcn.140030b70
mov qword [rbp + 0x8e0], 0xf
mov qword [rbp + 0x8d8], r15
mov byte [rbp + 0x8c8], 0
add rbx, 0x20
cmp rbx, rdi
jne 0x1400582a0
cmp byte [r14 + 0x1158], 0
je 0x140059638
mov dword [rbp + 0x530], 0x4f
mov eax, dword [rbp + 0x530]
add al, 0x4f
movsx ecx, al
xor ecx, 0x20
mov dword [rbp + 0x534], ecx
mov eax, dword [rbp + 0x534]
mov ecx, dword [rbp + 0x530]
xor ecx, eax
xor ecx, 0x4d
mov byte [rbp + 0x538], cl
movsx ecx, byte [rbp + 0x538]
mov eax, dword [rbp + 0x530]
inc al
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x539], al
movsx ecx, byte [rbp + 0x539]
mov eax, dword [rbp + 0x530]
add al, 2
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x53a], al
movsx ecx, byte [rbp + 0x53a]
mov eax, dword [rbp + 0x530]
add al, 3
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x53b], al
movsx ecx, byte [rbp + 0x53b]
mov eax, dword [rbp + 0x530]
add al, 4
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x53c], al
movsx ecx, byte [rbp + 0x53c]
mov eax, dword [rbp + 0x530]
add al, 5
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x53d], al
movsx ecx, byte [rbp + 0x53d]
mov eax, dword [rbp + 0x530]
add al, 6
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x53e], al
movsx ecx, byte [rbp + 0x53e]
mov eax, dword [rbp + 0x530]
add al, 7
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x53f], al
movsx ecx, byte [rbp + 0x53f]
mov eax, dword [rbp + 0x530]
add al, 8
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x540], al
movsx ecx, byte [rbp + 0x540]
mov eax, dword [rbp + 0x530]
add al, 9
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x541], al
movsx ecx, byte [rbp + 0x541]
mov eax, dword [rbp + 0x530]
add al, 0xa
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x542], al
movsx ecx, byte [rbp + 0x542]
mov eax, dword [rbp + 0x530]
add al, 0xb
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x543], al
movsx ecx, byte [rbp + 0x543]
mov eax, dword [rbp + 0x530]
add al, 0xc
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x544], al
movsx ecx, byte [rbp + 0x544]
mov eax, dword [rbp + 0x530]
add al, 0xd
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x545], al
movsx ecx, byte [rbp + 0x545]
mov eax, dword [rbp + 0x530]
add al, 0xe
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x546], al
movsx ecx, byte [rbp + 0x546]
mov eax, dword [rbp + 0x530]
add al, 0xf
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x547], al
movsx ecx, byte [rbp + 0x547]
mov eax, dword [rbp + 0x530]
add al, 0x10
xor eax, ecx
xor eax, 0x28
mov byte [rbp + 0x548], al
movsx ecx, byte [rbp + 0x548]
mov eax, dword [rbp + 0x530]
add al, 0x11
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x549], al
movsx ecx, byte [rbp + 0x549]
mov eax, dword [rbp + 0x530]
add al, 0x12
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x54a], al
movsx ecx, byte [rbp + 0x54a]
mov eax, dword [rbp + 0x530]
add al, 0x13
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x54b], al
movsx ecx, byte [rbp + 0x54b]
mov eax, dword [rbp + 0x530]
add al, 0x14
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x54c], al
movsx ecx, byte [rbp + 0x54c]
mov eax, dword [rbp + 0x530]
add al, 0x15
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x54d], al
movsx ecx, byte [rbp + 0x54d]
mov eax, dword [rbp + 0x530]
add al, 0x16
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x54e], al
movsx ecx, byte [rbp + 0x54e]
mov eax, dword [rbp + 0x530]
add al, 0x17
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x54f], al
movsx ecx, byte [rbp + 0x54f]
mov eax, dword [rbp + 0x530]
add al, 0x18
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x550], al
movsx ecx, byte [rbp + 0x550]
mov eax, dword [rbp + 0x530]
add al, 0x19
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x551], al
movsx ecx, byte [rbp + 0x551]
mov eax, dword [rbp + 0x530]
add al, 0x1a
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x552], al
movsx ecx, byte [rbp + 0x552]
mov eax, dword [rbp + 0x530]
add al, 0x1b
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x553], al
movsx ecx, byte [rbp + 0x553]
mov eax, dword [rbp + 0x530]
add al, 0x1c
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x554], al
movsx ecx, byte [rbp + 0x554]
mov eax, dword [rbp + 0x530]
add al, 0x1d
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x555], al
movsx ecx, byte [rbp + 0x555]
mov eax, dword [rbp + 0x530]
add al, 0x1e
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x556], al
movsx ecx, byte [rbp + 0x556]
mov eax, dword [rbp + 0x530]
add al, 0x1f
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x557], al
movsx ecx, byte [rbp + 0x557]
mov eax, dword [rbp + 0x530]
add al, 0x20
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x558], al
movsx ecx, byte [rbp + 0x558]
mov eax, dword [rbp + 0x530]
add al, 0x21
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x559], al
movsx ecx, byte [rbp + 0x559]
mov eax, dword [rbp + 0x530]
add al, 0x22
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x55a], al
movsx ecx, byte [rbp + 0x55a]
mov eax, dword [rbp + 0x530]
add al, 0x23
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x55b], al
movsx ecx, byte [rbp + 0x55b]
mov eax, dword [rbp + 0x530]
add al, 0x24
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x55c], al
movsx ecx, byte [rbp + 0x55c]
mov eax, dword [rbp + 0x530]
add al, 0x25
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x55d], al
movsx ecx, byte [rbp + 0x55d]
mov eax, dword [rbp + 0x530]
add al, 0x26
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x55e], al
movsx ecx, byte [rbp + 0x55e]
mov eax, dword [rbp + 0x530]
add al, 0x27
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x55f], al
movsx ecx, byte [rbp + 0x55f]
mov eax, dword [rbp + 0x530]
add al, 0x28
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x560], al
movsx ecx, byte [rbp + 0x560]
mov eax, dword [rbp + 0x530]
add al, 0x29
xor eax, ecx
xor eax, 0x29
mov byte [rbp + 0x561], al
xor eax, eax
mov byte [rbp + 0x562], al
movzx eax, byte [rbp + 0x538]
lea rdx, [rbp + 0xe08]
lea rcx, [rbp + 0x530]
call fcn.1401b5fd0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005880d
mov rax, qword [rax]
mov rcx, rax
call fcn.1400482e0
nop
lea rcx, [rbp + 0xe08]
call fcn.14001c970
call fcn.14032cee0
mov rbx, rax
call fcn.14032cec4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [rbp + 0x38], rax
mov qword [r14 + 0x1170], rax
call fcn.14032cee0
mov rbx, rax
call fcn.14032cec4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rdx, [rax + rcx]
mov qword [rbp + 0x40], rdx
sub rdx, qword [r14 + 0x1168]
movabs rax, 0x112e0be826d694b3
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rdx
cmp rdx, 0x96
jle 0x140059bb9
lea rcx, [r14 + 0x798]
call fcn.140054e00
test al, al
je 0x140058f86
mov dword [rbp + 0x490], 0x3c
mov eax, dword [rbp + 0x490]
add al, 0x3c
movsx ecx, al
xor ecx, 0x55
mov dword [rbp + 0x494], ecx
mov eax, dword [rbp + 0x494]
mov ecx, dword [rbp + 0x490]
xor ecx, eax
xor ecx, 0x44
mov byte [rbp + 0x498], cl
movsx ecx, byte [rbp + 0x498]
mov eax, dword [rbp + 0x490]
inc al
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x499], al
movsx ecx, byte [rbp + 0x499]
mov eax, dword [rbp + 0x490]
add al, 2
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x49a], al
movsx ecx, byte [rbp + 0x49a]
mov eax, dword [rbp + 0x490]
add al, 3
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x49b], al
movsx ecx, byte [rbp + 0x49b]
mov eax, dword [rbp + 0x490]
add al, 4
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x49c], al
movsx ecx, byte [rbp + 0x49c]
mov eax, dword [rbp + 0x490]
add al, 5
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x49d], al
movsx ecx, byte [rbp + 0x49d]
mov eax, dword [rbp + 0x490]
add al, 6
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x49e], al
movsx ecx, byte [rbp + 0x49e]
mov eax, dword [rbp + 0x490]
add al, 7
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x49f], al
movsx ecx, byte [rbp + 0x49f]
mov eax, dword [rbp + 0x490]
add al, 8
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x4a0], al
movsx ecx, byte [rbp + 0x4a0]
mov eax, dword [rbp + 0x490]
add al, 9
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x4a1], al
movsx ecx, byte [rbp + 0x4a1]
mov eax, dword [rbp + 0x490]
add al, 0xa
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x4a2], al
movsx ecx, byte [rbp + 0x4a2]
mov eax, dword [rbp + 0x490]
add al, 0xb
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x4a3], al
movsx ecx, byte [rbp + 0x4a3]
mov eax, dword [rbp + 0x490]
add al, 0xc
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x4a4], al
movsx ecx, byte [rbp + 0x4a4]
mov eax, dword [rbp + 0x490]
add al, 0xd
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4a5], al
movsx ecx, byte [rbp + 0x4a5]
mov eax, dword [rbp + 0x490]
add al, 0xe
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x4a6], al
movsx ecx, byte [rbp + 0x4a6]
mov eax, dword [rbp + 0x490]
add al, 0xf
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x4a7], al
movsx ecx, byte [rbp + 0x4a7]
mov eax, dword [rbp + 0x490]
add al, 0x10
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x4a8], al
movsx ecx, byte [rbp + 0x4a8]
mov eax, dword [rbp + 0x490]
add al, 0x11
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x4a9], al
movsx ecx, byte [rbp + 0x4a9]
mov eax, dword [rbp + 0x490]
add al, 0x12
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4aa], al
movsx ecx, byte [rbp + 0x4aa]
mov eax, dword [rbp + 0x490]
add al, 0x13
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x4ab], al
movsx ecx, byte [rbp + 0x4ab]
mov eax, dword [rbp + 0x490]
add al, 0x14
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x4ac], al
movsx ecx, byte [rbp + 0x4ac]
mov eax, dword [rbp + 0x490]
add al, 0x15
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4ad], al
movsx ecx, byte [rbp + 0x4ad]
mov eax, dword [rbp + 0x490]
add al, 0x16
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4ae], al
movsx ecx, byte [rbp + 0x4ae]
mov eax, dword [rbp + 0x490]
add al, 0x17
xor eax, ecx
xor eax, 0x45
mov byte [rbp + 0x4af], al
movsx ecx, byte [rbp + 0x4af]
mov eax, dword [rbp + 0x490]
add al, 0x18
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x4b0], al
movsx ecx, byte [rbp + 0x4b0]
mov eax, dword [rbp + 0x490]
add al, 0x19
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x4b1], al
movsx ecx, byte [rbp + 0x4b1]
mov eax, dword [rbp + 0x490]
add al, 0x1a
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x4b2], al
movsx ecx, byte [rbp + 0x4b2]
mov eax, dword [rbp + 0x490]
add al, 0x1b
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x4b3], al
movsx ecx, byte [rbp + 0x4b3]
mov eax, dword [rbp + 0x490]
add al, 0x1c
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x4b4], al
movsx ecx, byte [rbp + 0x4b4]
mov eax, dword [rbp + 0x490]
add al, 0x1d
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4b5], al
movsx ecx, byte [rbp + 0x4b5]
mov eax, dword [rbp + 0x490]
add al, 0x1e
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x4b6], al
movsx ecx, byte [rbp + 0x4b6]
mov eax, dword [rbp + 0x490]
add al, 0x1f
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x4b7], al
movsx ecx, byte [rbp + 0x4b7]
mov eax, dword [rbp + 0x490]
add al, 0x20
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x4b8], al
movsx ecx, byte [rbp + 0x4b8]
mov eax, dword [rbp + 0x490]
add al, 0x21
xor eax, ecx
xor eax, 0x6c
mov byte [rbp + 0x4b9], al
movsx ecx, byte [rbp + 0x4b9]
mov eax, dword [rbp + 0x490]
add al, 0x22
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4ba], al
movsx ecx, byte [rbp + 0x4ba]
mov eax, dword [rbp + 0x490]
add al, 0x23
xor eax, ecx
xor eax, 0x62
mov byte [rbp + 0x4bb], al
movsx ecx, byte [rbp + 0x4bb]
mov eax, dword [rbp + 0x490]
add al, 0x24
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4bc], al
movsx ecx, byte [rbp + 0x4bc]
mov eax, dword [rbp + 0x490]
add al, 0x25
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x4bd], al
movsx ecx, byte [rbp + 0x4bd]
mov eax, dword [rbp + 0x490]
add al, 0x26
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x4be], al
movsx ecx, byte [rbp + 0x4be]
mov eax, dword [rbp + 0x490]
add al, 0x27
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x4bf], al
movsx ecx, byte [rbp + 0x4bf]
mov eax, dword [rbp + 0x490]
add al, 0x28
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x4c0], al
movsx ecx, byte [rbp + 0x4c0]
mov eax, dword [rbp + 0x490]
add al, 0x29
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4c1], al
movsx ecx, byte [rbp + 0x4c1]
mov eax, dword [rbp + 0x490]
add al, 0x2a
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4c2], al
movsx ecx, byte [rbp + 0x4c2]
mov eax, dword [rbp + 0x490]
add al, 0x2b
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x4c3], al
movsx ecx, byte [rbp + 0x4c3]
mov eax, dword [rbp + 0x490]
add al, 0x2c
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x4c4], al
movsx ecx, byte [rbp + 0x4c4]
mov eax, dword [rbp + 0x490]
add al, 0x2d
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4c5], al
movsx ecx, byte [rbp + 0x4c5]
mov eax, dword [rbp + 0x490]
add al, 0x2e
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4c6], al
movsx ecx, byte [rbp + 0x4c6]
mov eax, dword [rbp + 0x490]
add al, 0x2f
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x4c7], al
movsx ecx, byte [rbp + 0x4c7]
mov eax, dword [rbp + 0x490]
add al, 0x30
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x4c8], al
movsx ecx, byte [rbp + 0x4c8]
mov eax, dword [rbp + 0x490]
add al, 0x31
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x4c9], al
movsx ecx, byte [rbp + 0x4c9]
mov eax, dword [rbp + 0x490]
add al, 0x32
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4ca], al
movsx ecx, byte [rbp + 0x4ca]
mov eax, dword [rbp + 0x490]
add al, 0x33
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x4cb], al
movsx ecx, byte [rbp + 0x4cb]
mov eax, dword [rbp + 0x490]
add al, 0x34
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4cc], al
movsx ecx, byte [rbp + 0x4cc]
mov eax, dword [rbp + 0x490]
add al, 0x35
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x4cd], al
movsx ecx, byte [rbp + 0x4cd]
mov eax, dword [rbp + 0x490]
add al, 0x36
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x4ce], al
movsx ecx, byte [rbp + 0x4ce]
mov eax, dword [rbp + 0x490]
add al, 0x37
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4cf], al
movsx ecx, byte [rbp + 0x4cf]
mov eax, dword [rbp + 0x490]
add al, 0x38
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x4d0], al
movsx ecx, byte [rbp + 0x4d0]
mov eax, dword [rbp + 0x490]
add al, 0x39
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x4d1], al
movsx ecx, byte [rbp + 0x4d1]
mov eax, dword [rbp + 0x490]
add al, 0x3a
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x4d2], al
movsx ecx, byte [rbp + 0x4d2]
mov eax, dword [rbp + 0x490]
add al, 0x3b
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x4d3], al
movsx ecx, byte [rbp + 0x4d3]
mov eax, dword [rbp + 0x490]
add al, 0x3c
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4d4], al
movsx ecx, byte [rbp + 0x4d4]
mov eax, dword [rbp + 0x490]
add al, 0x3d
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x4d5], al
xor eax, eax
mov byte [rbp + 0x4d6], al
movzx eax, byte [rbp + 0x498]
lea rdx, [rbp + 0xde8]
lea rcx, [rbp + 0x490]
call fcn.1400664b0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140058f65
mov rax, qword [rax]
mov rcx, rax
call fcn.14002a110
nop
lea rcx, [rbp + 0xde8]
call fcn.14001c970
lea rcx, [r14 + 0x798]
call fcn.1401e16f0
cmp qword [r14 + 0x1048], 0
je 0x14005961c
mov rcx, qword [r14 + 0x1048]
call fcn.140054e00
test al, al
je 0x14005961c
lea rdx, [rbp + 0xda8]
mov rcx, qword [r14 + 0x1048]
call fcn.14004e490
mov rbx, rax
mov dword [rbp + 0x4e0], 0xa
mov ecx, dword [rbp + 0x4e0]
add cl, 0xa
movsx edx, cl
xor edx, 0x5c
mov dword [rbp + 0x4e4], edx
mov ecx, dword [rbp + 0x4e4]
mov edx, dword [rbp + 0x4e0]
xor edx, ecx
xor edx, 0x44
mov byte [rbp + 0x4e8], dl
movsx ecx, byte [rbp + 0x4e8]
mov eax, dword [rbp + 0x4e0]
inc al
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x4e9], al
movsx ecx, byte [rbp + 0x4e9]
mov eax, dword [rbp + 0x4e0]
add al, 2
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x4ea], al
movsx ecx, byte [rbp + 0x4ea]
mov eax, dword [rbp + 0x4e0]
add al, 3
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x4eb], al
movsx ecx, byte [rbp + 0x4eb]
mov eax, dword [rbp + 0x4e0]
add al, 4
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x4ec], al
movsx ecx, byte [rbp + 0x4ec]
mov eax, dword [rbp + 0x4e0]
add al, 5
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x4ed], al
movsx ecx, byte [rbp + 0x4ed]
mov eax, dword [rbp + 0x4e0]
add al, 6
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x4ee], al
movsx ecx, byte [rbp + 0x4ee]
mov eax, dword [rbp + 0x4e0]
add al, 7
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4ef], al
movsx ecx, byte [rbp + 0x4ef]
mov eax, dword [rbp + 0x4e0]
add al, 8
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x4f0], al
movsx ecx, byte [rbp + 0x4f0]
mov eax, dword [rbp + 0x4e0]
add al, 9
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x4f1], al
movsx ecx, byte [rbp + 0x4f1]
mov eax, dword [rbp + 0x4e0]
add al, 0xa
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x4f2], al
movsx ecx, byte [rbp + 0x4f2]
mov eax, dword [rbp + 0x4e0]
add al, 0xb
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x4f3], al
movsx ecx, byte [rbp + 0x4f3]
mov eax, dword [rbp + 0x4e0]
add al, 0xc
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x4f4], al
movsx ecx, byte [rbp + 0x4f4]
mov eax, dword [rbp + 0x4e0]
add al, 0xd
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4f5], al
movsx ecx, byte [rbp + 0x4f5]
mov eax, dword [rbp + 0x4e0]
add al, 0xe
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x4f6], al
movsx ecx, byte [rbp + 0x4f6]
mov eax, dword [rbp + 0x4e0]
add al, 0xf
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x4f7], al
movsx ecx, byte [rbp + 0x4f7]
mov eax, dword [rbp + 0x4e0]
add al, 0x10
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x4f8], al
movsx ecx, byte [rbp + 0x4f8]
mov eax, dword [rbp + 0x4e0]
add al, 0x11
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x4f9], al
movsx ecx, byte [rbp + 0x4f9]
mov eax, dword [rbp + 0x4e0]
add al, 0x12
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4fa], al
movsx ecx, byte [rbp + 0x4fa]
mov eax, dword [rbp + 0x4e0]
add al, 0x13
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x4fb], al
movsx ecx, byte [rbp + 0x4fb]
mov eax, dword [rbp + 0x4e0]
add al, 0x14
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x4fc], al
movsx ecx, byte [rbp + 0x4fc]
mov eax, dword [rbp + 0x4e0]
add al, 0x15
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x4fd], al
movsx ecx, byte [rbp + 0x4fd]
mov eax, dword [rbp + 0x4e0]
add al, 0x16
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x4fe], al
movsx ecx, byte [rbp + 0x4fe]
mov eax, dword [rbp + 0x4e0]
add al, 0x17
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x4ff], al
movsx ecx, byte [rbp + 0x4ff]
mov eax, dword [rbp + 0x4e0]
add al, 0x18
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x500], al
movsx ecx, byte [rbp + 0x500]
mov eax, dword [rbp + 0x4e0]
add al, 0x19
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x501], al
movsx ecx, byte [rbp + 0x501]
mov eax, dword [rbp + 0x4e0]
add al, 0x1a
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x502], al
movsx ecx, byte [rbp + 0x502]
mov eax, dword [rbp + 0x4e0]
add al, 0x1b
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x503], al
movsx ecx, byte [rbp + 0x503]
mov eax, dword [rbp + 0x4e0]
add al, 0x1c
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x504], al
movsx ecx, byte [rbp + 0x504]
mov eax, dword [rbp + 0x4e0]
add al, 0x1d
xor eax, ecx
xor eax, 0x6c
mov byte [rbp + 0x505], al
movsx ecx, byte [rbp + 0x505]
mov eax, dword [rbp + 0x4e0]
add al, 0x1e
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x506], al
movsx ecx, byte [rbp + 0x506]
mov eax, dword [rbp + 0x4e0]
add al, 0x1f
xor eax, ecx
xor eax, 0x62
mov byte [rbp + 0x507], al
movsx ecx, byte [rbp + 0x507]
mov eax, dword [rbp + 0x4e0]
add al, 0x20
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x508], al
movsx ecx, byte [rbp + 0x508]
mov eax, dword [rbp + 0x4e0]
add al, 0x21
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x509], al
movsx ecx, byte [rbp + 0x509]
mov eax, dword [rbp + 0x4e0]
add al, 0x22
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x50a], al
movsx ecx, byte [rbp + 0x50a]
mov eax, dword [rbp + 0x4e0]
add al, 0x23
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x50b], al
movsx ecx, byte [rbp + 0x50b]
mov eax, dword [rbp + 0x4e0]
add al, 0x24
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x50c], al
movsx ecx, byte [rbp + 0x50c]
mov eax, dword [rbp + 0x4e0]
add al, 0x25
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x50d], al
movsx ecx, byte [rbp + 0x50d]
mov eax, dword [rbp + 0x4e0]
add al, 0x26
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x50e], al
movsx ecx, byte [rbp + 0x50e]
mov eax, dword [rbp + 0x4e0]
add al, 0x27
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x50f], al
movsx ecx, byte [rbp + 0x50f]
mov eax, dword [rbp + 0x4e0]
add al, 0x28
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x510], al
movsx ecx, byte [rbp + 0x510]
mov eax, dword [rbp + 0x4e0]
add al, 0x29
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x511], al
movsx ecx, byte [rbp + 0x511]
mov eax, dword [rbp + 0x4e0]
add al, 0x2a
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x512], al
movsx ecx, byte [rbp + 0x512]
mov eax, dword [rbp + 0x4e0]
add al, 0x2b
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x513], al
movsx ecx, byte [rbp + 0x513]
mov eax, dword [rbp + 0x4e0]
add al, 0x2c
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x514], al
movsx ecx, byte [rbp + 0x514]
mov eax, dword [rbp + 0x4e0]
add al, 0x2d
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x515], al
movsx ecx, byte [rbp + 0x515]
mov eax, dword [rbp + 0x4e0]
add al, 0x2e
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x516], al
movsx ecx, byte [rbp + 0x516]
mov eax, dword [rbp + 0x4e0]
add al, 0x2f
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x517], al
movsx ecx, byte [rbp + 0x517]
mov eax, dword [rbp + 0x4e0]
add al, 0x30
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x518], al
movsx ecx, byte [rbp + 0x518]
mov eax, dword [rbp + 0x4e0]
add al, 0x31
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x519], al
movsx ecx, byte [rbp + 0x519]
mov eax, dword [rbp + 0x4e0]
add al, 0x32
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x51a], al
movsx ecx, byte [rbp + 0x51a]
mov eax, dword [rbp + 0x4e0]
add al, 0x33
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x51b], al
movsx ecx, byte [rbp + 0x51b]
mov eax, dword [rbp + 0x4e0]
add al, 0x34
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x51c], al
movsx ecx, byte [rbp + 0x51c]
mov eax, dword [rbp + 0x4e0]
add al, 0x35
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x51d], al
movsx ecx, byte [rbp + 0x51d]
mov eax, dword [rbp + 0x4e0]
add al, 0x36
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x51e], al
movsx ecx, byte [rbp + 0x51e]
mov eax, dword [rbp + 0x4e0]
add al, 0x37
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x51f], al
movsx ecx, byte [rbp + 0x51f]
mov eax, dword [rbp + 0x4e0]
add al, 0x38
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x520], al
movsx ecx, byte [rbp + 0x520]
mov eax, dword [rbp + 0x4e0]
add al, 0x39
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x521], al
xor eax, eax
mov byte [rbp + 0x522], al
movzx eax, byte [rbp + 0x4e8]
lea rdx, [rbp + 0xdc8]
lea rcx, [rbp + 0x4e0]
call fcn.14016b620
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400595eb
mov rax, qword [rax]
mov rdx, rbx
mov rcx, rax
call fcn.14002a5f0
nop
lea rcx, [rbp + 0xdc8]
call fcn.14001c970
nop
lea rcx, [rbp + 0xda8]
call fcn.14001c970
mov rcx, qword [r14 + 0x1048]
call fcn.1401e16f0
mov rcx, r14
call fcn.1400648c0
test al, al
je 0x140059bb9
xor ecx, ecx
call fcn.1401c6b40
jmp 0x140059bb9
cmp dword [r14 + 0x13e8], 0
je 0x140059bb9
mov rcx, r14
call fcn.140068f30
cmp dword [r14 + 0x13e8], 0
jle 0x140059bb9
mov dword [rbp + 0x690], 0x20
mov eax, dword [rbp + 0x690]
xor eax, 0x7b
add eax, 8
mov byte [rbp + 0x694], al
movsx ecx, byte [rbp + 0x694]
xor ecx, 0x7d
add ecx, 8
mov byte [rbp + 0x695], cl
movsx ecx, byte [rbp + 0x695]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x696], cl
movsx ecx, byte [rbp + 0x696]
xor ecx, 0x47
add ecx, 8
mov byte [rbp + 0x697], cl
movsx ecx, byte [rbp + 0x697]
xor ecx, 0x50
add ecx, 8
mov byte [rbp + 0x698], cl
movsx ecx, byte [rbp + 0x698]
xor ecx, 0x55
add ecx, 8
mov byte [rbp + 0x699], cl
movsx ecx, byte [rbp + 0x699]
xor ecx, 0x28
add ecx, 8
mov byte [rbp + 0x69a], cl
movsx ecx, byte [rbp + 0x69a]
xor ecx, 0x73
add ecx, 8
mov byte [rbp + 0x69b], cl
movsx ecx, byte [rbp + 0x69b]
xor ecx, 0x29
add ecx, 8
mov byte [rbp + 0x69c], cl
movsx ecx, byte [rbp + 0x69c]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x69d], cl
movsx ecx, byte [rbp + 0x69d]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x69e], cl
movsx ecx, byte [rbp + 0x69e]
xor ecx, 0x72
add ecx, 8
mov byte [rbp + 0x69f], cl
movsx ecx, byte [rbp + 0x69f]
xor ecx, 0x65
add ecx, 8
mov byte [rbp + 0x6a0], cl
movsx ecx, byte [rbp + 0x6a0]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6a1], cl
movsx ecx, byte [rbp + 0x6a1]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x6a2], cl
movsx ecx, byte [rbp + 0x6a2]
xor ecx, 0x75
add ecx, 8
mov byte [rbp + 0x6a3], cl
movsx ecx, byte [rbp + 0x6a3]
xor ecx, 0x74
add ecx, 8
mov byte [rbp + 0x6a4], cl
movsx ecx, byte [rbp + 0x6a4]
xor ecx, 0x6f
add ecx, 8
mov byte [rbp + 0x6a5], cl
movsx ecx, byte [rbp + 0x6a5]
xor ecx, 0x2d
add ecx, 8
mov byte [rbp + 0x6a6], cl
movsx ecx, byte [rbp + 0x6a6]
xor ecx, 0x74
add ecx, 8
mov byte [rbp + 0x6a7], cl
movsx ecx, byte [rbp + 0x6a7]
xor ecx, 0x75
add ecx, 8
mov byte [rbp + 0x6a8], cl
movsx ecx, byte [rbp + 0x6a8]
xor ecx, 0x6e
add ecx, 8
mov byte [rbp + 0x6a9], cl
movsx ecx, byte [rbp + 0x6a9]
xor ecx, 0x69
add ecx, 8
mov byte [rbp + 0x6aa], cl
movsx ecx, byte [rbp + 0x6aa]
xor ecx, 0x6e
add ecx, 8
mov byte [rbp + 0x6ab], cl
movsx ecx, byte [rbp + 0x6ab]
xor ecx, 0x67
add ecx, 8
mov byte [rbp + 0x6ac], cl
movsx ecx, byte [rbp + 0x6ac]
xor ecx, 0x2e
add ecx, 8
mov byte [rbp + 0x6ad], cl
movsx ecx, byte [rbp + 0x6ad]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6ae], cl
movsx ecx, byte [rbp + 0x6ae]
xor ecx, 0x48
add ecx, 8
mov byte [rbp + 0x6af], cl
movsx ecx, byte [rbp + 0x6af]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x6b0], cl
movsx ecx, byte [rbp + 0x6b0]
xor ecx, 0x73
add ecx, 8
mov byte [rbp + 0x6b1], cl
movsx ecx, byte [rbp + 0x6b1]
xor ecx, 0x68
add ecx, 8
mov byte [rbp + 0x6b2], cl
movsx ecx, byte [rbp + 0x6b2]
xor ecx, 0x72
add ecx, 8
mov byte [rbp + 0x6b3], cl
movsx ecx, byte [rbp + 0x6b3]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x6b4], cl
movsx ecx, byte [rbp + 0x6b4]
xor ecx, 0x74
add ecx, 8
mov byte [rbp + 0x6b5], cl
movsx ecx, byte [rbp + 0x6b5]
xor ecx, 0x65
add ecx, 8
mov byte [rbp + 0x6b6], cl
movsx ecx, byte [rbp + 0x6b6]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6b7], cl
movsx ecx, byte [rbp + 0x6b7]
xor ecx, 0x6d
add ecx, 8
mov byte [rbp + 0x6b8], cl
movsx ecx, byte [rbp + 0x6b8]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x6b9], cl
movsx ecx, byte [rbp + 0x6b9]
xor ecx, 0x79
add ecx, 8
mov byte [rbp + 0x6ba], cl
movsx ecx, byte [rbp + 0x6ba]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6bb], cl
movsx ecx, byte [rbp + 0x6bb]
xor ecx, 0x62
add ecx, 8
mov byte [rbp + 0x6bc], cl
movsx ecx, byte [rbp + 0x6bc]
xor ecx, 0x65
add ecx, 8
mov byte [rbp + 0x6bd], cl
movsx ecx, byte [rbp + 0x6bd]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6be], cl
movsx ecx, byte [rbp + 0x6be]
xor ecx, 0x6c
add ecx, 8
mov byte [rbp + 0x6bf], cl
movsx ecx, byte [rbp + 0x6bf]
xor ecx, 0x6f
add ecx, 8
mov byte [rbp + 0x6c0], cl
movsx ecx, byte [rbp + 0x6c0]
xor ecx, 0x77
add ecx, 8
mov byte [rbp + 0x6c1], cl
movsx ecx, byte [rbp + 0x6c1]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6c2], cl
movsx ecx, byte [rbp + 0x6c2]
xor ecx, 0x75
add ecx, 8
mov byte [rbp + 0x6c3], cl
movsx ecx, byte [rbp + 0x6c3]
xor ecx, 0x6e
add ecx, 8
mov byte [rbp + 0x6c4], cl
movsx ecx, byte [rbp + 0x6c4]
xor ecx, 0x74
add ecx, 8
mov byte [rbp + 0x6c5], cl
movsx ecx, byte [rbp + 0x6c5]
xor ecx, 0x69
add ecx, 8
mov byte [rbp + 0x6c6], cl
movsx ecx, byte [rbp + 0x6c6]
xor ecx, 0x6c
add ecx, 8
mov byte [rbp + 0x6c7], cl
movsx ecx, byte [rbp + 0x6c7]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6c8], cl
movsx ecx, byte [rbp + 0x6c8]
xor ecx, 0x74
add ecx, 8
mov byte [rbp + 0x6c9], cl
movsx ecx, byte [rbp + 0x6c9]
xor ecx, 0x68
add ecx, 8
mov byte [rbp + 0x6ca], cl
movsx ecx, byte [rbp + 0x6ca]
xor ecx, 0x65
add ecx, 8
mov byte [rbp + 0x6cb], cl
movsx ecx, byte [rbp + 0x6cb]
xor ecx, 0x79
add ecx, 8
mov byte [rbp + 0x6cc], cl
movsx ecx, byte [rbp + 0x6cc]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6cd], cl
movsx ecx, byte [rbp + 0x6cd]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x6ce], cl
movsx ecx, byte [rbp + 0x6ce]
xor ecx, 0x72
add ecx, 8
mov byte [rbp + 0x6cf], cl
movsx ecx, byte [rbp + 0x6cf]
xor ecx, 0x65
add ecx, 8
mov byte [rbp + 0x6d0], cl
movsx ecx, byte [rbp + 0x6d0]
xor ecx, 0x20
add ecx, 8
mov byte [rbp + 0x6d1], cl
movsx ecx, byte [rbp + 0x6d1]
xor ecx, 0x72
add ecx, 8
mov byte [rbp + 0x6d2], cl
movsx ecx, byte [rbp + 0x6d2]
xor ecx, 0x65
add ecx, 8
mov byte [rbp + 0x6d3], cl
movsx ecx, byte [rbp + 0x6d3]
xor ecx, 0x61
add ecx, 8
mov byte [rbp + 0x6d4], cl
movsx ecx, byte [rbp + 0x6d4]
xor ecx, 0x64
add ecx, 8
mov byte [rbp + 0x6d5], cl
movsx ecx, byte [rbp + 0x6d5]
xor ecx, 0x79
add ecx, 8
mov byte [rbp + 0x6d6], cl
movsx ecx, byte [rbp + 0x6d6]
xor ecx, 0x2e
add ecx, 8
mov byte [rbp + 0x6d7], cl
mov byte [rbp + 0x6d8], 0
movzx eax, byte [rbp + 0x694]
lea rdx, [rbp + 0xd68]
lea rcx, [rbp + 0x690]
call fcn.140066f90
nop
cmp qword [rax + 0x18], 0x10
jb 0x140059b9d
mov rax, qword [rax]
lea rdx, [r14 + 0x13e8]
mov rcx, rax
call fcn.140048710
nop
lea rcx, [rbp + 0xd68]
call fcn.14001c970
cmp dword [rsp + 0x34], 2
jne 0x14005a9b3
lea rcx, [0x1407417c8]
call fcn.1400ff750
mov edx, 3
lea r8d, [rdx - 2]
lea rcx, [rbp + 0x130]
call fcn.140049b80
nop
mov r8b, 1
lea rdx, [rsp + 0x60]
mov rcx, qword [r14 + 0x1340]
call fcn.140043390
nop
mov eax, dword [r14 + 0x1a8]
mov dword [rsp + 0x20], eax
movsd xmm3, qword [r14 + 0x1b8]
mov r8d, dword [r14 + 0x1b0]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x60]
call fcn.140043960
test eax, eax
jle 0x140059cca
lea rdx, [rbp + 0xd28]
lea rcx, [rbp + 0x130]
call fcn.140067cf0
mov rbx, rax
mov dword [rbp + 0x7a0], 0x3e
mov dword [rbp + 0x7a4], 0x74
mov ecx, dword [rbp + 0x7a4]
xor ecx, 0x45
mov byte [rbp + 0x7a8], cl
movsx edx, byte [rbp + 0x7a8]
xor edx, 0x43
mov byte [rbp + 0x7a9], dl
xor eax, eax
mov byte [rbp + 0x7aa], al
movzx eax, byte [rbp + 0x7a8]
lea rdx, [rbp + 0xd48]
lea rcx, [rbp + 0x7a0]
call fcn.14012e440
nop
cmp qword [rax + 0x18], 0x10
jb 0x140059ca5
mov rax, qword [rax]
mov rdx, rbx
mov rcx, rax
call fcn.140048c70
nop
lea rcx, [rbp + 0xd48]
call fcn.14001c970
nop
lea rcx, [rbp + 0xd28]
call fcn.14001c970
mov qword [rbp + 0x810], 0xf
mov qword [rbp + 0x808], r15
mov byte [rbp + 0x7f8], 0
mov qword [rbp + 0x7f0], 0xf
mov qword [rbp + 0x7e8], r15
mov byte [rbp + 0x7d8], 0
mov qword [rbp + 0x860], 0xf
mov qword [rbp + 0x858], r15
mov byte [rbp + 0x848], 0
mov qword [rbp + 0x840], 0xf
mov qword [rbp + 0x838], r15
mov byte [rbp + 0x828], 0
lea rcx, [r14 + 0x290]
call fcn.140104c00
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx r15d, byte [rbp + 0x1208]
movzx r12d, byte [rbp + 0x1200]
cmp rbx, rdi
je 0x14005a892
nop word [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov r8, qword [rbx + 8]
mov rdx, qword [rbx]
test r8, r8
je 0x140059d7a
lock inc dword [r8 + 8]
lea rcx, [rsp + 0x50]
call fcn.14001e1b0
nop
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1400ff600
test al, al
je 0x14005a101
cmp qword [rbp + 0x7e8], 0
jne 0x14005a062
mov dword [rbp + 0x5e0], 0x2b
mov eax, dword [rbp + 0x5e0]
add al, 0x2b
movsx ecx, al
xor ecx, 0x65
mov dword [rbp + 0x5e4], ecx
mov eax, dword [rbp + 0x5e4]
mov ecx, dword [rbp + 0x5e0]
xor ecx, eax
xor ecx, 0x47
mov byte [rbp + 0x5e8], cl
movsx ecx, byte [rbp + 0x5e8]
mov eax, dword [rbp + 0x5e0]
inc al
xor eax, ecx
xor eax, 0x50
mov byte [rbp + 0x5e9], al
movsx ecx, byte [rbp + 0x5e9]
mov eax, dword [rbp + 0x5e0]
add al, 2
xor eax, ecx
xor eax, 0x55
mov byte [rbp + 0x5ea], al
movsx ecx, byte [rbp + 0x5ea]
mov eax, dword [rbp + 0x5e0]
add al, 3
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x5eb], al
movsx ecx, byte [rbp + 0x5eb]
mov eax, dword [rbp + 0x5e0]
add al, 4
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5ec], al
movsx ecx, byte [rbp + 0x5ec]
mov eax, dword [rbp + 0x5e0]
add al, 5
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x5ed], al
movsx ecx, byte [rbp + 0x5ed]
mov eax, dword [rbp + 0x5e0]
add al, 6
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x5ee], al
movsx ecx, byte [rbp + 0x5ee]
mov eax, dword [rbp + 0x5e0]
add al, 7
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5ef], al
movsx ecx, byte [rbp + 0x5ef]
mov eax, dword [rbp + 0x5e0]
add al, 8
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x5f0], al
movsx ecx, byte [rbp + 0x5f0]
mov eax, dword [rbp + 0x5e0]
add al, 9
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x5f1], al
movsx ecx, byte [rbp + 0x5f1]
mov eax, dword [rbp + 0x5e0]
add al, 0xa
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5f2], al
movsx ecx, byte [rbp + 0x5f2]
mov eax, dword [rbp + 0x5e0]
add al, 0xb
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x5f3], al
movsx ecx, byte [rbp + 0x5f3]
mov eax, dword [rbp + 0x5e0]
add al, 0xc
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x5f4], al
movsx ecx, byte [rbp + 0x5f4]
mov eax, dword [rbp + 0x5e0]
add al, 0xd
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x5f5], al
movsx ecx, byte [rbp + 0x5f5]
mov eax, dword [rbp + 0x5e0]
add al, 0xe
xor eax, ecx
xor eax, 0x6c
mov byte [rbp + 0x5f6], al
movsx ecx, byte [rbp + 0x5f6]
mov eax, dword [rbp + 0x5e0]
add al, 0xf
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5f7], al
movsx ecx, byte [rbp + 0x5f7]
mov eax, dword [rbp + 0x5e0]
add al, 0x10
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x5f8], al
movsx ecx, byte [rbp + 0x5f8]
mov eax, dword [rbp + 0x5e0]
add al, 0x11
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x5f9], al
movsx ecx, byte [rbp + 0x5f9]
mov eax, dword [rbp + 0x5e0]
add al, 0x12
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x5fa], al
movsx ecx, byte [rbp + 0x5fa]
mov eax, dword [rbp + 0x5e0]
add al, 0x13
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x5fb], al
movsx ecx, byte [rbp + 0x5fb]
mov eax, dword [rbp + 0x5e0]
add al, 0x14
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x5fc], al
movsx ecx, byte [rbp + 0x5fc]
mov eax, dword [rbp + 0x5e0]
add al, 0x15
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5fd], al
xor eax, eax
mov byte [rbp + 0x5fe], al
movzx eax, byte [rbp + 0x5e8]
lea rdx, [rbp + 0xce8]
lea rcx, [rbp + 0x5e0]
call fcn.140066310
nop
mov rsi, qword [rsp + 0x50]
lea r8, [rsi + 8]
mov rdx, rax
lea rcx, [rbp + 0xd08]
call fcn.140046080
mov rdx, rax
lea rcx, [rbp + 0x7d8]
call fcn.14002e050
lea rcx, [rbp + 0xd08]
call fcn.14001c970
nop
lea rcx, [rbp + 0xce8]
jmp 0x14005a0fc
mov dword [rbp + 0x7b0], 0x54
mov dword [rbp + 0x7b4], 0x7f
mov eax, dword [rbp + 0x7b4]
xor eax, 0x78
mov byte [rbp + 0x7b8], al
movsx ecx, byte [rbp + 0x7b8]
xor ecx, 0x74
mov byte [rbp + 0x7b9], cl
xor eax, eax
mov byte [rbp + 0x7ba], al
movzx eax, byte [rbp + 0x7b8]
lea rdx, [rbp + 0xbe8]
lea rcx, [rbp + 0x7b0]
call fcn.14012e440
nop
mov rsi, qword [rsp + 0x50]
lea r8, [rsi + 8]
mov rdx, rax
lea rcx, [rbp + 0xcc8]
call fcn.140046080
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x7d8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0xcc8]
call fcn.14001c970
nop
lea rcx, [rbp + 0xbe8]
call fcn.14001c970
mov rcx, rsi
call fcn.1400ff660
test al, al
jne 0x14005a320
cmp qword [rbp + 0x808], 0
jne 0x14005a281
mov dword [rbp + 0x760], 0x5f
mov eax, dword [rbp + 0x760]
xor eax, 0x50
add eax, 9
mov byte [rbp + 0x764], al
movsx ecx, byte [rbp + 0x764]
xor ecx, 0x61
add ecx, 9
mov byte [rbp + 0x765], cl
movsx ecx, byte [rbp + 0x765]
xor ecx, 0x75
add ecx, 9
mov byte [rbp + 0x766], cl
movsx ecx, byte [rbp + 0x766]
xor ecx, 0x73
add ecx, 9
mov byte [rbp + 0x767], cl
movsx ecx, byte [rbp + 0x767]
xor ecx, 0x65
add ecx, 9
mov byte [rbp + 0x768], cl
movsx ecx, byte [rbp + 0x768]
xor ecx, 0x64
add ecx, 9
mov byte [rbp + 0x769], cl
movsx ecx, byte [rbp + 0x769]
xor ecx, 0x20
add ecx, 9
mov byte [rbp + 0x76a], cl
movsx ecx, byte [rbp + 0x76a]
xor ecx, 0x47
add ecx, 9
mov byte [rbp + 0x76b], cl
movsx ecx, byte [rbp + 0x76b]
xor ecx, 0x50
add ecx, 9
mov byte [rbp + 0x76c], cl
movsx ecx, byte [rbp + 0x76c]
xor ecx, 0x55
add ecx, 9
mov byte [rbp + 0x76d], cl
movsx ecx, byte [rbp + 0x76d]
xor ecx, 0x73
add ecx, 9
mov byte [rbp + 0x76e], cl
movsx ecx, byte [rbp + 0x76e]
xor ecx, 0x3a
add ecx, 9
mov byte [rbp + 0x76f], cl
movsx ecx, byte [rbp + 0x76f]
xor ecx, 0x20
add ecx, 9
mov byte [rbp + 0x770], cl
mov byte [rbp + 0x771], 0
movzx eax, byte [rbp + 0x764]
lea rdx, [rbp + 0xec8]
lea rcx, [rbp + 0x760]
call fcn.1400672a0
nop
mov rsi, qword [rsp + 0x50]
lea r8, [rsi + 8]
mov rdx, rax
lea rcx, [rbp + 0xd88]
call fcn.140046080
mov rdx, rax
lea rcx, [rbp + 0x7f8]
call fcn.14002e050
lea rcx, [rbp + 0xd88]
call fcn.14001c970
nop
lea rcx, [rbp + 0xec8]
jmp 0x14005a31b
mov dword [rbp + 0x7c0], 0x78
mov dword [rbp + 0x7c4], 2
mov eax, dword [rbp + 0x7c4]
xor eax, 0x54
mov byte [rbp + 0x7c8], al
movsx ecx, byte [rbp + 0x7c8]
xor ecx, 0x58
mov byte [rbp + 0x7c9], cl
xor eax, eax
mov byte [rbp + 0x7ca], al
movzx eax, byte [rbp + 0x7c8]
lea rdx, [rbp + 0x908]
lea rcx, [rbp + 0x7c0]
call fcn.14012e440
nop
mov rsi, qword [rsp + 0x50]
lea r8, [rsi + 8]
mov rdx, rax
lea rcx, [rbp + 0x8e8]
call fcn.140046080
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x7f8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x8e8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x908]
call fcn.14001c970
lea rdx, [rbp + 0xa0]
mov rcx, rsi
call fcn.1400660d0
test r12b, r12b
je 0x14005a5c5
mov edx, 0xf
mov eax, dword [rbp + 0xa8]
cmp qword [rbp + 0x858], 0
jne 0x14005a523
test eax, eax
cmovne edx, eax
lea rcx, [rbp + 0x968]
call fcn.1400680f0
mov rsi, rax
mov dword [rbp + 0x710], 0x39
mov ecx, dword [rbp + 0x710]
add cl, 0x39
movsx edx, cl
xor edx, 0x5b
mov dword [rbp + 0x714], edx
mov ecx, dword [rbp + 0x714]
mov edx, dword [rbp + 0x710]
xor edx, ecx
xor edx, 0x43
mov byte [rbp + 0x718], dl
movsx ecx, byte [rbp + 0x718]
mov eax, dword [rbp + 0x710]
inc al
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x719], al
movsx ecx, byte [rbp + 0x719]
mov eax, dword [rbp + 0x710]
add al, 2
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x71a], al
movsx ecx, byte [rbp + 0x71a]
mov eax, dword [rbp + 0x710]
add al, 3
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x71b], al
movsx ecx, byte [rbp + 0x71b]
mov eax, dword [rbp + 0x710]
add al, 4
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x71c], al
movsx ecx, byte [rbp + 0x71c]
mov eax, dword [rbp + 0x710]
add al, 5
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x71d], al
movsx ecx, byte [rbp + 0x71d]
mov eax, dword [rbp + 0x710]
add al, 6
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x71e], al
movsx ecx, byte [rbp + 0x71e]
mov eax, dword [rbp + 0x710]
add al, 7
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x71f], al
movsx ecx, byte [rbp + 0x71f]
mov eax, dword [rbp + 0x710]
add al, 8
xor eax, ecx
xor eax, 0x2d
mov byte [rbp + 0x720], al
movsx ecx, byte [rbp + 0x720]
mov eax, dword [rbp + 0x710]
add al, 9
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x721], al
movsx ecx, byte [rbp + 0x721]
mov eax, dword [rbp + 0x710]
add al, 0xa
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x722], al
movsx ecx, byte [rbp + 0x722]
mov eax, dword [rbp + 0x710]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x723], al
xor eax, eax
mov byte [rbp + 0x724], al
movzx eax, byte [rbp + 0x718]
lea rdx, [rbp + 0x948]
lea rcx, [rbp + 0x710]
call fcn.1400663e0
nop
mov r8, rsi
mov rdx, rax
lea rcx, [rbp + 0x928]
call fcn.140045ff0
mov rdx, rax
lea rcx, [rbp + 0x848]
call fcn.14002e050
lea rcx, [rbp + 0x928]
call fcn.14001c970
nop
lea rcx, [rbp + 0x948]
call fcn.14001c970
nop
lea rcx, [rbp + 0x968]
jmp 0x14005a5c0
test eax, eax
cmovne edx, eax
lea rcx, [rbp + 0x9c8]
call fcn.1400680f0
mov rsi, rax
mov dword [rbp + 0x7d0], 0x1e
mov ecx, dword [rbp + 0x7d0]
xor ecx, 0x2c
add ecx, 0xa
mov byte [rbp + 0x7d4], cl
mov byte [rbp + 0x7d5], 0
movzx ecx, byte [rbp + 0x7d4]
lea rdx, [rbp + 0x9a8]
lea rcx, [rbp + 0x7d0]
call fcn.1400b5850
nop
mov r8, rsi
mov rdx, rax
lea rcx, [rbp + 0x988]
call fcn.140045ff0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x848]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x988]
call fcn.14001c970
nop
lea rcx, [rbp + 0x9a8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x9c8]
call fcn.14001c970
test r15b, r15b
je 0x14005a876
mov edx, 0x1e
mov eax, dword [rbp + 0xac]
cmp qword [rbp + 0x838], 0
jne 0x14005a7d3
test eax, eax
cmovg edx, eax
lea rcx, [rbp + 0xa28]
call fcn.1400680f0
mov rsi, rax
mov dword [rbp + 0x628], 0x4a
mov ecx, dword [rbp + 0x628]
add cl, 0x4a
movsx edx, cl
xor edx, 0x73
mov dword [rbp + 0x62c], edx
mov ecx, dword [rbp + 0x62c]
mov edx, dword [rbp + 0x628]
xor edx, ecx
xor edx, 0x43
mov byte [rbp + 0x630], dl
movsx ecx, byte [rbp + 0x630]
mov eax, dword [rbp + 0x628]
inc al
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x631], al
movsx ecx, byte [rbp + 0x631]
mov eax, dword [rbp + 0x628]
add al, 2
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x632], al
movsx ecx, byte [rbp + 0x632]
mov eax, dword [rbp + 0x628]
add al, 3
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x633], al
movsx ecx, byte [rbp + 0x633]
mov eax, dword [rbp + 0x628]
add al, 4
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x634], al
movsx ecx, byte [rbp + 0x634]
mov eax, dword [rbp + 0x628]
add al, 5
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x635], al
movsx ecx, byte [rbp + 0x635]
mov eax, dword [rbp + 0x628]
add al, 6
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x636], al
movsx ecx, byte [rbp + 0x636]
mov eax, dword [rbp + 0x628]
add al, 7
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x637], al
movsx ecx, byte [rbp + 0x637]
mov eax, dword [rbp + 0x628]
add al, 8
xor eax, ecx
xor eax, 0x2d
mov byte [rbp + 0x638], al
movsx ecx, byte [rbp + 0x638]
mov eax, dword [rbp + 0x628]
add al, 9
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x639], al
movsx ecx, byte [rbp + 0x639]
mov eax, dword [rbp + 0x628]
add al, 0xa
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x63a], al
movsx ecx, byte [rbp + 0x63a]
mov eax, dword [rbp + 0x628]
add al, 0xb
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x63b], al
movsx ecx, byte [rbp + 0x63b]
mov eax, dword [rbp + 0x628]
add al, 0xc
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x63c], al
xor eax, eax
mov byte [rbp + 0x63d], al
movzx eax, byte [rbp + 0x630]
lea rdx, [rbp + 0xa08]
lea rcx, [rbp + 0x628]
call fcn.1400f69f0
nop
mov r8, rsi
mov rdx, rax
lea rcx, [rbp + 0x9e8]
call fcn.140045ff0
mov rdx, rax
lea rcx, [rbp + 0x828]
call fcn.14002e050
lea rcx, [rbp + 0x9e8]
call fcn.14001c970
nop
lea rcx, [rbp + 0xa08]
call fcn.14001c970
nop
lea rcx, [rbp + 0xa28]
jmp 0x14005a870
test eax, eax
cmovg edx, eax
lea rcx, [rbp + 0xa88]
call fcn.1400680f0
mov rsi, rax
mov dword [rbp + 0x788], 0x7a
mov ecx, dword [rbp + 0x788]
xor ecx, 0x2c
add ecx, 0xb
mov byte [rbp + 0x78c], cl
mov byte [rbp + 0x78d], 0
movzx ecx, byte [rbp + 0x78c]
lea rdx, [rbp + 0xa68]
lea rcx, [rbp + 0x788]
call fcn.140067360
nop
mov r8, rsi
mov rdx, rax
lea rcx, [rbp + 0xa48]
call fcn.140045ff0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x828]
call fcn.14001ec90
nop
lea rcx, [rbp + 0xa48]
call fcn.14001c970
nop
lea rcx, [rbp + 0xa68]
call fcn.14001c970
nop
lea rcx, [rbp + 0xa88]
call fcn.14001c970
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14005a885
call fcn.14004cd10
add rbx, 0x10
cmp rbx, rdi
jne 0x140059d60
cmp qword [rbp + 0x7e8], 0
je 0x14005a8b8
lea rcx, [rbp + 0x7d8]
cmp qword [rbp + 0x7f0], 0x10
cmovae rcx, qword [rbp + 0x7d8]
call fcn.14002a110
cmp qword [rbp + 0x808], 0
je 0x14005a8de
lea rcx, [rbp + 0x7f8]
cmp qword [rbp + 0x810], 0x10
cmovae rcx, qword [rbp + 0x7f8]
call fcn.1400482e0
test r12b, r12b
je 0x14005a8ff
lea rcx, [rbp + 0x848]
cmp qword [rbp + 0x860], 0x10
cmovae rcx, qword [rbp + 0x848]
call fcn.140048440
test r15b, r15b
je 0x14005a921
lea rcx, [rbp + 0x828]
cmp qword [rbp + 0x840], 0x10
cmovae rcx, qword [rbp + 0x828]
call fcn.140048440
nop
lea rcx, [rbp + 0x828]
call fcn.14001c970
nop
lea rcx, [rbp + 0x848]
call fcn.14001c970
nop
lea rcx, [rbp + 0x7d8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x7f8]
call fcn.14001c970
nop
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14005a988
mov r8, qword [rsp + 0x70]
sub r8, rdx
sar r8, 5
lea rcx, [rsp + 0x60]
call fcn.140052850
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor r15d, r15d
mov qword [rsp + 0x70], r15
jmp 0x14005a98b
xor r15d, r15d
lea rcx, [rbp + 0x1c8]
call fcn.14004bb20
nop
lea rax, [0x1403d0630]
mov qword [rbp + 0x1c8], rax
lea rcx, [rbp + 0x1c8]
call fcn.14032dce0
nop
lea rdx, [rbp + 0x60]
lea rcx, [r14 + 0x290]
call fcn.140104760
mov qword [rsp + 0x78], 0
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x78], r15d
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r15
cmp qword [r14 + 0x1048], 0
je 0x14005aa27
lea rdx, [rbp + 0x230]
lea rcx, [r14 + 0x290]
call fcn.140104650
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x68], xmm0
movsd xmm1, qword [rax + 0x30]
movsd qword [rbp - 0x58], xmm1
lea rcx, [rbp + 0xaa8]
call fcn.140055570
nop
mov r8, rax
lea rdx, [rbp + 0x60]
mov rcx, r14
call fcn.1400562c0
nop
lea rcx, [rbp + 0xaa8]
call fcn.14001c970
cmp qword [r14 + 0x1048], 0
je 0x14005aa8b
lea rdx, [rbp + 0xac8]
mov rcx, qword [r14 + 0x1048]
call fcn.14004e490
nop
mov r8, rax
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.1400562c0
nop
lea rcx, [rbp + 0xac8]
call fcn.14001c970
mov rdx, qword [r14 + 0xf90]
test rdx, rdx
je 0x14005adc0
lea rcx, [rbp + 0xb28]
call fcn.1402067d0
mov rbx, rax
lea rcx, [rbp + 0xb08]
call fcn.140055570
mov rdi, rax
mov dword [rbp + 0x728], 0xb
mov dword [rbp + 0x72c], 0xc
mov ecx, dword [rbp + 0x72c]
xor ecx, 0x70
mov byte [rbp + 0x730], cl
movsx edx, byte [rbp + 0x730]
xor edx, 0x76
mov byte [rbp + 0x731], dl
movsx eax, byte [rbp + 0x731]
xor eax, 0x31
mov byte [rbp + 0x732], al
movsx ecx, byte [rbp + 0x732]
xor ecx, 0x2b
mov byte [rbp + 0x733], cl
movsx ecx, byte [rbp + 0x733]
xor ecx, 0x46
mov byte [rbp + 0x734], cl
movsx ecx, byte [rbp + 0x734]
xor ecx, 0x6a
mov byte [rbp + 0x735], cl
movsx ecx, byte [rbp + 0x735]
xor ecx, 0x73
mov byte [rbp + 0x736], cl
movsx ecx, byte [rbp + 0x736]
xor ecx, 0x62
mov byte [rbp + 0x737], cl
movsx ecx, byte [rbp + 0x737]
xor ecx, 0x66
mov byte [rbp + 0x738], cl
movsx ecx, byte [rbp + 0x738]
xor ecx, 0x7e
mov byte [rbp + 0x739], cl
movsx ecx, byte [rbp + 0x739]
xor ecx, 0x66
mov byte [rbp + 0x73a], cl
movsx ecx, byte [rbp + 0x73a]
xor ecx, 0x2b
mov byte [rbp + 0x73b], cl
movsx ecx, byte [rbp + 0x73b]
xor ecx, 0x6f
mov byte [rbp + 0x73c], cl
movsx ecx, byte [rbp + 0x73c]
xor ecx, 0x62
mov byte [rbp + 0x73d], cl
movsx ecx, byte [rbp + 0x73d]
xor ecx, 0x6d
mov byte [rbp + 0x73e], cl
movsx ecx, byte [rbp + 0x73e]
xor ecx, 0x6d
mov byte [rbp + 0x73f], cl
movsx ecx, byte [rbp + 0x73f]
xor ecx, 0x62
mov byte [rbp + 0x740], cl
movsx ecx, byte [rbp + 0x740]
xor ecx, 0x68
mov byte [rbp + 0x741], cl
movsx ecx, byte [rbp + 0x741]
xor ecx, 0x7e
mov byte [rbp + 0x742], cl
movsx ecx, byte [rbp + 0x742]
xor ecx, 0x67
mov byte [rbp + 0x743], cl
movsx ecx, byte [rbp + 0x743]
xor ecx, 0x7f
mov byte [rbp + 0x744], cl
movsx ecx, byte [rbp + 0x744]
xor ecx, 0x72
mov byte [rbp + 0x745], cl
movsx ecx, byte [rbp + 0x745]
xor ecx, 0x2b
mov byte [rbp + 0x746], cl
movsx ecx, byte [rbp + 0x746]
xor ecx, 0x64
mov byte [rbp + 0x747], cl
movsx ecx, byte [rbp + 0x747]
xor ecx, 0x6d
mov byte [rbp + 0x748], cl
movsx ecx, byte [rbp + 0x748]
xor ecx, 0x2b
mov byte [rbp + 0x749], cl
movsx ecx, byte [rbp + 0x749]
xor ecx, 0x6d
mov byte [rbp + 0x74a], cl
movsx ecx, byte [rbp + 0x74a]
xor ecx, 0x64
mov byte [rbp + 0x74b], cl
movsx ecx, byte [rbp + 0x74b]
xor ecx, 0x7e
mov byte [rbp + 0x74c], cl
movsx ecx, byte [rbp + 0x74c]
xor ecx, 0x65
mov byte [rbp + 0x74d], cl
movsx ecx, byte [rbp + 0x74d]
xor ecx, 0x6f
mov byte [rbp + 0x74e], cl
movsx ecx, byte [rbp + 0x74e]
xor ecx, 0x2b
mov byte [rbp + 0x74f], cl
movsx ecx, byte [rbp + 0x74f]
xor ecx, 0x78
mov byte [rbp + 0x750], cl
movsx ecx, byte [rbp + 0x750]
xor ecx, 0x63
mov byte [rbp + 0x751], cl
movsx ecx, byte [rbp + 0x751]
xor ecx, 0x6a
mov byte [rbp + 0x752], cl
movsx ecx, byte [rbp + 0x752]
xor ecx, 0x79
mov byte [rbp + 0x753], cl
movsx ecx, byte [rbp + 0x753]
xor ecx, 0x6e
mov byte [rbp + 0x754], cl
movsx ecx, byte [rbp + 0x754]
xor ecx, 0x31
mov byte [rbp + 0x755], cl
movsx ecx, byte [rbp + 0x755]
xor ecx, 0x2b
mov byte [rbp + 0x756], cl
movsx ecx, byte [rbp + 0x756]
xor ecx, 0x70
mov byte [rbp + 0x757], cl
movsx ecx, byte [rbp + 0x757]
xor ecx, 0x76
mov byte [rbp + 0x758], cl
xor eax, eax
mov byte [rbp + 0x759], al
movzx eax, byte [rbp + 0x730]
lea rdx, [rbp + 0xae8]
lea rcx, [rbp + 0x728]
call fcn.140067c20
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005ad89
mov rax, qword [rax]
mov r9, rbx
mov r8, rdi
mov rdx, rax
mov cl, 1
call fcn.140049000
nop
lea rcx, [rbp + 0xae8]
call fcn.14001c970
nop
lea rcx, [rbp + 0xb08]
call fcn.14001c970
nop
lea rcx, [rbp + 0xb28]
call fcn.14001c970
mov rcx, r14
call fcn.14004e330
mov rbx, rax
lea rdx, [rbp + 0xb88]
mov r15, qword [rbp - 0x50]
mov rcx, r15
call fcn.1401011d0
mov rdi, rax
lea rcx, [rbp + 0xb68]
call fcn.140055570
mov rsi, rax
mov dword [rbp + 0x5b8], 0x46
mov ecx, dword [rbp + 0x5b8]
add cl, 0x46
movsx edx, cl
xor edx, 0x44
mov dword [rbp + 0x5bc], edx
mov ecx, dword [rbp + 0x5bc]
mov edx, dword [rbp + 0x5b8]
xor edx, ecx
xor edx, 0x7b
mov byte [rbp + 0x5c0], dl
movsx ecx, byte [rbp + 0x5c0]
mov eax, dword [rbp + 0x5b8]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x5c1], al
movsx ecx, byte [rbp + 0x5c1]
mov eax, dword [rbp + 0x5b8]
add al, 2
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x5c2], al
movsx ecx, byte [rbp + 0x5c2]
mov eax, dword [rbp + 0x5b8]
add al, 3
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5c3], al
movsx ecx, byte [rbp + 0x5c3]
mov eax, dword [rbp + 0x5b8]
add al, 4
xor eax, ecx
xor eax, 0x41
mov byte [rbp + 0x5c4], al
movsx ecx, byte [rbp + 0x5c4]
mov eax, dword [rbp + 0x5b8]
add al, 5
xor eax, ecx
xor eax, 0x76
mov byte [rbp + 0x5c5], al
movsx ecx, byte [rbp + 0x5c5]
mov eax, dword [rbp + 0x5b8]
add al, 6
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5c6], al
movsx ecx, byte [rbp + 0x5c6]
mov eax, dword [rbp + 0x5b8]
add al, 7
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x5c7], al
movsx ecx, byte [rbp + 0x5c7]
mov eax, dword [rbp + 0x5b8]
add al, 8
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x5c8], al
movsx ecx, byte [rbp + 0x5c8]
mov eax, dword [rbp + 0x5b8]
add al, 9
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x5c9], al
movsx ecx, byte [rbp + 0x5c9]
mov eax, dword [rbp + 0x5b8]
add al, 0xa
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5ca], al
movsx ecx, byte [rbp + 0x5ca]
mov eax, dword [rbp + 0x5b8]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5cb], al
movsx ecx, byte [rbp + 0x5cb]
mov eax, dword [rbp + 0x5b8]
add al, 0xc
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x5cc], al
movsx ecx, byte [rbp + 0x5cc]
mov eax, dword [rbp + 0x5b8]
add al, 0xd
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x5cd], al
movsx ecx, byte [rbp + 0x5cd]
mov eax, dword [rbp + 0x5b8]
add al, 0xe
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5ce], al
movsx ecx, byte [rbp + 0x5ce]
mov eax, dword [rbp + 0x5b8]
add al, 0xf
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5cf], al
movsx ecx, byte [rbp + 0x5cf]
mov eax, dword [rbp + 0x5b8]
add al, 0x10
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x5d0], al
movsx ecx, byte [rbp + 0x5d0]
mov eax, dword [rbp + 0x5b8]
add al, 0x11
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5d1], al
movsx ecx, byte [rbp + 0x5d1]
mov eax, dword [rbp + 0x5b8]
add al, 0x12
xor eax, ecx
xor eax, 0x28
mov byte [rbp + 0x5d2], al
movsx ecx, byte [rbp + 0x5d2]
mov eax, dword [rbp + 0x5b8]
add al, 0x13
xor eax, ecx
xor eax, 0x35
mov byte [rbp + 0x5d3], al
movsx ecx, byte [rbp + 0x5d3]
mov eax, dword [rbp + 0x5b8]
add al, 0x14
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5d4], al
movsx ecx, byte [rbp + 0x5d4]
mov eax, dword [rbp + 0x5b8]
add al, 0x15
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x5d5], al
movsx ecx, byte [rbp + 0x5d5]
mov eax, dword [rbp + 0x5b8]
add al, 0x16
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x5d6], al
movsx ecx, byte [rbp + 0x5d6]
mov eax, dword [rbp + 0x5b8]
add al, 0x17
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x5d7], al
movsx ecx, byte [rbp + 0x5d7]
mov eax, dword [rbp + 0x5b8]
add al, 0x18
xor eax, ecx
xor eax, 0x29
mov byte [rbp + 0x5d8], al
movsx ecx, byte [rbp + 0x5d8]
mov eax, dword [rbp + 0x5b8]
add al, 0x19
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x5d9], al
movsx ecx, byte [rbp + 0x5d9]
mov eax, dword [rbp + 0x5b8]
add al, 0x1a
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5da], al
movsx ecx, byte [rbp + 0x5da]
mov eax, dword [rbp + 0x5b8]
add al, 0x1b
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x5db], al
movsx ecx, byte [rbp + 0x5db]
mov eax, dword [rbp + 0x5b8]
add al, 0x1c
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x5dc], al
xor eax, eax
mov byte [rbp + 0x5dd], al
movzx eax, byte [rbp + 0x5c0]
lea rdx, [rbp + 0xb48]
lea rcx, [rbp + 0x5b8]
call fcn.140074340
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005b12b
mov rax, qword [rax]
mov r9, rdi
mov r8, rsi
mov rdx, rax
mov cl, 1
call fcn.140049000
nop
lea rcx, [rbp + 0xb48]
call fcn.14001c970
nop
lea rcx, [rbp + 0xb68]
call fcn.14001c970
nop
lea rcx, [rbp + 0xb88]
call fcn.14001c970
cmp rbx, 0x3c
jbe 0x14005b198
lea rcx, [rbp + 0xba8]
call fcn.140055570
nop
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, [rbp + 0x60]
mov dl, 1
mov rcx, r14
call fcn.140055be0
nop
lea rcx, [rbp + 0xba8]
call fcn.14001c970
cmp qword [r14 + 0x1408], 0
je 0x14005b548
test r13d, r13d
je 0x14005b548
mov edx, r13d
mov rcx, qword [r14 + 0x1408]
call fcn.140021dd0
xorps xmm2, xmm2
ucomisd xmm0, xmm2
jp 0x14005b1cd
je 0x14005b539
mov rax, qword [r15 + 0x18]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x14005b1e6
addsd xmm1, qword [0x1403ceda8]
divsd xmm1, qword [0x1403ced90]
ucomisd xmm1, xmm2
jp 0x14005b1fa
je 0x14005b539
mulsd xmm0, xmm1
divsd xmm0, qword [0x1403ced70]
movsd qword [rbp - 0x48], xmm0
lea rcx, [rbp + 0xee8]
call fcn.140055570
mov rdi, rax
mov dword [rbp + 0x6e0], 0x17
mov ecx, dword [rbp + 0x6e0]
xor ecx, 0x7b
add ecx, 9
mov byte [rbp + 0x6e4], cl
movsx edx, byte [rbp + 0x6e4]
xor edx, 0x7d
add edx, 9
mov byte [rbp + 0x6e5], dl
movsx ecx, byte [rbp + 0x6e5]
xor ecx, 0x3a
add ecx, 9
mov byte [rbp + 0x6e6], cl
movsx ecx, byte [rbp + 0x6e6]
xor ecx, 0x20
add ecx, 9
mov byte [rbp + 0x6e7], cl
movsx ecx, byte [rbp + 0x6e7]
xor ecx, 0x45
add ecx, 9
mov byte [rbp + 0x6e8], cl
movsx ecx, byte [rbp + 0x6e8]
xor ecx, 0x73
add ecx, 9
mov byte [rbp + 0x6e9], cl
movsx ecx, byte [rbp + 0x6e9]
xor ecx, 0x74
add ecx, 9
mov byte [rbp + 0x6ea], cl
movsx ecx, byte [rbp + 0x6ea]
xor ecx, 0x69
add ecx, 9
mov byte [rbp + 0x6eb], cl
movsx ecx, byte [rbp + 0x6eb]
xor ecx, 0x6d
add ecx, 9
mov byte [rbp + 0x6ec], cl
movsx ecx, byte [rbp + 0x6ec]
xor ecx, 0x61
add ecx, 9
mov byte [rbp + 0x6ed], cl
movsx ecx, byte [rbp + 0x6ed]
xor ecx, 0x74
add ecx, 9
mov byte [rbp + 0x6ee], cl
movsx ecx, byte [rbp + 0x6ee]
xor ecx, 0x65
add ecx, 9
mov byte [rbp + 0x6ef], cl
movsx ecx, byte [rbp + 0x6ef]
xor ecx, 0x64
add ecx, 9
mov byte [rbp + 0x6f0], cl
movsx ecx, byte [rbp + 0x6f0]
xor ecx, 0x20
add ecx, 9
mov byte [rbp + 0x6f1], cl
movsx ecx, byte [rbp + 0x6f1]
xor ecx, 0x69
add ecx, 9
mov byte [rbp + 0x6f2], cl
movsx ecx, byte [rbp + 0x6f2]
xor ecx, 0x6e
add ecx, 9
mov byte [rbp + 0x6f3], cl
movsx ecx, byte [rbp + 0x6f3]
xor ecx, 0x63
add ecx, 9
mov byte [rbp + 0x6f4], cl
movsx ecx, byte [rbp + 0x6f4]
xor ecx, 0x6f
add ecx, 9
mov byte [rbp + 0x6f5], cl
movsx ecx, byte [rbp + 0x6f5]
xor ecx, 0x6d
add ecx, 9
mov byte [rbp + 0x6f6], cl
movsx ecx, byte [rbp + 0x6f6]
xor ecx, 0x65
add ecx, 9
mov byte [rbp + 0x6f7], cl
movsx ecx, byte [rbp + 0x6f7]
xor ecx, 0x3a
add ecx, 9
mov byte [rbp + 0x6f8], cl
movsx ecx, byte [rbp + 0x6f8]
xor ecx, 0x20
add ecx, 9
mov byte [rbp + 0x6f9], cl
movsx ecx, byte [rbp + 0x6f9]
xor ecx, 0x7b
add ecx, 9
mov byte [rbp + 0x6fa], cl
movsx ecx, byte [rbp + 0x6fa]
xor ecx, 0x3a
add ecx, 9
mov byte [rbp + 0x6fb], cl
movsx ecx, byte [rbp + 0x6fb]
xor ecx, 0x34
add ecx, 9
mov byte [rbp + 0x6fc], cl
movsx ecx, byte [rbp + 0x6fc]
xor ecx, 0x2e
add ecx, 9
mov byte [rbp + 0x6fd], cl
movsx ecx, byte [rbp + 0x6fd]
xor ecx, 0x32
add ecx, 9
mov byte [rbp + 0x6fe], cl
movsx ecx, byte [rbp + 0x6fe]
xor ecx, 0x66
add ecx, 9
mov byte [rbp + 0x6ff], cl
movsx ecx, byte [rbp + 0x6ff]
xor ecx, 0x7d
add ecx, 9
mov byte [rbp + 0x700], cl
movsx ecx, byte [rbp + 0x700]
xor ecx, 0x20
add ecx, 9
mov byte [rbp + 0x701], cl
movsx ecx, byte [rbp + 0x701]
xor ecx, 0x55
add ecx, 9
mov byte [rbp + 0x702], cl
movsx ecx, byte [rbp + 0x702]
xor ecx, 0x53
add ecx, 9
mov byte [rbp + 0x703], cl
movsx ecx, byte [rbp + 0x703]
xor ecx, 0x44
add ecx, 9
mov byte [rbp + 0x704], cl
movsx ecx, byte [rbp + 0x704]
xor ecx, 0x2f
add ecx, 9
mov byte [rbp + 0x705], cl
movsx ecx, byte [rbp + 0x705]
xor ecx, 0x64
add ecx, 9
mov byte [rbp + 0x706], cl
movsx ecx, byte [rbp + 0x706]
xor ecx, 0x61
add ecx, 9
mov byte [rbp + 0x707], cl
movsx ecx, byte [rbp + 0x707]
xor ecx, 0x79
add ecx, 9
mov byte [rbp + 0x708], cl
mov byte [rbp + 0x709], 0
movzx eax, byte [rbp + 0x6e4]
lea rdx, [rbp + 0xbc8]
lea rcx, [rbp + 0x6e0]
call fcn.140066b20
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005b50e
mov rax, qword [rax]
lea r9, [rbp - 0x48]
mov r8, rdi
mov rdx, rax
mov cl, 1
call fcn.140048f10
nop
lea rcx, [rbp + 0xbc8]
call fcn.14001c970
nop
lea rcx, [rbp + 0xee8]
call fcn.14001c970
mov edx, r13d
mov rcx, qword [r14 + 0x1408]
call fcn.140023ea0
cmp qword [r14 + 0x1048], 0
je 0x14005b8f1
lea rdx, [rbp + 0xc48]
mov rcx, qword [rbp - 0x40]
call fcn.1401011d0
mov rdi, rax
lea rdx, [rbp + 0xc28]
mov rcx, qword [r14 + 0x1048]
call fcn.14004e490
mov rsi, rax
mov dword [rbp + 0x590], 0x4c
mov ecx, dword [rbp + 0x590]
add cl, 0x4c
movsx edx, cl
xor edx, 0x1e
mov dword [rbp + 0x594], edx
mov ecx, dword [rbp + 0x594]
mov edx, dword [rbp + 0x590]
xor edx, ecx
xor edx, 0x7b
mov byte [rbp + 0x598], dl
movsx ecx, byte [rbp + 0x598]
mov eax, dword [rbp + 0x590]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x599], al
movsx ecx, byte [rbp + 0x599]
mov eax, dword [rbp + 0x590]
add al, 2
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x59a], al
movsx ecx, byte [rbp + 0x59a]
mov eax, dword [rbp + 0x590]
add al, 3
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x59b], al
movsx ecx, byte [rbp + 0x59b]
mov eax, dword [rbp + 0x590]
add al, 4
xor eax, ecx
xor eax, 0x41
mov byte [rbp + 0x59c], al
movsx ecx, byte [rbp + 0x59c]
mov eax, dword [rbp + 0x590]
add al, 5
xor eax, ecx
xor eax, 0x76
mov byte [rbp + 0x59d], al
movsx ecx, byte [rbp + 0x59d]
mov eax, dword [rbp + 0x590]
add al, 6
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x59e], al
movsx ecx, byte [rbp + 0x59e]
mov eax, dword [rbp + 0x590]
add al, 7
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x59f], al
movsx ecx, byte [rbp + 0x59f]
mov eax, dword [rbp + 0x590]
add al, 8
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x5a0], al
movsx ecx, byte [rbp + 0x5a0]
mov eax, dword [rbp + 0x590]
add al, 9
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x5a1], al
movsx ecx, byte [rbp + 0x5a1]
mov eax, dword [rbp + 0x590]
add al, 0xa
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5a2], al
movsx ecx, byte [rbp + 0x5a2]
mov eax, dword [rbp + 0x590]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5a3], al
movsx ecx, byte [rbp + 0x5a3]
mov eax, dword [rbp + 0x590]
add al, 0xc
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x5a4], al
movsx ecx, byte [rbp + 0x5a4]
mov eax, dword [rbp + 0x590]
add al, 0xd
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x5a5], al
movsx ecx, byte [rbp + 0x5a5]
mov eax, dword [rbp + 0x590]
add al, 0xe
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5a6], al
movsx ecx, byte [rbp + 0x5a6]
mov eax, dword [rbp + 0x590]
add al, 0xf
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x5a7], al
movsx ecx, byte [rbp + 0x5a7]
mov eax, dword [rbp + 0x590]
add al, 0x10
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x5a8], al
movsx ecx, byte [rbp + 0x5a8]
mov eax, dword [rbp + 0x590]
add al, 0x11
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5a9], al
movsx ecx, byte [rbp + 0x5a9]
mov eax, dword [rbp + 0x590]
add al, 0x12
xor eax, ecx
xor eax, 0x28
mov byte [rbp + 0x5aa], al
movsx ecx, byte [rbp + 0x5aa]
mov eax, dword [rbp + 0x590]
add al, 0x13
xor eax, ecx
xor eax, 0x35
mov byte [rbp + 0x5ab], al
movsx ecx, byte [rbp + 0x5ab]
mov eax, dword [rbp + 0x590]
add al, 0x14
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5ac], al
movsx ecx, byte [rbp + 0x5ac]
mov eax, dword [rbp + 0x590]
add al, 0x15
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x5ad], al
movsx ecx, byte [rbp + 0x5ad]
mov eax, dword [rbp + 0x590]
add al, 0x16
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x5ae], al
movsx ecx, byte [rbp + 0x5ae]
mov eax, dword [rbp + 0x590]
add al, 0x17
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x5af], al
movsx ecx, byte [rbp + 0x5af]
mov eax, dword [rbp + 0x590]
add al, 0x18
xor eax, ecx
xor eax, 0x29
mov byte [rbp + 0x5b0], al
movsx ecx, byte [rbp + 0x5b0]
mov eax, dword [rbp + 0x590]
add al, 0x19
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x5b1], al
movsx ecx, byte [rbp + 0x5b1]
mov eax, dword [rbp + 0x590]
add al, 0x1a
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x5b2], al
movsx ecx, byte [rbp + 0x5b2]
mov eax, dword [rbp + 0x590]
add al, 0x1b
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x5b3], al
movsx ecx, byte [rbp + 0x5b3]
mov eax, dword [rbp + 0x590]
add al, 0x1c
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x5b4], al
xor eax, eax
mov byte [rbp + 0x5b5], al
movzx eax, byte [rbp + 0x598]
lea rdx, [rbp + 0xc08]
lea rcx, [rbp + 0x590]
call fcn.140074340
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005b8ba
mov rax, qword [rax]
mov r9, rdi
mov r8, rsi
mov rdx, rax
xor ecx, ecx
call fcn.140049000
nop
lea rcx, [rbp + 0xc08]
call fcn.14001c970
nop
lea rcx, [rbp + 0xc28]
call fcn.14001c970
nop
lea rcx, [rbp + 0xc48]
call fcn.14001c970
cmp rbx, 0x3c
jbe 0x14005b939
cmp qword [r14 + 0x1048], 0
je 0x14005b939
lea rdx, [rbp + 0xc68]
mov rcx, qword [r14 + 0x1048]
call fcn.14004e490
nop
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, [rsp + 0x78]
xor edx, edx
mov rcx, r14
call fcn.140055be0
nop
lea rcx, [rbp + 0xc68]
call fcn.14001c970
mov rcx, r14
call fcn.140055380
cmp rax, 0x3c
jbe 0x14005bc3b
mov rdx, rax
lea rcx, [rbp + 0xca8]
call fcn.1401c2b70
mov rbx, rax
mov dword [rbp + 0x600], 0x7e
mov ecx, dword [rbp + 0x600]
add cl, 0x7e
movsx edx, cl
xor edx, 0x1c
mov dword [rbp + 0x604], edx
mov ecx, dword [rbp + 0x604]
mov edx, dword [rbp + 0x600]
xor edx, ecx
xor edx, 0x4d
mov byte [rbp + 0x608], dl
movsx ecx, byte [rbp + 0x608]
mov eax, dword [rbp + 0x600]
inc al
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x609], al
movsx ecx, byte [rbp + 0x609]
mov eax, dword [rbp + 0x600]
add al, 2
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x60a], al
movsx ecx, byte [rbp + 0x60a]
mov eax, dword [rbp + 0x600]
add al, 3
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x60b], al
movsx ecx, byte [rbp + 0x60b]
mov eax, dword [rbp + 0x600]
add al, 4
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x60c], al
movsx ecx, byte [rbp + 0x60c]
mov eax, dword [rbp + 0x600]
add al, 5
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x60d], al
movsx ecx, byte [rbp + 0x60d]
mov eax, dword [rbp + 0x600]
add al, 6
xor eax, ecx
xor eax, 0x77
mov byte [rbp + 0x60e], al
movsx ecx, byte [rbp + 0x60e]
mov eax, dword [rbp + 0x600]
add al, 7
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x60f], al
movsx ecx, byte [rbp + 0x60f]
mov eax, dword [rbp + 0x600]
add al, 8
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x610], al
movsx ecx, byte [rbp + 0x610]
mov eax, dword [rbp + 0x600]
add al, 9
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x611], al
movsx ecx, byte [rbp + 0x611]
mov eax, dword [rbp + 0x600]
add al, 0xa
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x612], al
movsx ecx, byte [rbp + 0x612]
mov eax, dword [rbp + 0x600]
add al, 0xb
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x613], al
movsx ecx, byte [rbp + 0x613]
mov eax, dword [rbp + 0x600]
add al, 0xc
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x614], al
movsx ecx, byte [rbp + 0x614]
mov eax, dword [rbp + 0x600]
add al, 0xd
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x615], al
movsx ecx, byte [rbp + 0x615]
mov eax, dword [rbp + 0x600]
add al, 0xe
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x616], al
movsx ecx, byte [rbp + 0x616]
mov eax, dword [rbp + 0x600]
add al, 0xf
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x617], al
movsx ecx, byte [rbp + 0x617]
mov eax, dword [rbp + 0x600]
add al, 0x10
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x618], al
movsx ecx, byte [rbp + 0x618]
mov eax, dword [rbp + 0x600]
add al, 0x11
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x619], al
movsx ecx, byte [rbp + 0x619]
mov eax, dword [rbp + 0x600]
add al, 0x12
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x61a], al
movsx ecx, byte [rbp + 0x61a]
mov eax, dword [rbp + 0x600]
add al, 0x13
xor eax, ecx
xor eax, 0x72
mov byte [rbp + 0x61b], al
movsx ecx, byte [rbp + 0x61b]
mov eax, dword [rbp + 0x600]
add al, 0x14
xor eax, ecx
xor eax, 0x3a
mov byte [rbp + 0x61c], al
movsx ecx, byte [rbp + 0x61c]
mov eax, dword [rbp + 0x600]
add al, 0x15
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x61d], al
movsx ecx, byte [rbp + 0x61d]
mov eax, dword [rbp + 0x600]
add al, 0x16
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x61e], al
movsx ecx, byte [rbp + 0x61e]
mov eax, dword [rbp + 0x600]
add al, 0x17
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x61f], al
xor eax, eax
mov byte [rbp + 0x620], al
movzx eax, byte [rbp + 0x608]
lea rdx, [rbp + 0xc88]
lea rcx, [rbp + 0x600]
call fcn.1401084e0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005bc16
mov rax, qword [rax]
mov rdx, rbx
mov rcx, rax
call fcn.140048d50
nop
lea rcx, [rbp + 0xc88]
call fcn.14001c970
nop
lea rcx, [rbp + 0xca8]
call fcn.14001c970
lea rdx, [0x1403d2a5c]
mov cl, 1
call fcn.140048010
mov rcx, qword [rbp + 0x1190]
xor rcx, rsp
call fcn.14034de80
mov rbx, qword [rsp + 0x12e8]
add rsp, 0x12a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret