Function at 0x1400607b0
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x9a0
mov qword [rax - 0x6e8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140735840]
xor rax, rsp
mov qword [rsp + 0x990], rax
mov rsi, rcx
mov qword [rsp + 0x128], rcx
add rcx, 0x798
call fcn.1401ea0f0
test al, al
jne 0x14006080d
mov eax, 5
jmp 0x14006488f
xor bl, bl
lea rdi, [rsi + 0x250]
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov r15d, 1
cmp rax, rcx
je 0x140060846
nop dword [rax + rax]
movzx ebx, bl
cmp dword [rax + 0x10], r15d
cmove ebx, r15d
add rax, 0x8c
cmp rax, rcx
jne 0x140060830
cmp qword [rsi + 0x1048], 0
je 0x1400610e2
test bl, bl
jne 0x1400610a5
mov rbx, qword [rsi + 0x1048]
xor r14d, r14d
mov qword [rsi + 0x1048], r14
test rbx, rbx
je 0x140060887
mov rcx, rbx
call fcn.1401d8c00
mov edx, 0x820
mov rcx, rbx
call fcn.14034da9c
mov dword [rsp + 0x600], 0x51
mov dword [rsp + 0x604], 2
mov eax, dword [rsp + 0x604]
xor eax, 0x15
mov byte [rsp + 0x608], al
movsx ecx, byte [rsp + 0x608]
xor ecx, 0x24
mov byte [rsp + 0x609], cl
movsx ecx, byte [rsp + 0x609]
xor ecx, 0x30
mov byte [rsp + 0x60a], cl
movsx ecx, byte [rsp + 0x60a]
xor ecx, 0x3d
mov byte [rsp + 0x60b], cl
movsx ecx, byte [rsp + 0x60b]
xor ecx, 0x71
mov byte [rsp + 0x60c], cl
movsx ecx, byte [rsp + 0x60c]
xor ecx, 0x3c
mov byte [rsp + 0x60d], cl
movsx ecx, byte [rsp + 0x60d]
xor ecx, 0x38
mov byte [rsp + 0x60e], cl
movsx ecx, byte [rsp + 0x60e]
xor ecx, 0x3f
mov byte [rsp + 0x60f], cl
movsx ecx, byte [rsp + 0x60f]
xor ecx, 0x38
mov byte [rsp + 0x610], cl
movsx ecx, byte [rsp + 0x610]
xor ecx, 0x3f
mov byte [rsp + 0x611], cl
movsx ecx, byte [rsp + 0x611]
xor ecx, 0x36
mov byte [rsp + 0x612], cl
movsx ecx, byte [rsp + 0x612]
xor ecx, 0x71
mov byte [rsp + 0x613], cl
movsx ecx, byte [rsp + 0x613]
xor ecx, 0x21
mov byte [rsp + 0x614], cl
movsx ecx, byte [rsp + 0x614]
xor ecx, 0x3e
mov byte [rsp + 0x615], cl
movsx ecx, byte [rsp + 0x615]
xor ecx, 0x3e
mov byte [rsp + 0x616], cl
movsx ecx, byte [rsp + 0x616]
xor ecx, 0x3d
mov byte [rsp + 0x617], cl
movsx ecx, byte [rsp + 0x617]
xor ecx, 0x71
mov byte [rsp + 0x618], cl
movsx ecx, byte [rsp + 0x618]
xor ecx, 0x22
mov byte [rsp + 0x619], cl
movsx ecx, byte [rsp + 0x619]
xor ecx, 0x21
mov byte [rsp + 0x61a], cl
movsx ecx, byte [rsp + 0x61a]
xor ecx, 0x34
mov byte [rsp + 0x61b], cl
movsx ecx, byte [rsp + 0x61b]
xor ecx, 0x32
mov byte [rsp + 0x61c], cl
movsx ecx, byte [rsp + 0x61c]
xor ecx, 0x38
mov byte [rsp + 0x61d], cl
movsx ecx, byte [rsp + 0x61d]
xor ecx, 0x37
mov byte [rsp + 0x61e], cl
movsx ecx, byte [rsp + 0x61e]
xor ecx, 0x38
mov byte [rsp + 0x61f], cl
movsx ecx, byte [rsp + 0x61f]
xor ecx, 0x34
mov byte [rsp + 0x620], cl
movsx ecx, byte [rsp + 0x620]
xor ecx, 0x35
mov byte [rsp + 0x621], cl
movsx ecx, byte [rsp + 0x621]
xor ecx, 0x71
mov byte [rsp + 0x622], cl
movsx ecx, byte [rsp + 0x622]
xor ecx, 0x33
mov byte [rsp + 0x623], cl
movsx ecx, byte [rsp + 0x623]
xor ecx, 0x24
mov byte [rsp + 0x624], cl
movsx ecx, byte [rsp + 0x624]
xor ecx, 0x25
mov byte [rsp + 0x625], cl
movsx ecx, byte [rsp + 0x625]
xor ecx, 0x71
mov byte [rsp + 0x626], cl
movsx ecx, byte [rsp + 0x626]
xor ecx, 0x30
mov byte [rsp + 0x627], cl
movsx ecx, byte [rsp + 0x627]
xor ecx, 0x3d
mov byte [rsp + 0x628], cl
movsx ecx, byte [rsp + 0x628]
xor ecx, 0x3d
mov byte [rsp + 0x629], cl
movsx ecx, byte [rsp + 0x629]
xor ecx, 0x71
mov byte [rsp + 0x62a], cl
movsx ecx, byte [rsp + 0x62a]
xor ecx, 0x16
mov byte [rsp + 0x62b], cl
movsx ecx, byte [rsp + 0x62b]
xor ecx, 1
mov byte [rsp + 0x62c], cl
movsx ecx, byte [rsp + 0x62c]
xor ecx, 4
mov byte [rsp + 0x62d], cl
movsx ecx, byte [rsp + 0x62d]
xor ecx, 0x22
mov byte [rsp + 0x62e], cl
movsx ecx, byte [rsp + 0x62e]
xor ecx, 0x71
mov byte [rsp + 0x62f], cl
movsx ecx, byte [rsp + 0x62f]
xor ecx, 0x30
mov byte [rsp + 0x630], cl
movsx ecx, byte [rsp + 0x630]
xor ecx, 0x23
mov byte [rsp + 0x631], cl
movsx ecx, byte [rsp + 0x631]
xor ecx, 0x34
mov byte [rsp + 0x632], cl
movsx ecx, byte [rsp + 0x632]
xor ecx, 0x71
mov byte [rsp + 0x633], cl
movsx ecx, byte [rsp + 0x633]
xor ecx, 0x38
mov byte [rsp + 0x634], cl
movsx ecx, byte [rsp + 0x634]
xor ecx, 0x3f
mov byte [rsp + 0x635], cl
movsx ecx, byte [rsp + 0x635]
xor ecx, 0x71
mov byte [rsp + 0x636], cl
movsx ecx, byte [rsp + 0x636]
xor ecx, 0x34
mov byte [rsp + 0x637], cl
movsx ecx, byte [rsp + 0x637]
xor ecx, 0x25
mov byte [rsp + 0x638], cl
movsx ecx, byte [rsp + 0x638]
xor ecx, 0x39
mov byte [rsp + 0x639], cl
movsx ecx, byte [rsp + 0x639]
xor ecx, 0x30
mov byte [rsp + 0x63a], cl
movsx ecx, byte [rsp + 0x63a]
xor ecx, 0x22
mov byte [rsp + 0x63b], cl
movsx ecx, byte [rsp + 0x63b]
xor ecx, 0x39
mov byte [rsp + 0x63c], cl
movsx ecx, byte [rsp + 0x63c]
xor ecx, 0x7c
mov byte [rsp + 0x63d], cl
movsx ecx, byte [rsp + 0x63d]
xor ecx, 0x3e
mov byte [rsp + 0x63e], cl
movsx ecx, byte [rsp + 0x63e]
xor ecx, 0x3f
mov byte [rsp + 0x63f], cl
movsx ecx, byte [rsp + 0x63f]
xor ecx, 0x3d
mov byte [rsp + 0x640], cl
movsx ecx, byte [rsp + 0x640]
xor ecx, 0x28
mov byte [rsp + 0x641], cl
movsx ecx, byte [rsp + 0x641]
xor ecx, 0x71
mov byte [rsp + 0x642], cl
movsx ecx, byte [rsp + 0x642]
xor ecx, 0x3c
mov byte [rsp + 0x643], cl
movsx ecx, byte [rsp + 0x643]
xor ecx, 0x3e
mov byte [rsp + 0x644], cl
movsx ecx, byte [rsp + 0x644]
xor ecx, 0x35
mov byte [rsp + 0x645], cl
movsx ecx, byte [rsp + 0x645]
xor ecx, 0x34
mov byte [rsp + 0x646], cl
movsx ecx, byte [rsp + 0x646]
xor ecx, 0x7f
mov byte [rsp + 0x647], cl
movsx ecx, byte [rsp + 0x647]
xor ecx, 0x71
mov byte [rsp + 0x648], cl
movsx ecx, byte [rsp + 0x648]
xor ecx, 0x12
mov byte [rsp + 0x649], cl
movsx ecx, byte [rsp + 0x649]
xor ecx, 0x39
mov byte [rsp + 0x64a], cl
movsx ecx, byte [rsp + 0x64a]
xor ecx, 0x34
mov byte [rsp + 0x64b], cl
movsx ecx, byte [rsp + 0x64b]
xor ecx, 0x32
mov byte [rsp + 0x64c], cl
movsx ecx, byte [rsp + 0x64c]
xor ecx, 0x3a
mov byte [rsp + 0x64d], cl
movsx ecx, byte [rsp + 0x64d]
xor ecx, 0x71
mov byte [rsp + 0x64e], cl
movsx ecx, byte [rsp + 0x64e]
xor ecx, 0x25
mov byte [rsp + 0x64f], cl
movsx ecx, byte [rsp + 0x64f]
xor ecx, 0x39
mov byte [rsp + 0x650], cl
movsx ecx, byte [rsp + 0x650]
xor ecx, 0x34
mov byte [rsp + 0x651], cl
movsx ecx, byte [rsp + 0x651]
xor ecx, 0x71
mov byte [rsp + 0x652], cl
movsx ecx, byte [rsp + 0x652]
xor ecx, 0x7c
mov byte [rsp + 0x653], cl
movsx ecx, byte [rsp + 0x653]
xor ecx, 0x3c
mov byte [rsp + 0x654], cl
movsx ecx, byte [rsp + 0x654]
xor ecx, 0x3e
mov byte [rsp + 0x655], cl
movsx ecx, byte [rsp + 0x655]
xor ecx, 0x35
mov byte [rsp + 0x656], cl
movsx ecx, byte [rsp + 0x656]
xor ecx, 0x34
mov byte [rsp + 0x657], cl
movsx ecx, byte [rsp + 0x657]
xor ecx, 0x71
mov byte [rsp + 0x658], cl
movsx ecx, byte [rsp + 0x658]
xor ecx, 0x32
mov byte [rsp + 0x659], cl
movsx ecx, byte [rsp + 0x659]
xor ecx, 0x3e
mov byte [rsp + 0x65a], cl
movsx ecx, byte [rsp + 0x65a]
xor ecx, 0x3c
mov byte [rsp + 0x65b], cl
movsx ecx, byte [rsp + 0x65b]
xor ecx, 0x3c
mov byte [rsp + 0x65c], cl
movsx ecx, byte [rsp + 0x65c]
xor ecx, 0x30
mov byte [rsp + 0x65d], cl
movsx ecx, byte [rsp + 0x65d]
xor ecx, 0x3f
mov byte [rsp + 0x65e], cl
movsx ecx, byte [rsp + 0x65e]
xor ecx, 0x35
mov byte [rsp + 0x65f], cl
movsx ecx, byte [rsp + 0x65f]
xor ecx, 0x7c
mov byte [rsp + 0x660], cl
movsx ecx, byte [rsp + 0x660]
xor ecx, 0x3d
mov byte [rsp + 0x661], cl
movsx ecx, byte [rsp + 0x661]
xor ecx, 0x38
mov byte [rsp + 0x662], cl
movsx ecx, byte [rsp + 0x662]
xor ecx, 0x3f
mov byte [rsp + 0x663], cl
movsx ecx, byte [rsp + 0x663]
xor ecx, 0x34
mov byte [rsp + 0x664], cl
movsx ecx, byte [rsp + 0x664]
xor ecx, 0x71
mov byte [rsp + 0x665], cl
movsx ecx, byte [rsp + 0x665]
xor ecx, 0x21
mov byte [rsp + 0x666], cl
movsx ecx, byte [rsp + 0x666]
xor ecx, 0x30
mov byte [rsp + 0x667], cl
movsx ecx, byte [rsp + 0x667]
xor ecx, 0x23
mov byte [rsp + 0x668], cl
movsx ecx, byte [rsp + 0x668]
xor ecx, 0x30
mov byte [rsp + 0x669], cl
movsx ecx, byte [rsp + 0x669]
xor ecx, 0x3c
mov byte [rsp + 0x66a], cl
movsx ecx, byte [rsp + 0x66a]
xor ecx, 0x34
mov byte [rsp + 0x66b], cl
movsx ecx, byte [rsp + 0x66b]
xor ecx, 0x25
mov byte [rsp + 0x66c], cl
movsx ecx, byte [rsp + 0x66c]
xor ecx, 0x34
mov byte [rsp + 0x66d], cl
movsx ecx, byte [rsp + 0x66d]
xor ecx, 0x23
mov byte [rsp + 0x66e], cl
movsx ecx, byte [rsp + 0x66e]
xor ecx, 0x7f
mov byte [rsp + 0x66f], cl
xor eax, eax
mov byte [rsp + 0x670], al
movzx eax, byte [rsp + 0x608]
lea rdx, [rsp + 0x740]
lea rcx, [rsp + 0x600]
call fcn.140067b40
nop
cmp qword [rax + 0x18], 0x10
jb 0x14006101d
mov rax, qword [rax]
mov rcx, rax
call fcn.14002a110
nop
mov rax, qword [rsp + 0x758]
cmp rax, 0x10
jb 0x140061084
inc rax
mov rcx, qword [rsp + 0x740]
cmp rax, 0x1000
jb 0x14006107f
test cl, 0x1f
je 0x140061052
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140061061
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x140061070
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x14006107c
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rsp + 0x758], 0xf
mov qword [rsp + 0x750], r14
mov byte [rsp + 0x740], 0
jmp 0x140061203
mov rcx, qword [rsi + 0x1048]
call fcn.1401ea0f0
test al, al
jne 0x1400610e2
mov r12, qword [rsi + 0x1048]
xor r14d, r14d
mov qword [rsi + 0x1048], r14
test r12, r12
je 0x1400610e5
mov rcx, r12
call fcn.1401d8c00
mov edx, 0x820
mov rcx, r12
call fcn.14034da9c
jmp 0x1400610e5
xor r14d, r14d
test bl, bl
je 0x140061203
cmp qword [rsi + 0x1048], 0
jne 0x140061203
mov ebx, r14d
mov rcx, qword [rdi + 8]
sub rcx, qword [rdi]
movabs r12, 0xea0ea0ea0ea0ea1
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140061203
nop dword [rax]
mov edx, ebx
mov rcx, rsi
call fcn.1400be500
cmp dword [rax + 0x10], 0
je 0x1400611db
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x780], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x790], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x7a0], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x7b0], xmm1
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x7c0], xmm0
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rsp + 0x7d0], xmm1
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0x7e0], xmm0
movups xmm1, xmmword [rax + 0x70]
movaps xmmword [rsp + 0x7f0], xmm1
movsd xmm0, qword [rax + 0x80]
movsd qword [rsp + 0x800], xmm0
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x808], eax
mov dword [rsp + 0x790], r14d
lea r8, [rsp + 0x780]
mov edx, ebx
mov rcx, rsi
call fcn.1400f1710
inc ebx
mov rcx, qword [rdi + 8]
sub rcx, qword [rdi]
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, ebx
cmp rax, rdx
jb 0x140061130
cmp dword [rsi + 0x19c], 0
je 0x14006125e
mov ecx, 0x30
call fcn.14034da58
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140061233
xor r8d, r8d
mov edx, dword [rsi + 0x19c]
mov rcx, rax
call fcn.14001c410
jmp 0x140061236
mov rax, r14
mov rbx, qword [rsi + 0x1408]
mov qword [rsi + 0x1408], rax
test rbx, rbx
je 0x14006125e
mov rcx, rbx
call fcn.14001cca0
mov edx, 0x30
mov rcx, rbx
call fcn.14034da9c
mov dword [rsp + 0x700], 0xc
mov dword [rsp + 0x704], 5
mov eax, dword [rsp + 0x704]
xor eax, 0x5f
mov byte [rsp + 0x708], al
movsx ecx, byte [rsp + 0x708]
xor ecx, 0x78
mov byte [rsp + 0x709], cl
movsx ecx, byte [rsp + 0x709]
xor ecx, 0x6d
mov byte [rsp + 0x70a], cl
movsx ecx, byte [rsp + 0x70a]
xor ecx, 0x7e
mov byte [rsp + 0x70b], cl
movsx ecx, byte [rsp + 0x70b]
xor ecx, 0x78
mov byte [rsp + 0x70c], cl
movsx ecx, byte [rsp + 0x70c]
xor ecx, 0x65
mov byte [rsp + 0x70d], cl
movsx ecx, byte [rsp + 0x70d]
xor ecx, 0x62
mov byte [rsp + 0x70e], cl
movsx ecx, byte [rsp + 0x70e]
xor ecx, 0x6b
mov byte [rsp + 0x70f], cl
movsx ecx, byte [rsp + 0x70f]
xor ecx, 0x2c
mov byte [rsp + 0x710], cl
movsx ecx, byte [rsp + 0x710]
xor ecx, 0x4b
mov byte [rsp + 0x711], cl
movsx ecx, byte [rsp + 0x711]
xor ecx, 0x5c
mov byte [rsp + 0x712], cl
movsx ecx, byte [rsp + 0x712]
xor ecx, 0x59
mov byte [rsp + 0x713], cl
movsx ecx, byte [rsp + 0x713]
xor ecx, 0x2c
mov byte [rsp + 0x714], cl
movsx ecx, byte [rsp + 0x714]
xor ecx, 0x61
mov byte [rsp + 0x715], cl
movsx ecx, byte [rsp + 0x715]
xor ecx, 0x65
mov byte [rsp + 0x716], cl
movsx ecx, byte [rsp + 0x716]
xor ecx, 0x62
mov byte [rsp + 0x717], cl
movsx ecx, byte [rsp + 0x717]
xor ecx, 0x65
mov byte [rsp + 0x718], cl
movsx ecx, byte [rsp + 0x718]
xor ecx, 0x62
mov byte [rsp + 0x719], cl
movsx ecx, byte [rsp + 0x719]
xor ecx, 0x6b
mov byte [rsp + 0x71a], cl
xor eax, eax
mov byte [rsp + 0x71b], al
movzx eax, byte [rsp + 0x708]
lea rdx, [rsp + 0x760]
lea rcx, [rsp + 0x700]
call fcn.14017c9f0
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400613fa
mov rax, qword [rax]
mov rcx, rax
call fcn.140048440
nop
mov rax, qword [rsp + 0x778]
cmp rax, 0x10
jb 0x140061461
inc rax
mov rcx, qword [rsp + 0x760]
cmp rax, 0x1000
jb 0x14006145c
test cl, 0x1f
je 0x14006142f
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14006143e
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x14006144d
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x140061459
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rsp + 0x778], 0xf
mov qword [rsp + 0x770], r14
mov byte [rsp + 0x760], 0
lea rcx, [0x1400422f0]
mov qword [rsp + 0x320], rcx
mov qword [rsp + 0x370], r14
test rcx, rcx
je 0x1400614c0
lea rax, [0x1403d2b28]
mov qword [rsp + 0x338], rax
mov qword [rsp + 0x340], rcx
lea rax, [rsp + 0x338]
mov qword [rsp + 0x370], rax
lea r12, [rsi + 0x290]
lea r8, [rsp + 0x338]
mov rdx, rdi
mov rcx, r12
call fcn.1401047f0
mov ecx, 0x150
call fcn.14034da58
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140061515
movzx ecx, byte [rsi + 0xfa]
mov byte [rsp + 0x20], cl
movzx r9d, byte [rsi + 0xf9]
mov r8d, dword [rsi + 0x1a4]
mov rdx, r12
mov rcx, rax
call fcn.140042d90
jmp 0x140061518
mov rax, r14
mov rbx, qword [rsi + 0x1340]
mov qword [rsi + 0x1340], rax
test rbx, rbx
je 0x140061540
mov rcx, rbx
call fcn.140042ee0
mov edx, 0x150
mov rcx, rbx
call fcn.14034da9c
movzx edx, byte [rsi + 0xf8]
mov rcx, qword [rsi + 0x1340]
call fcn.140045af0
mov rcx, r12
call fcn.140107f10
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 [rsp + 0x328], rax
mov qword [rsi + 0x1050], rax
mov rcx, rsi
call fcn.140065f00
mov cl, 1
call fcn.1401c6b40
lea rdx, [rsi + 0x100]
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140045f90
nop
cmp qword [rsp + 0x50], 0
je 0x140061afe
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx]
cmp rax, rdx
je 0x140061afe
cmp dword [rax + 0x20], 1
je 0x140061638
cmp byte [rax + 0x19], 0
jne 0x14006162e
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x14006160e
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
jne 0x14006162e
nop word [rax + rax]
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140061600
jmp 0x14006162e
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x14006162b
cmp rax, qword [rcx + 0x10]
jne 0x14006162b
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x140061618
mov rax, rcx
cmp rax, rdx
jne 0x1400615d5
jmp 0x140061afe
call fcn.1401c2520
mov edx, eax
mov rcx, rsi
call fcn.1400f4640
mov r8d, eax
mov dword [rsp + 0x78], eax
test eax, eax
js 0x140061afe
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov rbx, rax
cmp byte [rcx + 0x19], 0
jne 0x140061680
cmp dword [rcx + 0x1c], r8d
jge 0x140061674
mov rcx, qword [rcx + 0x10]
jmp 0x14006167a
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140061668
mov qword [rsp + 0x330], rbx
mov qword [rsp + 0x180], rax
cmp rbx, rax
je 0x1400616a2
cmp r8d, dword [rbx + 0x1c]
jl 0x1400616a2
mov byte [rsp + 0x61], 0
jmp 0x140061703
mov byte [rsp + 0x62], 1
xor eax, eax
mov byte [rsp + 0x63], al
lea rax, [rsp + 0x78]
mov qword [rsp + 0x108], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x108]
lea rdx, [0x1403d10d8]
lea rcx, [rsp + 0x48]
call fcn.140046110
lea r9, [rax + 0x1c]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x48]
call fcn.140047030
mov rbx, qword [rsp + 0x100]
mov r8d, dword [rsp + 0x78]
cmp dword [rbx + 0x20], 0
jne 0x140061afe
mov eax, 0x88888889
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub r8d, eax
mov dword [rsp + 0xbc], r8d
mov dword [rsp + 0xc0], edx
mov dword [rsp + 0x6b0], 0x5d
mov eax, dword [rsp + 0x6b0]
xor eax, 0x50
add eax, 7
mov byte [rsp + 0x6b4], al
movsx ecx, byte [rsp + 0x6b4]
xor ecx, 0x61
add ecx, 7
mov byte [rsp + 0x6b5], cl
movsx ecx, byte [rsp + 0x6b5]
xor ecx, 0x75
add ecx, 7
mov byte [rsp + 0x6b6], cl
movsx ecx, byte [rsp + 0x6b6]
xor ecx, 0x73
add ecx, 7
mov byte [rsp + 0x6b7], cl
movsx ecx, byte [rsp + 0x6b7]
xor ecx, 0x69
add ecx, 7
mov byte [rsp + 0x6b8], cl
movsx ecx, byte [rsp + 0x6b8]
xor ecx, 0x6e
add ecx, 7
mov byte [rsp + 0x6b9], cl
movsx ecx, byte [rsp + 0x6b9]
xor ecx, 0x67
add ecx, 7
mov byte [rsp + 0x6ba], cl
movsx ecx, byte [rsp + 0x6ba]
xor ecx, 0x20
add ecx, 7
mov byte [rsp + 0x6bb], cl
movsx ecx, byte [rsp + 0x6bb]
xor ecx, 0x62
add ecx, 7
mov byte [rsp + 0x6bc], cl
movsx ecx, byte [rsp + 0x6bc]
xor ecx, 0x65
add ecx, 7
mov byte [rsp + 0x6bd], cl
movsx ecx, byte [rsp + 0x6bd]
xor ecx, 0x63
add ecx, 7
mov byte [rsp + 0x6be], cl
movsx ecx, byte [rsp + 0x6be]
xor ecx, 0x61
add ecx, 7
mov byte [rsp + 0x6bf], cl
movsx ecx, byte [rsp + 0x6bf]
xor ecx, 0x75
add ecx, 7
mov byte [rsp + 0x6c0], cl
movsx ecx, byte [rsp + 0x6c0]
xor ecx, 0x73
add ecx, 7
mov byte [rsp + 0x6c1], cl
movsx ecx, byte [rsp + 0x6c1]
xor ecx, 0x65
add ecx, 7
mov byte [rsp + 0x6c2], cl
movsx ecx, byte [rsp + 0x6c2]
xor ecx, 0x20
add ecx, 7
mov byte [rsp + 0x6c3], cl
movsx ecx, byte [rsp + 0x6c3]
xor ecx, 0x6f
add ecx, 7
mov byte [rsp + 0x6c4], cl
movsx ecx, byte [rsp + 0x6c4]
xor ecx, 0x66
add ecx, 7
mov byte [rsp + 0x6c5], cl
movsx ecx, byte [rsp + 0x6c5]
xor ecx, 0x20
add ecx, 7
mov byte [rsp + 0x6c6], cl
movsx ecx, byte [rsp + 0x6c6]
xor ecx, 0x2d
add ecx, 7
mov byte [rsp + 0x6c7], cl
movsx ecx, byte [rsp + 0x6c7]
xor ecx, 0x70
add ecx, 7
mov byte [rsp + 0x6c8], cl
movsx ecx, byte [rsp + 0x6c8]
xor ecx, 0x61
add ecx, 7
mov byte [rsp + 0x6c9], cl
movsx ecx, byte [rsp + 0x6c9]
xor ecx, 0x75
add ecx, 7
mov byte [rsp + 0x6ca], cl
movsx ecx, byte [rsp + 0x6ca]
xor ecx, 0x73
add ecx, 7
mov byte [rsp + 0x6cb], cl
movsx ecx, byte [rsp + 0x6cb]
xor ecx, 0x65
add ecx, 7
mov byte [rsp + 0x6cc], cl
movsx ecx, byte [rsp + 0x6cc]
xor ecx, 0x61
add ecx, 7
mov byte [rsp + 0x6cd], cl
movsx ecx, byte [rsp + 0x6cd]
xor ecx, 0x74
add ecx, 7
mov byte [rsp + 0x6ce], cl
movsx ecx, byte [rsp + 0x6ce]
xor ecx, 0x20
add ecx, 7
mov byte [rsp + 0x6cf], cl
movsx ecx, byte [rsp + 0x6cf]
xor ecx, 0x7b
add ecx, 7
mov byte [rsp + 0x6d0], cl
movsx ecx, byte [rsp + 0x6d0]
xor ecx, 0x3a
add ecx, 7
mov byte [rsp + 0x6d1], cl
movsx ecx, byte [rsp + 0x6d1]
xor ecx, 0x30
add ecx, 7
mov byte [rsp + 0x6d2], cl
movsx ecx, byte [rsp + 0x6d2]
xor ecx, 0x32
add ecx, 7
mov byte [rsp + 0x6d3], cl
movsx ecx, byte [rsp + 0x6d3]
xor ecx, 0x64
add ecx, 7
mov byte [rsp + 0x6d4], cl
movsx ecx, byte [rsp + 0x6d4]
xor ecx, 0x7d
add ecx, 7
mov byte [rsp + 0x6d5], cl
movsx ecx, byte [rsp + 0x6d5]
xor ecx, 0x3a
add ecx, 7
mov byte [rsp + 0x6d6], cl
movsx ecx, byte [rsp + 0x6d6]
xor ecx, 0x7b
add ecx, 7
mov byte [rsp + 0x6d7], cl
movsx ecx, byte [rsp + 0x6d7]
xor ecx, 0x3a
add ecx, 7
mov byte [rsp + 0x6d8], cl
movsx ecx, byte [rsp + 0x6d8]
xor ecx, 0x30
add ecx, 7
mov byte [rsp + 0x6d9], cl
movsx ecx, byte [rsp + 0x6d9]
xor ecx, 0x32
add ecx, 7
mov byte [rsp + 0x6da], cl
movsx ecx, byte [rsp + 0x6da]
xor ecx, 0x64
add ecx, 7
mov byte [rsp + 0x6db], cl
movsx ecx, byte [rsp + 0x6db]
xor ecx, 0x7d
add ecx, 7
mov byte [rsp + 0x6dc], cl
mov byte [rsp + 0x6dd], 0
movzx eax, byte [rsp + 0x6b4]
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x6b0]
call fcn.1400671e0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140061ace
mov rax, qword [rax]
lea r8, [rsp + 0xbc]
lea rdx, [rsp + 0xc0]
mov rcx, rax
call fcn.140048a00
nop
lea rcx, [rsp + 0x8f0]
call fcn.14001c970
mov dl, 1
mov rcx, rsi
call fcn.140053250
lea rcx, [rsi + 0x798]
call fcn.1401df4a0
cmp qword [rsi + 0x1048], 0
je 0x140061b20
mov rcx, qword [rsi + 0x1048]
call fcn.1401df4a0
mov qword [rsp + 0x188], 0x1388
mov qword [rsp + 0x190], 0x1388
mov qword [rsp + 0x198], 0x1388
mov r8b, 1
mov edx, 0x1388
lea rcx, [rsp + 0x3b8]
call fcn.1401c23b0
movsxd rax, dword [rsi + 0x120]
imul rdx, rax, 0x3e8
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1b0], rdx
mov r8b, 1
lea rcx, [rsp + 0x3d0]
call fcn.1401c23b0
mov qword [rsp + 0x1b8], 0xafc8
mov qword [rsp + 0x1c0], 0xafc8
mov qword [rsp + 0x1c8], 0xafc8
mov r8b, 1
mov edx, 0xafc8
lea rcx, [rsp + 0x3e8]
call fcn.1401c23b0
cmp dword [rsi + 0x105c], 0
je 0x140061bd8
mov dword [rsi + 0x105c], r14d
mov dword [rsi + 0x12e8], r14d
movzx r9d, byte [rsp + 0x40]
lea r8, [rsi + 0x1410]
mov rdx, qword [rsi + 0x1418]
mov rcx, qword [rsi + 0x1410]
call fcn.140046810
mov rax, qword [rsi + 0x1410]
mov qword [rsi + 0x1418], rax
movzx r9d, byte [rsp + 0x40]
lea r8, [rsi + 0x1428]
mov rdx, qword [rsi + 0x1430]
mov rcx, qword [rsi + 0x1428]
call fcn.140046810
mov rax, qword [rsi + 0x1428]
mov qword [rsi + 0x1430], rax
mov qword [rsp + 0x1d0], rsi
lea rcx, [fcn.1400661b0]
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x2e8], rcx
xor eax, eax
mov byte [rsp + 0x64], al
mov qword [rsp + 0x2f0], rsi
lea rax, [0x1403d2b60]
mov qword [rsp + 0x378], rax
mov qword [rsp + 0x380], rcx
mov qword [rsp + 0x388], rsi
lea rax, [rsp + 0x378]
mov qword [rsp + 0x3b0], rax
lea rcx, [rsp + 0x378]
call fcn.1401c2a60
mov qword [rsp + 0x1e0], r14
mov rbx, r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0xd0], r14
mov r13d, r14d
mov dword [rsp + 0x7c], r14d
nop dword [rax]
nop dword [rax + rax]
cmp byte [rsi + 0x9e8], 0
je 0x140064836
cmp byte [rsi + 0x1334], 0
jne 0x140064836
lea rcx, [rsp + 0x3b8]
call fcn.1401c2410
movzx ebx, al
mov byte [rsp + 0x41], al
cmp dword [rsi + 0x120], 0
jle 0x140061d1d
lea rcx, [rsp + 0x3d0]
call fcn.1401c2410
test al, al
je 0x140061d1d
mov r12b, 1
jmp 0x140061d20
xor r12b, r12b
mov rcx, rsi
call fcn.1400547a0
mov edi, eax
lea rcx, [rsp + 0x3e8]
call fcn.1401c2410
test al, al
je 0x140061d44
test edi, edi
jne 0x140061d48
mov edi, r15d
jmp 0x140061d48
test edi, edi
je 0x140061d57
movzx r12d, r12b
cmp dword [rsi + 0x120], 0
cmove r12d, r15d
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x178], r14
test edi, edi
jne 0x140061da3
test bl, bl
je 0x140061e42
movsxd r8, dword [rsi + 0x298]
mov rcx, qword [0x1407417d0]
sub rcx, qword [0x1407417c8]
movabs rax, 0xc30c30c30c30c30d
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x140061e17
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 [rsp + 0x1e8], rax
mov qword [rsi + 0x1170], rax
movzx ebx, byte [rsp + 0x41]
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x130]
movzx r8d, bl
mov edx, edi
mov rcx, rsi
call fcn.140055600
test edi, edi
jne 0x140061fc9
test r12b, r12b
je 0x140063f6d
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1418]
cmp rbx, rdi
je 0x140061eee
mov dword [rsp + 0x728], 0x4a
mov eax, dword [rsp + 0x728]
xor eax, 0x7b
add eax, 2
mov byte [rsp + 0x72c], al
movsx ecx, byte [rsp + 0x72c]
xor ecx, 0x7d
add ecx, 2
mov byte [rsp + 0x72d], cl
mov byte [rsp + 0x72e], 0
movzx eax, byte [rsp + 0x72c]
lea rdx, [rsp + 0x830]
lea rcx, [rsp + 0x728]
call fcn.140066d60
nop
cmp qword [rax + 0x18], 0x10
jb 0x140061ec6
mov rax, qword [rax]
mov r8, rbx
mov rdx, rax
mov cl, 1
call fcn.140048b80
nop
lea rcx, [rsp + 0x830]
call fcn.14001c970
add rbx, 0x20
cmp rbx, rdi
jne 0x140061e62
cmp qword [rsi + 0x1048], 0
je 0x140063f6d
mov rbx, qword [rsi + 0x1428]
mov rdi, qword [rsi + 0x1430]
cmp rbx, rdi
je 0x140063f6d
mov dword [rsp + 0x730], 0x1a
mov eax, dword [rsp + 0x730]
add al, 0x1a
movsx ecx, al
xor ecx, 2
mov dword [rsp + 0x734], ecx
mov eax, dword [rsp + 0x734]
mov ecx, dword [rsp + 0x730]
xor ecx, eax
xor ecx, 0x7b
mov byte [rsp + 0x738], cl
movsx ecx, byte [rsp + 0x738]
mov eax, dword [rsp + 0x730]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x739], al
xor eax, eax
mov byte [rsp + 0x73a], al
movzx eax, byte [rsp + 0x738]
lea rdx, [rsp + 0x850]
lea rcx, [rsp + 0x730]
call fcn.1400f1ed0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140061f9c
mov rax, qword [rax]
mov r8, rbx
mov rdx, rax
xor ecx, ecx
call fcn.140048b80
nop
lea rcx, [rsp + 0x850]
call fcn.14001c970
add rbx, 0x20
cmp rbx, rdi
jne 0x140061f13
jmp 0x140063f6d
lea rcx, [rsi + 0x290]
call fcn.140054800
mov rdx, rax
mov qword [rsp + 0x70], rax
mov ecx, dword [rsi + 0xec]
test ecx, ecx
jle 0x1400622a6
movabs rax, 0x8888888888888889
mul rdx
shr rdx, 5
cmp rdx, rcx
jb 0x1400622a6
mov dword [rsp + 0x6e0], 0x39
mov eax, dword [rsp + 0x6e0]
xor eax, 0x52
add eax, 2
mov byte [rsp + 0x6e4], al
movsx ecx, byte [rsp + 0x6e4]
xor ecx, 0x65
add ecx, 2
mov byte [rsp + 0x6e5], cl
movsx ecx, byte [rsp + 0x6e5]
xor ecx, 0x73
add ecx, 2
mov byte [rsp + 0x6e6], cl
movsx ecx, byte [rsp + 0x6e6]
xor ecx, 0x74
add ecx, 2
mov byte [rsp + 0x6e7], cl
movsx ecx, byte [rsp + 0x6e7]
xor ecx, 0x61
add ecx, 2
mov byte [rsp + 0x6e8], cl
movsx ecx, byte [rsp + 0x6e8]
xor ecx, 0x72
add ecx, 2
mov byte [rsp + 0x6e9], cl
movsx ecx, byte [rsp + 0x6e9]
xor ecx, 0x74
add ecx, 2
mov byte [rsp + 0x6ea], cl
movsx ecx, byte [rsp + 0x6ea]
xor ecx, 0x20
add ecx, 2
mov byte [rsp + 0x6eb], cl
movsx ecx, byte [rsp + 0x6eb]
xor ecx, 0x74
add ecx, 2
mov byte [rsp + 0x6ec], cl
movsx ecx, byte [rsp + 0x6ec]
xor ecx, 0x69
add ecx, 2
mov byte [rsp + 0x6ed], cl
movsx ecx, byte [rsp + 0x6ed]
xor ecx, 0x6d
add ecx, 2
mov byte [rsp + 0x6ee], cl
movsx ecx, byte [rsp + 0x6ee]
xor ecx, 0x65
add ecx, 2
mov byte [rsp + 0x6ef], cl
movsx ecx, byte [rsp + 0x6ef]
xor ecx, 0x6f
add ecx, 2
mov byte [rsp + 0x6f0], cl
movsx ecx, byte [rsp + 0x6f0]
xor ecx, 0x75
add ecx, 2
mov byte [rsp + 0x6f1], cl
movsx ecx, byte [rsp + 0x6f1]
xor ecx, 0x74
add ecx, 2
mov byte [rsp + 0x6f2], cl
movsx ecx, byte [rsp + 0x6f2]
xor ecx, 0x20
add ecx, 2
mov byte [rsp + 0x6f3], cl
movsx ecx, byte [rsp + 0x6f3]
xor ecx, 0x72
add ecx, 2
mov byte [rsp + 0x6f4], cl
movsx ecx, byte [rsp + 0x6f4]
xor ecx, 0x65
add ecx, 2
mov byte [rsp + 0x6f5], cl
movsx ecx, byte [rsp + 0x6f5]
xor ecx, 0x61
add ecx, 2
mov byte [rsp + 0x6f6], cl
movsx ecx, byte [rsp + 0x6f6]
xor ecx, 0x63
add ecx, 2
mov byte [rsp + 0x6f7], cl
movsx ecx, byte [rsp + 0x6f7]
xor ecx, 0x68
add ecx, 2
mov byte [rsp + 0x6f8], cl
movsx ecx, byte [rsp + 0x6f8]
xor ecx, 0x65
add ecx, 2
mov byte [rsp + 0x6f9], cl
movsx ecx, byte [rsp + 0x6f9]
xor ecx, 0x64
add ecx, 2
mov byte [rsp + 0x6fa], cl
mov byte [rsp + 0x6fb], 0
movzx eax, byte [rsp + 0x6e4]
lea rdx, [rsp + 0x870]
lea rcx, [rsp + 0x6e0]
call fcn.1400675a0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140062222
mov rax, qword [rax]
mov rcx, rax
call fcn.1400482e0
nop
lea rcx, [rsp + 0x870]
call fcn.14001c970
mov dword [rsp + 0xc8], r15d
mov rcx, qword [rsi + 0x1328]
test rcx, rcx
jne 0x140062252
call fcn.14032c3e4
int3
mov rax, qword [rcx]
lea rdx, [rsp + 0xc8]
call qword [rax + 0x10]
nop
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140062281
mov rcx, rbx
call fcn.14002db70
mov edx, 0x70
mov rcx, rbx
call fcn.14034da9c
nop
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x1f0], r9
mov r8, qword [r9]
mov qword [rsp + 0x1f8], r8
lea rdx, [rsp + 0x200]
jmp 0x140064871
lea rdx, [rsi + 0x100]
lea r8, [rsp + 0x65]
lea rcx, [rsp + 0x80]
call fcn.140045f90
nop
cmp qword [rsp + 0x88], 0
je 0x140062e1b
call fcn.1401c2520
mov ebx, eax
mov edx, eax
mov rcx, rsi
call fcn.1400f4640
mov dword [rsp + 0x68], eax
test eax, eax
js 0x140062e1b
cmp ebx, eax
jl 0x140062e1b
sub ebx, eax
cmp ebx, 3
jge 0x140062e1b
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x80]
call fcn.1400475c0
mov rcx, qword [rsp + 0x2f8]
mov edx, dword [rcx + 0x20]
test edx, edx
je 0x1400628c5
cmp edx, 1
jne 0x140062e1b
xor edx, edx
mov rcx, rsi
call fcn.140065e70
test al, al
je 0x140062e1b
mov ecx, dword [rsp + 0x68]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub ecx, eax
mov dword [rsp + 0xd8], ecx
mov dword [rsp + 0x90], edx
mov dword [rsp + 0x590], 0x12
mov eax, dword [rsp + 0x590]
add al, 0x12
movsx ecx, al
xor ecx, 0x15
mov dword [rsp + 0x594], ecx
mov eax, dword [rsp + 0x594]
mov ecx, dword [rsp + 0x590]
xor ecx, eax
xor ecx, 0x52
mov byte [rsp + 0x598], cl
movsx ecx, byte [rsp + 0x598]
mov eax, dword [rsp + 0x590]
inc al
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x599], al
movsx ecx, byte [rsp + 0x599]
mov eax, dword [rsp + 0x590]
add al, 2
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x59a], al
movsx ecx, byte [rsp + 0x59a]
mov eax, dword [rsp + 0x590]
add al, 3
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x59b], al
movsx ecx, byte [rsp + 0x59b]
mov eax, dword [rsp + 0x590]
add al, 4
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x59c], al
movsx ecx, byte [rsp + 0x59c]
mov eax, dword [rsp + 0x590]
add al, 5
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x59d], al
movsx ecx, byte [rsp + 0x59d]
mov eax, dword [rsp + 0x590]
add al, 6
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x59e], al
movsx ecx, byte [rsp + 0x59e]
mov eax, dword [rsp + 0x590]
add al, 7
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x59f], al
movsx ecx, byte [rsp + 0x59f]
mov eax, dword [rsp + 0x590]
add al, 8
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5a0], al
movsx ecx, byte [rsp + 0x5a0]
mov eax, dword [rsp + 0x590]
add al, 9
xor eax, ecx
xor eax, 0x62
mov byte [rsp + 0x5a1], al
movsx ecx, byte [rsp + 0x5a1]
mov eax, dword [rsp + 0x590]
add al, 0xa
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5a2], al
movsx ecx, byte [rsp + 0x5a2]
mov eax, dword [rsp + 0x590]
add al, 0xb
xor eax, ecx
xor eax, 0x63
mov byte [rsp + 0x5a3], al
movsx ecx, byte [rsp + 0x5a3]
mov eax, dword [rsp + 0x590]
add al, 0xc
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x5a4], al
movsx ecx, byte [rsp + 0x5a4]
mov eax, dword [rsp + 0x590]
add al, 0xd
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x5a5], al
movsx ecx, byte [rsp + 0x5a5]
mov eax, dword [rsp + 0x590]
add al, 0xe
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x5a6], al
movsx ecx, byte [rsp + 0x5a6]
mov eax, dword [rsp + 0x590]
add al, 0xf
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5a7], al
movsx ecx, byte [rsp + 0x5a7]
mov eax, dword [rsp + 0x590]
add al, 0x10
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5a8], al
movsx ecx, byte [rsp + 0x5a8]
mov eax, dword [rsp + 0x590]
add al, 0x11
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x5a9], al
movsx ecx, byte [rsp + 0x5a9]
mov eax, dword [rsp + 0x590]
add al, 0x12
xor eax, ecx
xor eax, 0x66
mov byte [rsp + 0x5aa], al
movsx ecx, byte [rsp + 0x5aa]
mov eax, dword [rsp + 0x590]
add al, 0x13
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5ab], al
movsx ecx, byte [rsp + 0x5ab]
mov eax, dword [rsp + 0x590]
add al, 0x14
xor eax, ecx
xor eax, 0x2d
mov byte [rsp + 0x5ac], al
movsx ecx, byte [rsp + 0x5ac]
mov eax, dword [rsp + 0x590]
add al, 0x15
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x5ad], al
movsx ecx, byte [rsp + 0x5ad]
mov eax, dword [rsp + 0x590]
add al, 0x16
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5ae], al
movsx ecx, byte [rsp + 0x5ae]
mov eax, dword [rsp + 0x590]
add al, 0x17
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x5af], al
movsx ecx, byte [rsp + 0x5af]
mov eax, dword [rsp + 0x590]
add al, 0x18
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x5b0], al
movsx ecx, byte [rsp + 0x5b0]
mov eax, dword [rsp + 0x590]
add al, 0x19
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x5b1], al
movsx ecx, byte [rsp + 0x5b1]
mov eax, dword [rsp + 0x590]
add al, 0x1a
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5b2], al
movsx ecx, byte [rsp + 0x5b2]
mov eax, dword [rsp + 0x590]
add al, 0x1b
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x5b3], al
movsx ecx, byte [rsp + 0x5b3]
mov eax, dword [rsp + 0x590]
add al, 0x1c
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x5b4], al
movsx ecx, byte [rsp + 0x5b4]
mov eax, dword [rsp + 0x590]
add al, 0x1d
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5b5], al
movsx ecx, byte [rsp + 0x5b5]
mov eax, dword [rsp + 0x590]
add al, 0x1e
xor eax, ecx
xor eax, 0x7b
mov byte [rsp + 0x5b6], al
movsx ecx, byte [rsp + 0x5b6]
mov eax, dword [rsp + 0x590]
add al, 0x1f
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x5b7], al
movsx ecx, byte [rsp + 0x5b7]
mov eax, dword [rsp + 0x590]
add al, 0x20
xor eax, ecx
xor eax, 0x30
mov byte [rsp + 0x5b8], al
movsx ecx, byte [rsp + 0x5b8]
mov eax, dword [rsp + 0x590]
add al, 0x21
xor eax, ecx
xor eax, 0x32
mov byte [rsp + 0x5b9], al
movsx ecx, byte [rsp + 0x5b9]
mov eax, dword [rsp + 0x590]
add al, 0x22
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x5ba], al
movsx ecx, byte [rsp + 0x5ba]
mov eax, dword [rsp + 0x590]
add al, 0x23
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x5bb], al
movsx ecx, byte [rsp + 0x5bb]
mov eax, dword [rsp + 0x590]
add al, 0x24
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x5bc], al
movsx ecx, byte [rsp + 0x5bc]
mov eax, dword [rsp + 0x590]
add al, 0x25
xor eax, ecx
xor eax, 0x7b
mov byte [rsp + 0x5bd], al
movsx ecx, byte [rsp + 0x5bd]
mov eax, dword [rsp + 0x590]
add al, 0x26
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x5be], al
movsx ecx, byte [rsp + 0x5be]
mov eax, dword [rsp + 0x590]
add al, 0x27
xor eax, ecx
xor eax, 0x30
mov byte [rsp + 0x5bf], al
movsx ecx, byte [rsp + 0x5bf]
mov eax, dword [rsp + 0x590]
add al, 0x28
xor eax, ecx
xor eax, 0x32
mov byte [rsp + 0x5c0], al
movsx ecx, byte [rsp + 0x5c0]
mov eax, dword [rsp + 0x590]
add al, 0x29
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x5c1], al
movsx ecx, byte [rsp + 0x5c1]
mov eax, dword [rsp + 0x590]
add al, 0x2a
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x5c2], al
xor eax, eax
mov byte [rsp + 0x5c3], al
movzx eax, byte [rsp + 0x598]
lea rdx, [rsp + 0x890]
lea rcx, [rsp + 0x590]
call fcn.1401a76c0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14006289f
mov rax, qword [rax]
lea r8, [rsp + 0xd8]
lea rdx, [rsp + 0x90]
mov rcx, rax
call fcn.140048880
nop
lea rcx, [rsp + 0x890]
jmp 0x140062e16
mov dl, 1
mov rcx, rsi
call fcn.140065e70
test al, al
je 0x140062e1b
mov ecx, dword [rsp + 0x68]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub ecx, eax
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x98], edx
mov dword [rsp + 0x5c8], 0x13
mov eax, dword [rsp + 0x5c8]
add al, 0x13
movsx ecx, al
xor ecx, 0x2a
mov dword [rsp + 0x5cc], ecx
mov eax, dword [rsp + 0x5cc]
mov ecx, dword [rsp + 0x5c8]
xor ecx, eax
xor ecx, 0x50
mov byte [rsp + 0x5d0], cl
movsx ecx, byte [rsp + 0x5d0]
mov eax, dword [rsp + 0x5c8]
inc al
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x5d1], al
movsx ecx, byte [rsp + 0x5d1]
mov eax, dword [rsp + 0x5c8]
add al, 2
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x5d2], al
movsx ecx, byte [rsp + 0x5d2]
mov eax, dword [rsp + 0x5c8]
add al, 3
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x5d3], al
movsx ecx, byte [rsp + 0x5d3]
mov eax, dword [rsp + 0x5c8]
add al, 4
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x5d4], al
movsx ecx, byte [rsp + 0x5d4]
mov eax, dword [rsp + 0x5c8]
add al, 5
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x5d5], al
movsx ecx, byte [rsp + 0x5d5]
mov eax, dword [rsp + 0x5c8]
add al, 6
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x5d6], al
movsx ecx, byte [rsp + 0x5d6]
mov eax, dword [rsp + 0x5c8]
add al, 7
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5d7], al
movsx ecx, byte [rsp + 0x5d7]
mov eax, dword [rsp + 0x5c8]
add al, 8
xor eax, ecx
xor eax, 0x62
mov byte [rsp + 0x5d8], al
movsx ecx, byte [rsp + 0x5d8]
mov eax, dword [rsp + 0x5c8]
add al, 9
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5d9], al
movsx ecx, byte [rsp + 0x5d9]
mov eax, dword [rsp + 0x5c8]
add al, 0xa
xor eax, ecx
xor eax, 0x63
mov byte [rsp + 0x5da], al
movsx ecx, byte [rsp + 0x5da]
mov eax, dword [rsp + 0x5c8]
add al, 0xb
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x5db], al
movsx ecx, byte [rsp + 0x5db]
mov eax, dword [rsp + 0x5c8]
add al, 0xc
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x5dc], al
movsx ecx, byte [rsp + 0x5dc]
mov eax, dword [rsp + 0x5c8]
add al, 0xd
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x5dd], al
movsx ecx, byte [rsp + 0x5dd]
mov eax, dword [rsp + 0x5c8]
add al, 0xe
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5de], al
movsx ecx, byte [rsp + 0x5de]
mov eax, dword [rsp + 0x5c8]
add al, 0xf
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5df], al
movsx ecx, byte [rsp + 0x5df]
mov eax, dword [rsp + 0x5c8]
add al, 0x10
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x5e0], al
movsx ecx, byte [rsp + 0x5e0]
mov eax, dword [rsp + 0x5c8]
add al, 0x11
xor eax, ecx
xor eax, 0x66
mov byte [rsp + 0x5e1], al
movsx ecx, byte [rsp + 0x5e1]
mov eax, dword [rsp + 0x5c8]
add al, 0x12
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5e2], al
movsx ecx, byte [rsp + 0x5e2]
mov eax, dword [rsp + 0x5c8]
add al, 0x13
xor eax, ecx
xor eax, 0x2d
mov byte [rsp + 0x5e3], al
movsx ecx, byte [rsp + 0x5e3]
mov eax, dword [rsp + 0x5c8]
add al, 0x14
xor eax, ecx
xor eax, 0x70
mov byte [rsp + 0x5e4], al
movsx ecx, byte [rsp + 0x5e4]
mov eax, dword [rsp + 0x5c8]
add al, 0x15
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x5e5], al
movsx ecx, byte [rsp + 0x5e5]
mov eax, dword [rsp + 0x5c8]
add al, 0x16
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x5e6], al
movsx ecx, byte [rsp + 0x5e6]
mov eax, dword [rsp + 0x5c8]
add al, 0x17
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x5e7], al
movsx ecx, byte [rsp + 0x5e7]
mov eax, dword [rsp + 0x5c8]
add al, 0x18
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x5e8], al
movsx ecx, byte [rsp + 0x5e8]
mov eax, dword [rsp + 0x5c8]
add al, 0x19
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x5e9], al
movsx ecx, byte [rsp + 0x5e9]
mov eax, dword [rsp + 0x5c8]
add al, 0x1a
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x5ea], al
movsx ecx, byte [rsp + 0x5ea]
mov eax, dword [rsp + 0x5c8]
add al, 0x1b
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x5eb], al
movsx ecx, byte [rsp + 0x5eb]
mov eax, dword [rsp + 0x5c8]
add al, 0x1c
xor eax, ecx
xor eax, 0x7b
mov byte [rsp + 0x5ec], al
movsx ecx, byte [rsp + 0x5ec]
mov eax, dword [rsp + 0x5c8]
add al, 0x1d
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x5ed], al
movsx ecx, byte [rsp + 0x5ed]
mov eax, dword [rsp + 0x5c8]
add al, 0x1e
xor eax, ecx
xor eax, 0x30
mov byte [rsp + 0x5ee], al
movsx ecx, byte [rsp + 0x5ee]
mov eax, dword [rsp + 0x5c8]
add al, 0x1f
xor eax, ecx
xor eax, 0x32
mov byte [rsp + 0x5ef], al
movsx ecx, byte [rsp + 0x5ef]
mov eax, dword [rsp + 0x5c8]
add al, 0x20
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x5f0], al
movsx ecx, byte [rsp + 0x5f0]
mov eax, dword [rsp + 0x5c8]
add al, 0x21
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x5f1], al
movsx ecx, byte [rsp + 0x5f1]
mov eax, dword [rsp + 0x5c8]
add al, 0x22
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x5f2], al
movsx ecx, byte [rsp + 0x5f2]
mov eax, dword [rsp + 0x5c8]
add al, 0x23
xor eax, ecx
xor eax, 0x7b
mov byte [rsp + 0x5f3], al
movsx ecx, byte [rsp + 0x5f3]
mov eax, dword [rsp + 0x5c8]
add al, 0x24
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x5f4], al
movsx ecx, byte [rsp + 0x5f4]
mov eax, dword [rsp + 0x5c8]
add al, 0x25
xor eax, ecx
xor eax, 0x30
mov byte [rsp + 0x5f5], al
movsx ecx, byte [rsp + 0x5f5]
mov eax, dword [rsp + 0x5c8]
add al, 0x26
xor eax, ecx
xor eax, 0x32
mov byte [rsp + 0x5f6], al
movsx ecx, byte [rsp + 0x5f6]
mov eax, dword [rsp + 0x5c8]
add al, 0x27
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x5f7], al
movsx ecx, byte [rsp + 0x5f7]
mov eax, dword [rsp + 0x5c8]
add al, 0x28
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x5f8], al
xor eax, eax
mov byte [rsp + 0x5f9], al
movzx eax, byte [rsp + 0x5d0]
lea rdx, [rsp + 0x8b0]
lea rcx, [rsp + 0x5c8]
call fcn.1401b5e30
nop
cmp qword [rax + 0x18], 0x10
jb 0x140062df5
mov rax, qword [rax]
lea r8, [rsp + 0x94]
lea rdx, [rsp + 0x98]
mov rcx, rax
call fcn.140048880
nop
lea rcx, [rsp + 0x8b0]
call fcn.14001c970
cmp dword [rsi + 0xf0], 0
jle 0x1400634c3
lea rcx, [rsi + 0x798]
call fcn.1401dd310
test eax, eax
je 0x1400634c3
mov ebx, dword [rsi + 0xf0]
lea rcx, [rsi + 0x798]
call fcn.1401dd370
cmp eax, ebx
jb 0x1400634c3
mov eax, dword [rsi + 0xf0]
mov dword [rsp + 0x9c], eax
lea rcx, [rsp + 0x970]
call fcn.140055570
mov rbx, rax
mov dword [rsp + 0x550], 0x69
mov ecx, dword [rsp + 0x550]
add cl, 0x69
movsx edx, cl
xor edx, 0x51
mov dword [rsp + 0x554], edx
mov ecx, dword [rsp + 0x554]
mov edx, dword [rsp + 0x550]
xor edx, ecx
xor edx, 0x7b
mov byte [rsp + 0x558], dl
movsx ecx, byte [rsp + 0x558]
mov eax, dword [rsp + 0x550]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x559], al
movsx ecx, byte [rsp + 0x559]
mov eax, dword [rsp + 0x550]
add al, 2
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x55a], al
movsx ecx, byte [rsp + 0x55a]
mov eax, dword [rsp + 0x550]
add al, 3
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x55b], al
movsx ecx, byte [rsp + 0x55b]
mov eax, dword [rsp + 0x550]
add al, 4
xor eax, ecx
xor eax, 0x53
mov byte [rsp + 0x55c], al
movsx ecx, byte [rsp + 0x55c]
mov eax, dword [rsp + 0x550]
add al, 5
xor eax, ecx
xor eax, 0x77
mov byte [rsp + 0x55d], al
movsx ecx, byte [rsp + 0x55d]
mov eax, dword [rsp + 0x550]
add al, 6
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x55e], al
movsx ecx, byte [rsp + 0x55e]
mov eax, dword [rsp + 0x550]
add al, 7
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x55f], al
movsx ecx, byte [rsp + 0x55f]
mov eax, dword [rsp + 0x550]
add al, 8
xor eax, ecx
xor eax, 0x63
mov byte [rsp + 0x560], al
movsx ecx, byte [rsp + 0x560]
mov eax, dword [rsp + 0x550]
add al, 9
xor eax, ecx
xor eax, 0x68
mov byte [rsp + 0x561], al
movsx ecx, byte [rsp + 0x561]
mov eax, dword [rsp + 0x550]
add al, 0xa
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x562], al
movsx ecx, byte [rsp + 0x562]
mov eax, dword [rsp + 0x550]
add al, 0xb
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x563], al
movsx ecx, byte [rsp + 0x563]
mov eax, dword [rsp + 0x550]
add al, 0xc
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x564], al
movsx ecx, byte [rsp + 0x564]
mov eax, dword [rsp + 0x550]
add al, 0xd
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x565], al
movsx ecx, byte [rsp + 0x565]
mov eax, dword [rsp + 0x550]
add al, 0xe
xor eax, ecx
xor eax, 0x62
mov byte [rsp + 0x566], al
movsx ecx, byte [rsp + 0x566]
mov eax, dword [rsp + 0x550]
add al, 0xf
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x567], al
movsx ecx, byte [rsp + 0x567]
mov eax, dword [rsp + 0x550]
add al, 0x10
xor eax, ecx
xor eax, 0x63
mov byte [rsp + 0x568], al
movsx ecx, byte [rsp + 0x568]
mov eax, dword [rsp + 0x550]
add al, 0x11
xor eax, ecx
xor eax, 0x6b
mov byte [rsp + 0x569], al
movsx ecx, byte [rsp + 0x569]
mov eax, dword [rsp + 0x550]
add al, 0x12
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x56a], al
movsx ecx, byte [rsp + 0x56a]
mov eax, dword [rsp + 0x550]
add al, 0x13
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x56b], al
movsx ecx, byte [rsp + 0x56b]
mov eax, dword [rsp + 0x550]
add al, 0x14
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x56c], al
movsx ecx, byte [rsp + 0x56c]
mov eax, dword [rsp + 0x550]
add al, 0x15
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x56d], al
movsx ecx, byte [rsp + 0x56d]
mov eax, dword [rsp + 0x550]
add al, 0x16
xor eax, ecx
xor eax, 0x70
mov byte [rsp + 0x56e], al
movsx ecx, byte [rsp + 0x56e]
mov eax, dword [rsp + 0x550]
add al, 0x17
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x56f], al
movsx ecx, byte [rsp + 0x56f]
mov eax, dword [rsp + 0x550]
add al, 0x18
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x570], al
movsx ecx, byte [rsp + 0x570]
mov eax, dword [rsp + 0x550]
add al, 0x19
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x571], al
movsx ecx, byte [rsp + 0x571]
mov eax, dword [rsp + 0x550]
add al, 0x1a
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x572], al
movsx ecx, byte [rsp + 0x572]
mov eax, dword [rsp + 0x550]
add al, 0x1b
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x573], al
movsx ecx, byte [rsp + 0x573]
mov eax, dword [rsp + 0x550]
add al, 0x1c
xor eax, ecx
xor eax, 0x79
mov byte [rsp + 0x574], al
movsx ecx, byte [rsp + 0x574]
mov eax, dword [rsp + 0x550]
add al, 0x1d
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x575], al
movsx ecx, byte [rsp + 0x575]
mov eax, dword [rsp + 0x550]
add al, 0x1e
xor eax, ecx
xor eax, 0x70
mov byte [rsp + 0x576], al
movsx ecx, byte [rsp + 0x576]
mov eax, dword [rsp + 0x550]
add al, 0x1f
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x577], al
movsx ecx, byte [rsp + 0x577]
mov eax, dword [rsp + 0x550]
add al, 0x20
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x578], al
movsx ecx, byte [rsp + 0x578]
mov eax, dword [rsp + 0x550]
add al, 0x21
xor eax, ecx
xor eax, 0x6c
mov byte [rsp + 0x579], al
movsx ecx, byte [rsp + 0x579]
mov eax, dword [rsp + 0x550]
add al, 0x22
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x57a], al
movsx ecx, byte [rsp + 0x57a]
mov eax, dword [rsp + 0x550]
add al, 0x23
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x57b], al
movsx ecx, byte [rsp + 0x57b]
mov eax, dword [rsp + 0x550]
add al, 0x24
xor eax, ecx
xor eax, 0x66
mov byte [rsp + 0x57c], al
movsx ecx, byte [rsp + 0x57c]
mov eax, dword [rsp + 0x550]
add al, 0x25
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x57d], al
movsx ecx, byte [rsp + 0x57d]
mov eax, dword [rsp + 0x550]
add al, 0x26
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x57e], al
movsx ecx, byte [rsp + 0x57e]
mov eax, dword [rsp + 0x550]
add al, 0x27
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x57f], al
movsx ecx, byte [rsp + 0x57f]
mov eax, dword [rsp + 0x550]
add al, 0x28
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x580], al
movsx ecx, byte [rsp + 0x580]
mov eax, dword [rsp + 0x550]
add al, 0x29
xor eax, ecx
xor eax, 0x7b
mov byte [rsp + 0x581], al
movsx ecx, byte [rsp + 0x581]
mov eax, dword [rsp + 0x550]
add al, 0x2a
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x582], al
movsx ecx, byte [rsp + 0x582]
mov eax, dword [rsp + 0x550]
add al, 0x2b
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x583], al
movsx ecx, byte [rsp + 0x583]
mov eax, dword [rsp + 0x550]
add al, 0x2c
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x584], al
movsx ecx, byte [rsp + 0x584]
mov eax, dword [rsp + 0x550]
add al, 0x2d
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x585], al
movsx ecx, byte [rsp + 0x585]
mov eax, dword [rsp + 0x550]
add al, 0x2e
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x586], al
movsx ecx, byte [rsp + 0x586]
mov eax, dword [rsp + 0x550]
add al, 0x2f
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x587], al
movsx ecx, byte [rsp + 0x587]
mov eax, dword [rsp + 0x550]
add al, 0x30
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x588], al
movsx ecx, byte [rsp + 0x588]
mov eax, dword [rsp + 0x550]
add al, 0x31
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x589], al
movsx ecx, byte [rsp + 0x589]
mov eax, dword [rsp + 0x550]
add al, 0x32
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x58a], al
xor eax, eax
mov byte [rsp + 0x58b], al
movzx eax, byte [rsp + 0x558]
lea rdx, [rsp + 0x8d0]
lea rcx, [rsp + 0x550]
call fcn.140066740
nop
cmp qword [rax + 0x18], 0x10
jb 0x14006348a
mov rax, qword [rax]
lea r8, [rsp + 0x9c]
mov rdx, rbx
mov rcx, rax
call fcn.140048e30
nop
lea rcx, [rsp + 0x8d0]
call fcn.14001c970
nop
lea rcx, [rsp + 0x970]
call fcn.14001c970
xor edx, edx
mov rcx, rsi
call fcn.140065cc0
lea rcx, [rsi + 0x290]
call fcn.140104640
mov r13d, eax
mov dword [rsp + 0x7c], r13d
mov rcx, qword [0x1407417d0]
sub rcx, qword [0x1407417c8]
movabs rax, 0xc30c30c30c30c30d
imul rcx
add rdx, rcx
sar rdx, 7
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
test r13d, r13d
setne cl
cmp r13, rdx
setb al
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x30], rdx
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x20], al
mov r9, qword [rsp + 0x70]
movzx r8d, r12b
mov edx, edi
mov rcx, rsi
call fcn.140057530
cmp dword [rsi + 0xf4], 0
je 0x140063f02
cmp byte [rsi + 0x1158], 0
jne 0x140063f02
cmp dword [rsi + 0x13e8], 0
jne 0x140063f02
lea rcx, [rsi + 0x1170]
lea rdx, [rsp + 0x208]
call fcn.140053f40
cmp qword [rax], 0x12c
jle 0x140063f02
mov rax, qword [rsp + 0x148]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x1400635a9
addsd xmm1, qword [0x1403ceda8]
divsd xmm1, qword [0x1403ced90]
mov ecx, dword [rsi + 0xf4]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x140063f02
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x500], 0x75
mov eax, dword [rsp + 0x500]
add al, 0x75
movsx ecx, al
xor ecx, 0x6e
mov dword [rsp + 0x504], ecx
mov eax, dword [rsp + 0x504]
mov ecx, dword [rsp + 0x500]
xor ecx, eax
xor ecx, 0x41
mov byte [rsp + 0x508], cl
movsx ecx, byte [rsp + 0x508]
mov eax, dword [rsp + 0x500]
inc al
xor eax, ecx
xor eax, 0x76
mov byte [rsp + 0x509], al
movsx ecx, byte [rsp + 0x509]
mov eax, dword [rsp + 0x500]
add al, 2
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x50a], al
movsx ecx, byte [rsp + 0x50a]
mov eax, dword [rsp + 0x500]
add al, 3
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x50b], al
movsx ecx, byte [rsp + 0x50b]
mov eax, dword [rsp + 0x500]
add al, 4
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x50c], al
movsx ecx, byte [rsp + 0x50c]
mov eax, dword [rsp + 0x500]
add al, 5
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x50d], al
movsx ecx, byte [rsp + 0x50d]
mov eax, dword [rsp + 0x500]
add al, 6
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x50e], al
movsx ecx, byte [rsp + 0x50e]
mov eax, dword [rsp + 0x500]
add al, 7
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x50f], al
movsx ecx, byte [rsp + 0x50f]
mov eax, dword [rsp + 0x500]
add al, 8
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x510], al
movsx ecx, byte [rsp + 0x510]
mov eax, dword [rsp + 0x500]
add al, 9
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x511], al
movsx ecx, byte [rsp + 0x511]
mov eax, dword [rsp + 0x500]
add al, 0xa
xor eax, ecx
xor eax, 0x68
mov byte [rsp + 0x512], al
movsx ecx, byte [rsp + 0x512]
mov eax, dword [rsp + 0x500]
add al, 0xb
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x513], al
movsx ecx, byte [rsp + 0x513]
mov eax, dword [rsp + 0x500]
add al, 0xc
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x514], al
movsx ecx, byte [rsp + 0x514]
mov eax, dword [rsp + 0x500]
add al, 0xd
xor eax, ecx
xor eax, 0x68
mov byte [rsp + 0x515], al
movsx ecx, byte [rsp + 0x515]
mov eax, dword [rsp + 0x500]
add al, 0xe
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x516], al
movsx ecx, byte [rsp + 0x516]
mov eax, dword [rsp + 0x500]
add al, 0xf
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x517], al
movsx ecx, byte [rsp + 0x517]
mov eax, dword [rsp + 0x500]
add al, 0x10
xor eax, ecx
xor eax, 0x70
mov byte [rsp + 0x518], al
movsx ecx, byte [rsp + 0x518]
mov eax, dword [rsp + 0x500]
add al, 0x11
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x519], al
movsx ecx, byte [rsp + 0x519]
mov eax, dword [rsp + 0x500]
add al, 0x12
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x51a], al
movsx ecx, byte [rsp + 0x51a]
mov eax, dword [rsp + 0x500]
add al, 0x13
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x51b], al
movsx ecx, byte [rsp + 0x51b]
mov eax, dword [rsp + 0x500]
add al, 0x14
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x51c], al
movsx ecx, byte [rsp + 0x51c]
mov eax, dword [rsp + 0x500]
add al, 0x15
xor eax, ecx
xor eax, 0x66
mov byte [rsp + 0x51d], al
movsx ecx, byte [rsp + 0x51d]
mov eax, dword [rsp + 0x500]
add al, 0x16
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x51e], al
movsx ecx, byte [rsp + 0x51e]
mov eax, dword [rsp + 0x500]
add al, 0x17
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x51f], al
movsx ecx, byte [rsp + 0x51f]
mov eax, dword [rsp + 0x500]
add al, 0x18
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x520], al
movsx ecx, byte [rsp + 0x520]
mov eax, dword [rsp + 0x500]
add al, 0x19
xor eax, ecx
xor eax, 0x35
mov byte [rsp + 0x521], al
movsx ecx, byte [rsp + 0x521]
mov eax, dword [rsp + 0x500]
add al, 0x1a
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x522], al
movsx ecx, byte [rsp + 0x522]
mov eax, dword [rsp + 0x500]
add al, 0x1b
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x523], al
movsx ecx, byte [rsp + 0x523]
mov eax, dword [rsp + 0x500]
add al, 0x1c
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x524], al
movsx ecx, byte [rsp + 0x524]
mov eax, dword [rsp + 0x500]
add al, 0x1d
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x525], al
movsx ecx, byte [rsp + 0x525]
mov eax, dword [rsp + 0x500]
add al, 0x1e
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x526], al
movsx ecx, byte [rsp + 0x526]
mov eax, dword [rsp + 0x500]
add al, 0x1f
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x527], al
movsx ecx, byte [rsp + 0x527]
mov eax, dword [rsp + 0x500]
add al, 0x20
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x528], al
movsx ecx, byte [rsp + 0x528]
mov eax, dword [rsp + 0x500]
add al, 0x21
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x529], al
movsx ecx, byte [rsp + 0x529]
mov eax, dword [rsp + 0x500]
add al, 0x22
xor eax, ecx
xor eax, 0x62
mov byte [rsp + 0x52a], al
movsx ecx, byte [rsp + 0x52a]
mov eax, dword [rsp + 0x500]
add al, 0x23
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x52b], al
movsx ecx, byte [rsp + 0x52b]
mov eax, dword [rsp + 0x500]
add al, 0x24
xor eax, ecx
xor eax, 0x6c
mov byte [rsp + 0x52c], al
movsx ecx, byte [rsp + 0x52c]
mov eax, dword [rsp + 0x500]
add al, 0x25
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x52d], al
movsx ecx, byte [rsp + 0x52d]
mov eax, dword [rsp + 0x500]
add al, 0x26
xor eax, ecx
xor eax, 0x77
mov byte [rsp + 0x52e], al
movsx ecx, byte [rsp + 0x52e]
mov eax, dword [rsp + 0x500]
add al, 0x27
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x52f], al
movsx ecx, byte [rsp + 0x52f]
mov eax, dword [rsp + 0x500]
add al, 0x28
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x530], al
movsx ecx, byte [rsp + 0x530]
mov eax, dword [rsp + 0x500]
add al, 0x29
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x531], al
movsx ecx, byte [rsp + 0x531]
mov eax, dword [rsp + 0x500]
add al, 0x2a
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x532], al
movsx ecx, byte [rsp + 0x532]
mov eax, dword [rsp + 0x500]
add al, 0x2b
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x533], al
movsx ecx, byte [rsp + 0x533]
mov eax, dword [rsp + 0x500]
add al, 0x2c
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x534], al
movsx ecx, byte [rsp + 0x534]
mov eax, dword [rsp + 0x500]
add al, 0x2d
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x535], al
movsx ecx, byte [rsp + 0x535]
mov eax, dword [rsp + 0x500]
add al, 0x2e
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x536], al
movsx ecx, byte [rsp + 0x536]
mov eax, dword [rsp + 0x500]
add al, 0x2f
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x537], al
movsx ecx, byte [rsp + 0x537]
mov eax, dword [rsp + 0x500]
add al, 0x30
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x538], al
movsx ecx, byte [rsp + 0x538]
mov eax, dword [rsp + 0x500]
add al, 0x31
xor eax, ecx
xor eax, 0x66
mov byte [rsp + 0x539], al
movsx ecx, byte [rsp + 0x539]
mov eax, dword [rsp + 0x500]
add al, 0x32
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x53a], al
movsx ecx, byte [rsp + 0x53a]
mov eax, dword [rsp + 0x500]
add al, 0x33
xor eax, ecx
xor eax, 0x7b
mov byte [rsp + 0x53b], al
movsx ecx, byte [rsp + 0x53b]
mov eax, dword [rsp + 0x500]
add al, 0x34
xor eax, ecx
xor eax, 0x7d
mov byte [rsp + 0x53c], al
movsx ecx, byte [rsp + 0x53c]
mov eax, dword [rsp + 0x500]
add al, 0x35
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x53d], al
movsx ecx, byte [rsp + 0x53d]
mov eax, dword [rsp + 0x500]
add al, 0x36
xor eax, ecx
xor eax, 0x4d
mov byte [rsp + 0x53e], al
movsx ecx, byte [rsp + 0x53e]
mov eax, dword [rsp + 0x500]
add al, 0x37
xor eax, ecx
xor eax, 0x48
mov byte [rsp + 0x53f], al
movsx ecx, byte [rsp + 0x53f]
mov eax, dword [rsp + 0x500]
add al, 0x38
xor eax, ecx
xor eax, 0x2f
mov byte [rsp + 0x540], al
movsx ecx, byte [rsp + 0x540]
mov eax, dword [rsp + 0x500]
add al, 0x39
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x541], al
movsx ecx, byte [rsp + 0x541]
mov eax, dword [rsp + 0x500]
add al, 0x3a
xor eax, ecx
xor eax, 0x2e
mov byte [rsp + 0x542], al
movsx ecx, byte [rsp + 0x542]
mov eax, dword [rsp + 0x500]
add al, 0x3b
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x543], al
movsx ecx, byte [rsp + 0x543]
mov eax, dword [rsp + 0x500]
add al, 0x3c
xor eax, ecx
xor eax, 0x52
mov byte [rsp + 0x544], al
movsx ecx, byte [rsp + 0x544]
mov eax, dword [rsp + 0x500]
add al, 0x3d
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x545], al
movsx ecx, byte [rsp + 0x545]
mov eax, dword [rsp + 0x500]
add al, 0x3e
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x546], al
movsx ecx, byte [rsp + 0x546]
mov eax, dword [rsp + 0x500]
add al, 0x3f
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x547], al
movsx ecx, byte [rsp + 0x547]
mov eax, dword [rsp + 0x500]
add al, 0x40
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x548], al
movsx ecx, byte [rsp + 0x548]
mov eax, dword [rsp + 0x500]
add al, 0x41
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x549], al
movsx ecx, byte [rsp + 0x549]
mov eax, dword [rsp + 0x500]
add al, 0x42
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x54a], al
movsx ecx, byte [rsp + 0x54a]
mov eax, dword [rsp + 0x500]
add al, 0x43
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x54b], al
movsx ecx, byte [rsp + 0x54b]
mov eax, dword [rsp + 0x500]
add al, 0x44
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x54c], al
movsx ecx, byte [rsp + 0x54c]
mov eax, dword [rsp + 0x500]
add al, 0x45
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x54d], al
movsx ecx, byte [rsp + 0x54d]
mov eax, dword [rsp + 0x500]
add al, 0x46
xor eax, ecx
xor eax, 0x21
mov byte [rsp + 0x54e], al
xor eax, eax
mov byte [rsp + 0x54f], al
movzx eax, byte [rsp + 0x508]
lea rdx, [rsp + 0x910]
lea rcx, [rsp + 0x500]
call fcn.14008ef00
nop
cmp qword [rax + 0x18], 0x10
jb 0x140063e38
mov rax, qword [rax]
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.140048710
nop
lea rcx, [rsp + 0x910]
call fcn.14001c970
mov dword [rsp + 0xa8], r14d
mov rcx, qword [rsi + 0x1328]
test rcx, rcx
jne 0x140063e70
call fcn.14032c3e4
int3
mov rax, qword [rcx]
lea rdx, [rsp + 0xa8]
call qword [rax + 0x10]
nop
mov r9, qword [rsp + 0x80]
mov qword [rsp + 0x210], r9
mov r8, qword [r9]
mov qword [rsp + 0x218], r8
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x80]
call fcn.140053d00
mov r8, r15
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.1400528c0
nop
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140063edd
lea rcx, [rsp + 0x58]
call fcn.14004c6f0
nop
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x228], r9
mov r8, qword [r9]
mov qword [rsp + 0x230], r8
lea rdx, [rsp + 0x238]
jmp 0x140064871
xor edx, edx
mov rcx, rsi
call fcn.140066060
nop
lea rcx, [rsi + 0x12a0]
call fcn.14032d750
test eax, eax
je 0x140063f25
mov ecx, eax
call fcn.14032db2c
nop
mov r9, qword [rsp + 0x80]
mov qword [rsp + 0x240], r9
mov r8, qword [r9]
mov qword [rsp + 0x248], r8
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x80]
call fcn.140053d00
mov r8, r15
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.1400528c0
mov rax, qword [rsi + 0x1340]
movzx ecx, byte [rax + 0x78]
test cl, cl
je 0x1400640f0
mov r8d, r15d
mov edx, 3
lea rcx, [rsp + 0x400]
call fcn.140049b80
nop
mov r8b, 1
lea rdx, [rsp + 0xe8]
mov rcx, qword [rsi + 0x1340]
call fcn.140043390
nop
mov eax, dword [rsi + 0x1a8]
mov dword [rsp + 0x20], eax
movsd xmm3, qword [rsi + 0x1b8]
mov r8d, dword [rsi + 0x1b0]
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0xe8]
call fcn.140043960
test eax, eax
jle 0x140064088
lea rdx, [rsp + 0x950]
lea rcx, [rsp + 0x400]
call fcn.140067cf0
mov rbx, rax
mov dword [rsp + 0x720], 0x54
mov ecx, dword [rsp + 0x720]
xor ecx, 0x7b
add ecx, 5
mov byte [rsp + 0x724], cl
movsx edx, byte [rsp + 0x724]
xor edx, 0x7d
add edx, 5
mov byte [rsp + 0x725], dl
mov byte [rsp + 0x726], 0
movzx eax, byte [rsp + 0x724]
lea rdx, [rsp + 0x930]
lea rcx, [rsp + 0x720]
call fcn.1400669b0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140064060
mov rax, qword [rax]
mov rdx, rbx
mov rcx, rax
call fcn.140048c70
nop
lea rcx, [rsp + 0x930]
call fcn.14001c970
nop
lea rcx, [rsp + 0x950]
call fcn.14001c970
nop
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x1400640c5
mov r8, qword [rsp + 0xf8]
sub r8, rdx
sar r8, 5
lea rcx, [rsp + 0xe8]
call fcn.140052850
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xf8], r14
lea rcx, [rsp + 0x498]
call fcn.14004bb20
nop
lea rax, [0x1403d0630]
mov qword [rsp + 0x498], rax
lea rcx, [rsp + 0x498]
call fcn.14032dce0
nop
lea rcx, [rsp + 0x42]
call fcn.1401c3660
test al, al
je 0x140064121
movsx edx, byte [rsp + 0x42]
mov rcx, rsi
call fcn.14005c710
test al, al
jne 0x140064121
mov rcx, rsi
call fcn.1400661b0
mov rbx, qword [rsp + 0x58]
jmp 0x140064836
movzx eax, byte [rsi + 0x1440]
test al, al
je 0x140064134
mov rcx, rsi
call fcn.140052b50
cmp byte [rsi + 0x13e0], 0
je 0x14006414c
mov rcx, rsi
call fcn.140068280
mov byte [rsi + 0x13e0], 0
test r13d, r13d
setne dl
mov rcx, rsi
call fcn.14005bc80
movzx eax, byte [rsi + 0x418]
test al, al
jne 0x1400641d4
cmp dword [0x140741808], 0
je 0x1400641d4
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x14006418e
mov rcx, rbx
call fcn.14002db70
mov edx, 0x70
mov rcx, rbx
call fcn.14034da9c
nop
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x258], r9
mov r8, qword [r9]
mov qword [rsp + 0x260], r8
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x48]
call fcn.140053d00
mov r8, r15
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400528c0
mov eax, 0x15b
jmp 0x14006488f
mov eax, r15d
lock xadd dword [rsi + 0x410], eax
lea rcx, [rsi + 0x798]
call fcn.140054e00
test al, al
je 0x140064672
call fcn.14032cee0
mov rbx, rax
call fcn.14032cec4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov qword [rsp + 0x270], rcx
movabs rax, 0x112e0be826d694b3
imul rcx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x278], rdx
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x288], rdx
mov rax, qword [rsi + 0xfb0]
cmp rdx, rax
jbe 0x140064672
sub rdx, rax
cmp rdx, 0x32
jbe 0x140064672
cmp dword [0x140741808], 0
jne 0x1400645fe
mov qword [rsp + 0x110], rdx
mov dword [rsp + 0x680], 0x11
mov eax, dword [rsp + 0x680]
xor eax, 0x53
add eax, 6
mov byte [rsp + 0x684], al
movsx ecx, byte [rsp + 0x684]
xor ecx, 0x74
add ecx, 6
mov byte [rsp + 0x685], cl
movsx ecx, byte [rsp + 0x685]
xor ecx, 0x72
add ecx, 6
mov byte [rsp + 0x686], cl
movsx ecx, byte [rsp + 0x686]
xor ecx, 0x61
add ecx, 6
mov byte [rsp + 0x687], cl
movsx ecx, byte [rsp + 0x687]
xor ecx, 0x74
add ecx, 6
mov byte [rsp + 0x688], cl
movsx ecx, byte [rsp + 0x688]
xor ecx, 0x75
add ecx, 6
mov byte [rsp + 0x689], cl
movsx ecx, byte [rsp + 0x689]
xor ecx, 0x6d
add ecx, 6
mov byte [rsp + 0x68a], cl
movsx ecx, byte [rsp + 0x68a]
xor ecx, 0x20
add ecx, 6
mov byte [rsp + 0x68b], cl
movsx ecx, byte [rsp + 0x68b]
xor ecx, 0x74
add ecx, 6
mov byte [rsp + 0x68c], cl
movsx ecx, byte [rsp + 0x68c]
xor ecx, 0x68
add ecx, 6
mov byte [rsp + 0x68d], cl
movsx ecx, byte [rsp + 0x68d]
xor ecx, 0x72
add ecx, 6
mov byte [rsp + 0x68e], cl
movsx ecx, byte [rsp + 0x68e]
xor ecx, 0x65
add ecx, 6
mov byte [rsp + 0x68f], cl
movsx ecx, byte [rsp + 0x68f]
xor ecx, 0x61
add ecx, 6
mov byte [rsp + 0x690], cl
movsx ecx, byte [rsp + 0x690]
xor ecx, 0x64
add ecx, 6
mov byte [rsp + 0x691], cl
movsx ecx, byte [rsp + 0x691]
xor ecx, 0x20
add ecx, 6
mov byte [rsp + 0x692], cl
movsx ecx, byte [rsp + 0x692]
xor ecx, 0x6e
add ecx, 6
mov byte [rsp + 0x693], cl
movsx ecx, byte [rsp + 0x693]
xor ecx, 0x6f
add ecx, 6
mov byte [rsp + 0x694], cl
movsx ecx, byte [rsp + 0x694]
xor ecx, 0x74
add ecx, 6
mov byte [rsp + 0x695], cl
movsx ecx, byte [rsp + 0x695]
xor ecx, 0x20
add ecx, 6
mov byte [rsp + 0x696], cl
movsx ecx, byte [rsp + 0x696]
xor ecx, 0x72
add ecx, 6
mov byte [rsp + 0x697], cl
movsx ecx, byte [rsp + 0x697]
xor ecx, 0x65
add ecx, 6
mov byte [rsp + 0x698], cl
movsx ecx, byte [rsp + 0x698]
xor ecx, 0x73
add ecx, 6
mov byte [rsp + 0x699], cl
movsx ecx, byte [rsp + 0x699]
xor ecx, 0x70
add ecx, 6
mov byte [rsp + 0x69a], cl
movsx ecx, byte [rsp + 0x69a]
xor ecx, 0x6f
add ecx, 6
mov byte [rsp + 0x69b], cl
movsx ecx, byte [rsp + 0x69b]
xor ecx, 0x6e
add ecx, 6
mov byte [rsp + 0x69c], cl
movsx ecx, byte [rsp + 0x69c]
xor ecx, 0x73
add ecx, 6
mov byte [rsp + 0x69d], cl
movsx ecx, byte [rsp + 0x69d]
xor ecx, 0x69
add ecx, 6
mov byte [rsp + 0x69e], cl
movsx ecx, byte [rsp + 0x69e]
xor ecx, 0x76
add ecx, 6
mov byte [rsp + 0x69f], cl
movsx ecx, byte [rsp + 0x69f]
xor ecx, 0x65
add ecx, 6
mov byte [rsp + 0x6a0], cl
movsx ecx, byte [rsp + 0x6a0]
xor ecx, 0x20
add ecx, 6
mov byte [rsp + 0x6a1], cl
movsx ecx, byte [rsp + 0x6a1]
xor ecx, 0x66
add ecx, 6
mov byte [rsp + 0x6a2], cl
movsx ecx, byte [rsp + 0x6a2]
xor ecx, 0x6f
add ecx, 6
mov byte [rsp + 0x6a3], cl
movsx ecx, byte [rsp + 0x6a3]
xor ecx, 0x72
add ecx, 6
mov byte [rsp + 0x6a4], cl
movsx ecx, byte [rsp + 0x6a4]
xor ecx, 0x20
add ecx, 6
mov byte [rsp + 0x6a5], cl
movsx ecx, byte [rsp + 0x6a5]
xor ecx, 0x7b
add ecx, 6
mov byte [rsp + 0x6a6], cl
movsx ecx, byte [rsp + 0x6a6]
xor ecx, 0x7d
add ecx, 6
mov byte [rsp + 0x6a7], cl
movsx ecx, byte [rsp + 0x6a7]
xor ecx, 0x20
add ecx, 6
mov byte [rsp + 0x6a8], cl
movsx ecx, byte [rsp + 0x6a8]
xor ecx, 0x73
add ecx, 6
mov byte [rsp + 0x6a9], cl
mov byte [rsp + 0x6aa], 0
movzx eax, byte [rsp + 0x684]
lea rdx, [rsp + 0x810]
lea rcx, [rsp + 0x680]
call fcn.140066a60
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400645e0
mov rax, qword [rax]
lea rdx, [rsp + 0x110]
mov rcx, rax
call fcn.1400491f0
nop
lea rcx, [rsp + 0x810]
call fcn.14001c970
lea rcx, [rsi + 0x290]
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x14006462c
mov rcx, rbx
call fcn.14002db70
mov edx, 0x70
mov rcx, rbx
call fcn.14034da9c
nop
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x290], r9
mov r8, qword [r9]
mov qword [rsp + 0x298], r8
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x48]
call fcn.140053d00
mov r8, r15
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400528c0
mov eax, 0x15b
jmp 0x14006488f
mov qword [rsp + 0x118], 0xc8
lea rcx, [rsp + 0x118]
call fcn.140049360
cmp qword [rsp + 0x58], 0
jne 0x1400647ee
cmp dword [rsi + 0x170], 0
je 0x1400647ee
call fcn.14032cfc8
mov rcx, rax
mov qword [rsp + 0x2a8], rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x2b0], rdx
mov qword [rsp + 0x2b8], rdx
mov qword [rsp + 0x2c0], rdx
mov rdi, qword [rsp + 0xd0]
test rdi, rdi
je 0x140064709
mov rax, rdx
sub rax, rdi
cmp rax, 0x258
jbe 0x1400647ee
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x70], rdx
mov eax, dword [rsi + 0x1b0]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsi + 0x170]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsi + 0x16c]
mov dword [rsp + 0xb8], eax
mov qword [rsp + 0xe0], rsi
lea rax, [rsi + 0x178]
lea r8, [rsi + 0x150]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x120]
call fcn.140047ce0
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14004c460
mov rbx, qword [rsp + 0x120]
test rbx, rbx
je 0x1400647be
mov rcx, rbx
call fcn.14002db70
mov edx, 0x70
mov rcx, rbx
call fcn.14034da9c
mov rcx, qword [rsp + 0x58]
call fcn.14003f4c0
nop
jmp 0x1400647ee
lea rax, [0x14004e7b0]
add rax, 0x19f
mov qword [rsp + 0x150], rax
mov dword [rsp + 0x158], 0x19f
movaps xmm0, xmmword [rsp + 0x150]
movdqa xmmword [rsp + 0x310], xmm0
lea rcx, [rsp + 0x310]
call fcn.1400144e0
mov rbx, qword [rsp + 0x58]
jmp 0x140061cd0
test rbx, rbx
je 0x140064851
mov rcx, rbx
call fcn.14002db70
mov edx, 0x70
mov rcx, rbx
call fcn.14034da9c
nop
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x2c8], r9
mov r8, qword [r9]
mov qword [rsp + 0x2d0], r8
lea rdx, [rsp + 0x2d8]
lea rcx, [rsp + 0x48]
call fcn.140053d00
mov r8, r15
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400528c0
xor eax, eax
mov rcx, qword [rsp + 0x990]
xor rcx, rsp
call fcn.14034de80
lea r11, [rsp + 0x9a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret