Function at 0x140087650
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x220
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140735840]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov rsi, rcx
mov r9d, dword [rcx + 0x118]
mov r8d, dword [rcx + 0x28]
mov edx, dword [rcx + 0x24]
lea rcx, [rsp + 0x28]
call fcn.1400873c0
nop
mov r8d, 1
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.1400fd6f0
mov rbx, rax
lea rax, [rsp + 0x28]
xor edi, edi
cmp rax, rbx
je 0x1400876fe
lea rcx, [rsp + 0x28]
call fcn.140081ba0
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x38], rcx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
movabs r14, 0xc30c30c30c30c30d
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140087765
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.140075fe0
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x40]
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.1400823c0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
sete al
test al, al
je 0x140087cca
mov dword [rbp - 0x70], 0x1e
mov eax, dword [rbp - 0x70]
add al, 0x1e
movsx ecx, al
xor ecx, 0x54
mov dword [rbp - 0x6c], ecx
mov eax, dword [rbp - 0x6c]
mov ecx, dword [rbp - 0x70]
xor ecx, eax
xor ecx, 0x4e
mov byte [rbp - 0x68], cl
movsx ecx, byte [rbp - 0x68]
mov eax, dword [rbp - 0x70]
inc al
xor eax, ecx
xor eax, 0x6f
mov byte [rbp - 0x67], al
movsx ecx, byte [rbp - 0x67]
mov eax, dword [rbp - 0x70]
add al, 2
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x66], al
movsx ecx, byte [rbp - 0x66]
mov eax, dword [rbp - 0x70]
add al, 3
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x65], al
movsx ecx, byte [rbp - 0x65]
mov eax, dword [rbp - 0x70]
add al, 4
xor eax, ecx
xor eax, 0x76
mov byte [rbp - 0x64], al
movsx ecx, byte [rbp - 0x64]
mov eax, dword [rbp - 0x70]
add al, 5
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x63], al
movsx ecx, byte [rbp - 0x63]
mov eax, dword [rbp - 0x70]
add al, 6
xor eax, ecx
xor eax, 0x69
mov byte [rbp - 0x62], al
movsx ecx, byte [rbp - 0x62]
mov eax, dword [rbp - 0x70]
add al, 7
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x61], al
movsx ecx, byte [rbp - 0x61]
mov eax, dword [rbp - 0x70]
add al, 8
xor eax, ecx
xor eax, 0x62
mov byte [rbp - 0x60], al
movsx ecx, byte [rbp - 0x60]
mov eax, dword [rbp - 0x70]
add al, 9
xor eax, ecx
xor eax, 0x6c
mov byte [rbp - 0x5f], al
movsx ecx, byte [rbp - 0x5f]
mov eax, dword [rbp - 0x70]
add al, 0xa
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0x5e], al
movsx ecx, byte [rbp - 0x5e]
mov eax, dword [rbp - 0x70]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x5d], al
movsx ecx, byte [rbp - 0x5d]
mov eax, dword [rbp - 0x70]
add al, 0xc
xor eax, ecx
xor eax, 0x47
mov byte [rbp - 0x5c], al
movsx ecx, byte [rbp - 0x5c]
mov eax, dword [rbp - 0x70]
add al, 0xd
xor eax, ecx
xor eax, 0x50
mov byte [rbp - 0x5b], al
movsx ecx, byte [rbp - 0x5b]
mov eax, dword [rbp - 0x70]
add al, 0xe
xor eax, ecx
xor eax, 0x55
mov byte [rbp - 0x5a], al
movsx ecx, byte [rbp - 0x5a]
mov eax, dword [rbp - 0x70]
add al, 0xf
xor eax, ecx
xor eax, 0x73
mov byte [rbp - 0x59], al
movsx ecx, byte [rbp - 0x59]
mov eax, dword [rbp - 0x70]
add al, 0x10
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x58], al
movsx ecx, byte [rbp - 0x58]
mov eax, dword [rbp - 0x70]
add al, 0x11
xor eax, ecx
xor eax, 0x66
mov byte [rbp - 0x57], al
movsx ecx, byte [rbp - 0x57]
mov eax, dword [rbp - 0x70]
add al, 0x12
xor eax, ecx
xor eax, 0x6f
mov byte [rbp - 0x56], al
movsx ecx, byte [rbp - 0x56]
mov eax, dword [rbp - 0x70]
add al, 0x13
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x55], al
movsx ecx, byte [rbp - 0x55]
mov eax, dword [rbp - 0x70]
add al, 0x14
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x54], al
movsx ecx, byte [rbp - 0x54]
mov eax, dword [rbp - 0x70]
add al, 0x15
xor eax, ecx
xor eax, 0x6d
mov byte [rbp - 0x53], al
movsx ecx, byte [rbp - 0x53]
mov eax, dword [rbp - 0x70]
add al, 0x16
xor eax, ecx
xor eax, 0x69
mov byte [rbp - 0x52], al
movsx ecx, byte [rbp - 0x52]
mov eax, dword [rbp - 0x70]
add al, 0x17
xor eax, ecx
xor eax, 0x6e
mov byte [rbp - 0x51], al
movsx ecx, byte [rbp - 0x51]
mov eax, dword [rbp - 0x70]
add al, 0x18
xor eax, ecx
xor eax, 0x69
mov byte [rbp - 0x50], al
movsx ecx, byte [rbp - 0x50]
mov eax, dword [rbp - 0x70]
add al, 0x19
xor eax, ecx
xor eax, 0x6e
mov byte [rbp - 0x4f], al
movsx ecx, byte [rbp - 0x4f]
mov eax, dword [rbp - 0x70]
add al, 0x1a
xor eax, ecx
xor eax, 0x67
mov byte [rbp - 0x4e], al
movsx ecx, byte [rbp - 0x4e]
mov eax, dword [rbp - 0x70]
add al, 0x1b
xor eax, ecx
xor eax, 0x2e
mov byte [rbp - 0x4d], al
movsx ecx, byte [rbp - 0x4d]
mov eax, dword [rbp - 0x70]
add al, 0x1c
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x4c], al
movsx ecx, byte [rbp - 0x4c]
mov eax, dword [rbp - 0x70]
add al, 0x1d
xor eax, ecx
xor eax, 0x50
mov byte [rbp - 0x4b], al
movsx ecx, byte [rbp - 0x4b]
mov eax, dword [rbp - 0x70]
add al, 0x1e
xor eax, ecx
xor eax, 0x6c
mov byte [rbp - 0x4a], al
movsx ecx, byte [rbp - 0x4a]
mov eax, dword [rbp - 0x70]
add al, 0x1f
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0x49], al
movsx ecx, byte [rbp - 0x49]
mov eax, dword [rbp - 0x70]
add al, 0x20
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x48], al
movsx ecx, byte [rbp - 0x48]
mov eax, dword [rbp - 0x70]
add al, 0x21
xor eax, ecx
xor eax, 0x73
mov byte [rbp - 0x47], al
movsx ecx, byte [rbp - 0x47]
mov eax, dword [rbp - 0x70]
add al, 0x22
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0x46], al
movsx ecx, byte [rbp - 0x46]
mov eax, dword [rbp - 0x70]
add al, 0x23
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x45], al
movsx ecx, byte [rbp - 0x45]
mov eax, dword [rbp - 0x70]
add al, 0x24
xor eax, ecx
xor eax, 0x63
mov byte [rbp - 0x44], al
movsx ecx, byte [rbp - 0x44]
mov eax, dword [rbp - 0x70]
add al, 0x25
xor eax, ecx
xor eax, 0x68
mov byte [rbp - 0x43], al
movsx ecx, byte [rbp - 0x43]
mov eax, dword [rbp - 0x70]
add al, 0x26
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0x42], al
movsx ecx, byte [rbp - 0x42]
mov eax, dword [rbp - 0x70]
add al, 0x27
xor eax, ecx
xor eax, 0x63
mov byte [rbp - 0x41], al
movsx ecx, byte [rbp - 0x41]
mov eax, dword [rbp - 0x70]
add al, 0x28
xor eax, ecx
xor eax, 0x6b
mov byte [rbp - 0x40], al
movsx ecx, byte [rbp - 0x40]
mov eax, dword [rbp - 0x70]
add al, 0x29
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x3f], al
movsx ecx, byte [rbp - 0x3f]
mov eax, dword [rbp - 0x70]
add al, 0x2a
xor eax, ecx
xor eax, 0x79
mov byte [rbp - 0x3e], al
movsx ecx, byte [rbp - 0x3e]
mov eax, dword [rbp - 0x70]
add al, 0x2b
xor eax, ecx
xor eax, 0x6f
mov byte [rbp - 0x3d], al
movsx ecx, byte [rbp - 0x3d]
mov eax, dword [rbp - 0x70]
add al, 0x2c
xor eax, ecx
xor eax, 0x75
mov byte [rbp - 0x3c], al
movsx ecx, byte [rbp - 0x3c]
mov eax, dword [rbp - 0x70]
add al, 0x2d
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x3b], al
movsx ecx, byte [rbp - 0x3b]
mov eax, dword [rbp - 0x70]
add al, 0x2e
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x3a], al
movsx ecx, byte [rbp - 0x3a]
mov eax, dword [rbp - 0x70]
add al, 0x2f
xor eax, ecx
xor eax, 0x64
mov byte [rbp - 0x39], al
movsx ecx, byte [rbp - 0x39]
mov eax, dword [rbp - 0x70]
add al, 0x30
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x38], al
movsx ecx, byte [rbp - 0x38]
mov eax, dword [rbp - 0x70]
add al, 0x31
xor eax, ecx
xor eax, 0x69
mov byte [rbp - 0x37], al
movsx ecx, byte [rbp - 0x37]
mov eax, dword [rbp - 0x70]
add al, 0x32
xor eax, ecx
xor eax, 0x76
mov byte [rbp - 0x36], al
movsx ecx, byte [rbp - 0x36]
mov eax, dword [rbp - 0x70]
add al, 0x33
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0x35], al
movsx ecx, byte [rbp - 0x35]
mov eax, dword [rbp - 0x70]
add al, 0x34
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x34], al
movsx ecx, byte [rbp - 0x34]
mov eax, dword [rbp - 0x70]
add al, 0x35
xor eax, ecx
xor eax, 0x73
mov byte [rbp - 0x33], al
movsx ecx, byte [rbp - 0x33]
mov eax, dword [rbp - 0x70]
add al, 0x36
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x32], al
movsx ecx, byte [rbp - 0x32]
mov eax, dword [rbp - 0x70]
add al, 0x37
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x31], al
movsx ecx, byte [rbp - 0x31]
mov eax, dword [rbp - 0x70]
add al, 0x38
xor eax, ecx
xor eax, 0x6e
mov byte [rbp - 0x30], al
movsx ecx, byte [rbp - 0x30]
mov eax, dword [rbp - 0x70]
add al, 0x39
xor eax, ecx
xor eax, 0x64
mov byte [rbp - 0x2f], al
movsx ecx, byte [rbp - 0x2f]
mov eax, dword [rbp - 0x70]
add al, 0x3a
xor eax, ecx
xor eax, 0x2f
mov byte [rbp - 0x2e], al
movsx ecx, byte [rbp - 0x2e]
mov eax, dword [rbp - 0x70]
add al, 0x3b
xor eax, ecx
xor eax, 0x6f
mov byte [rbp - 0x2d], al
movsx ecx, byte [rbp - 0x2d]
mov eax, dword [rbp - 0x70]
add al, 0x3c
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x2c], al
movsx ecx, byte [rbp - 0x2c]
mov eax, dword [rbp - 0x70]
add al, 0x3d
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x2b], al
movsx ecx, byte [rbp - 0x2b]
mov eax, dword [rbp - 0x70]
add al, 0x3e
xor eax, ecx
xor eax, 0x68
mov byte [rbp - 0x2a], al
movsx ecx, byte [rbp - 0x2a]
mov eax, dword [rbp - 0x70]
add al, 0x3f
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x29], al
movsx ecx, byte [rbp - 0x29]
mov eax, dword [rbp - 0x70]
add al, 0x40
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x28], al
movsx ecx, byte [rbp - 0x28]
mov eax, dword [rbp - 0x70]
add al, 0x41
xor eax, ecx
xor eax, 0x64
mov byte [rbp - 0x27], al
movsx ecx, byte [rbp - 0x27]
mov eax, dword [rbp - 0x70]
add al, 0x42
xor eax, ecx
xor eax, 0x77
mov byte [rbp - 0x26], al
movsx ecx, byte [rbp - 0x26]
mov eax, dword [rbp - 0x70]
add al, 0x43
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x25], al
movsx ecx, byte [rbp - 0x25]
mov eax, dword [rbp - 0x70]
add al, 0x44
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 0x24], al
movsx ecx, byte [rbp - 0x24]
mov eax, dword [rbp - 0x70]
add al, 0x45
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0x23], al
movsx ecx, byte [rbp - 0x23]
mov eax, dword [rbp - 0x70]
add al, 0x46
xor eax, ecx
xor eax, 0x2e
mov byte [rbp - 0x22], al
xor eax, eax
mov byte [rbp - 0x21], al
movzx eax, byte [rbp - 0x68]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14008ef00
nop
cmp qword [rax + 0x18], 0x10
jb 0x140087c64
mov rax, qword [rax]
mov rcx, rax
call fcn.1400795a0
nop
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
jb 0x140087cc3
inc rax
mov rcx, qword [rbp + 0x40]
cmp rax, 0x1000
jb 0x140087cbe
test cl, 0x1f
je 0x140087c91
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140087ca0
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x140087caf
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x140087cbb
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
xor bl, bl
jmp 0x1400884b4
lea rdx, [rsi + 0xb0]
lea rcx, [rsp + 0x70]
call fcn.140049f20
nop
mov rax, qword [rsp + 0x78]
cmp qword [rsp + 0x70], rax
sete al
test al, al
jne 0x1400882e2
cmp byte [rsi + 0xc8], al
mov r9d, edi
jne 0x140087d03
mov r9d, dword [rsi + 0x280]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x58]
call fcn.140100150
mov rbx, rax
lea rax, [rsp + 0x28]
cmp rax, rbx
je 0x140087d53
lea rcx, [rsp + 0x28]
call fcn.140081ba0
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x38], rcx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140087db0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
call fcn.140075fe0
mov rcx, qword [rsp + 0x68]
sub rcx, qword [rsp + 0x58]
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.1400823c0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rdi
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
sete al
test al, al
je 0x1400882ec
mov dword [rbp - 0x20], 0x55
mov eax, dword [rbp - 0x20]
add al, 0x55
movsx ecx, al
xor ecx, 0x10
mov dword [rbp - 0x1c], ecx
mov eax, dword [rbp - 0x1c]
mov ecx, dword [rbp - 0x20]
xor ecx, eax
xor ecx, 0x4e
mov byte [rbp - 0x18], cl
movsx ecx, byte [rbp - 0x18]
mov eax, dword [rbp - 0x20]
inc al
xor eax, ecx
xor eax, 0x6f
mov byte [rbp - 0x17], al
movsx ecx, byte [rbp - 0x17]
mov eax, dword [rbp - 0x20]
add al, 2
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0x16], al
movsx ecx, byte [rbp - 0x16]
mov eax, dword [rbp - 0x20]
add al, 3
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x15], al
movsx ecx, byte [rbp - 0x15]
mov eax, dword [rbp - 0x20]
add al, 4
xor eax, ecx
xor eax, 0x76
mov byte [rbp - 0x14], al
movsx ecx, byte [rbp - 0x14]
mov eax, dword [rbp - 0x20]
add al, 5
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x13], al
movsx ecx, byte [rbp - 0x13]
mov eax, dword [rbp - 0x20]
add al, 6
xor eax, ecx
xor eax, 0x69
mov byte [rbp - 0x12], al
movsx ecx, byte [rbp - 0x12]
mov eax, dword [rbp - 0x20]
add al, 7
xor eax, ecx
xor eax, 0x61
mov byte [rbp - 0x11], al
movsx ecx, byte [rbp - 0x11]
mov eax, dword [rbp - 0x20]
add al, 8
xor eax, ecx
xor eax, 0x62
mov byte [rbp - 0x10], al
movsx ecx, byte [rbp - 0x10]
mov eax, dword [rbp - 0x20]
add al, 9
xor eax, ecx
xor eax, 0x6c
mov byte [rbp - 0xf], al
movsx ecx, byte [rbp - 0xf]
mov eax, dword [rbp - 0x20]
add al, 0xa
xor eax, ecx
xor eax, 0x65
mov byte [rbp - 0xe], al
movsx ecx, byte [rbp - 0xe]
mov eax, dword [rbp - 0x20]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 0xd], al
movsx ecx, byte [rbp - 0xd]
mov eax, dword [rbp - 0x20]
add al, 0xc
xor eax, ecx
xor eax, 0x47
mov byte [rbp - 0xc], al
movsx ecx, byte [rbp - 0xc]
mov eax, dword [rbp - 0x20]
add al, 0xd
xor eax, ecx
xor eax, 0x50
mov byte [rbp - 0xb], al
movsx ecx, byte [rbp - 0xb]
mov eax, dword [rbp - 0x20]
add al, 0xe
xor eax, ecx
xor eax, 0x55
mov byte [rbp - 0xa], al
movsx ecx, byte [rbp - 0xa]
mov eax, dword [rbp - 0x20]
add al, 0xf
xor eax, ecx
xor eax, 0x73
mov byte [rbp - 9], al
movsx ecx, byte [rbp - 9]
mov eax, dword [rbp - 0x20]
add al, 0x10
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 8], al
movsx ecx, byte [rbp - 8]
mov eax, dword [rbp - 0x20]
add al, 0x11
xor eax, ecx
xor eax, 0x66
mov byte [rbp - 7], al
movsx ecx, byte [rbp - 7]
mov eax, dword [rbp - 0x20]
add al, 0x12
xor eax, ecx
xor eax, 0x6f
mov byte [rbp - 6], al
movsx ecx, byte [rbp - 6]
mov eax, dword [rbp - 0x20]
add al, 0x13
xor eax, ecx
xor eax, 0x72
mov byte [rbp - 5], al
movsx ecx, byte [rbp - 5]
mov eax, dword [rbp - 0x20]
add al, 0x14
xor eax, ecx
xor eax, 0x20
mov byte [rbp - 4], al
movsx ecx, byte [rbp - 4]
mov eax, dword [rbp - 0x20]
add al, 0x15
xor eax, ecx
xor eax, 0x6d
mov byte [rbp - 3], al
movsx ecx, byte [rbp - 3]
mov eax, dword [rbp - 0x20]
add al, 0x16
xor eax, ecx
xor eax, 0x69
mov byte [rbp - 2], al
movsx ecx, byte [rbp - 2]
mov eax, dword [rbp - 0x20]
add al, 0x17
xor eax, ecx
xor eax, 0x6e
mov byte [rbp - 1], al
movsx ecx, byte [rbp - 1]
mov eax, dword [rbp - 0x20]
add al, 0x18
xor eax, ecx
xor eax, 0x69
mov byte [rbp], al
movsx ecx, byte [rbp]
mov eax, dword [rbp - 0x20]
add al, 0x19
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 1], al
movsx ecx, byte [rbp + 1]
mov eax, dword [rbp - 0x20]
add al, 0x1a
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 2], al
movsx ecx, byte [rbp + 2]
mov eax, dword [rbp - 0x20]
add al, 0x1b
xor eax, ecx
xor eax, 0x2e
mov byte [rbp + 3], al
movsx ecx, byte [rbp + 3]
mov eax, dword [rbp - 0x20]
add al, 0x1c
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 4], al
movsx ecx, byte [rbp + 4]
mov eax, dword [rbp - 0x20]
add al, 0x1d
xor eax, ecx
xor eax, 0x50
mov byte [rbp + 5], al
movsx ecx, byte [rbp + 5]
mov eax, dword [rbp - 0x20]
add al, 0x1e
xor eax, ecx
xor eax, 0x6c
mov byte [rbp + 6], al
movsx ecx, byte [rbp + 6]
mov eax, dword [rbp - 0x20]
add al, 0x1f
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 7], al
movsx ecx, byte [rbp + 7]
mov eax, dword [rbp - 0x20]
add al, 0x20
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 8], al
movsx ecx, byte [rbp + 8]
mov eax, dword [rbp - 0x20]
add al, 0x21
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 9], al
movsx ecx, byte [rbp + 9]
mov eax, dword [rbp - 0x20]
add al, 0x22
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0xa], al
movsx ecx, byte [rbp + 0xa]
mov eax, dword [rbp - 0x20]
add al, 0x23
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0xb], al
movsx ecx, byte [rbp + 0xb]
mov eax, dword [rbp - 0x20]
add al, 0x24
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0xc], al
movsx ecx, byte [rbp + 0xc]
mov eax, dword [rbp - 0x20]
add al, 0x25
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0xd], al
movsx ecx, byte [rbp + 0xd]
mov eax, dword [rbp - 0x20]
add al, 0x26
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0xe], al
movsx ecx, byte [rbp + 0xe]
mov eax, dword [rbp - 0x20]
add al, 0x27
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0xf], al
movsx ecx, byte [rbp + 0xf]
mov eax, dword [rbp - 0x20]
add al, 0x28
xor eax, ecx
xor eax, 0x6b
mov byte [rbp + 0x10], al
movsx ecx, byte [rbp + 0x10]
mov eax, dword [rbp - 0x20]
add al, 0x29
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x11], al
movsx ecx, byte [rbp + 0x11]
mov eax, dword [rbp - 0x20]
add al, 0x2a
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x12], al
movsx ecx, byte [rbp + 0x12]
mov eax, dword [rbp - 0x20]
add al, 0x2b
xor eax, ecx
xor eax, 0x68
mov byte [rbp + 0x13], al
movsx ecx, byte [rbp + 0x13]
mov eax, dword [rbp - 0x20]
add al, 0x2c
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x14], al
movsx ecx, byte [rbp + 0x14]
mov eax, dword [rbp - 0x20]
add al, 0x2d
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x15], al
movsx ecx, byte [rbp + 0x15]
mov eax, dword [rbp - 0x20]
add al, 0x2e
xor eax, ecx
xor eax, 0x2d
mov byte [rbp + 0x16], al
movsx ecx, byte [rbp + 0x16]
mov eax, dword [rbp - 0x20]
add al, 0x2f
xor eax, ecx
xor eax, 0x67
mov byte [rbp + 0x17], al
movsx ecx, byte [rbp + 0x17]
mov eax, dword [rbp - 0x20]
add al, 0x30
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x18], al
movsx ecx, byte [rbp + 0x18]
mov eax, dword [rbp - 0x20]
add al, 0x31
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x19], al
movsx ecx, byte [rbp + 0x19]
mov eax, dword [rbp - 0x20]
add al, 0x32
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x1a], al
movsx ecx, byte [rbp + 0x1a]
mov eax, dword [rbp - 0x20]
add al, 0x33
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x1b], al
movsx ecx, byte [rbp + 0x1b]
mov eax, dword [rbp - 0x20]
add al, 0x34
xor eax, ecx
xor eax, 0x63
mov byte [rbp + 0x1c], al
movsx ecx, byte [rbp + 0x1c]
mov eax, dword [rbp - 0x20]
add al, 0x35
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x1d], al
movsx ecx, byte [rbp + 0x1d]
mov eax, dword [rbp - 0x20]
add al, 0x36
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x1e], al
movsx ecx, byte [rbp + 0x1e]
mov eax, dword [rbp - 0x20]
add al, 0x37
xor eax, ecx
xor eax, 0x6d
mov byte [rbp + 0x1f], al
movsx ecx, byte [rbp + 0x1f]
mov eax, dword [rbp - 0x20]
add al, 0x38
xor eax, ecx
xor eax, 0x61
mov byte [rbp + 0x20], al
movsx ecx, byte [rbp + 0x20]
mov eax, dword [rbp - 0x20]
add al, 0x39
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x21], al
movsx ecx, byte [rbp + 0x21]
mov eax, dword [rbp - 0x20]
add al, 0x3a
xor eax, ecx
xor eax, 0x64
mov byte [rbp + 0x22], al
movsx ecx, byte [rbp + 0x22]
mov eax, dword [rbp - 0x20]
add al, 0x3b
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x23], al
movsx ecx, byte [rbp + 0x23]
mov eax, dword [rbp - 0x20]
add al, 0x3c
xor eax, ecx
xor eax, 0x6c
mov byte [rbp + 0x24], al
movsx ecx, byte [rbp + 0x24]
mov eax, dword [rbp - 0x20]
add al, 0x3d
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x25], al
movsx ecx, byte [rbp + 0x25]
mov eax, dword [rbp - 0x20]
add al, 0x3e
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x26], al
movsx ecx, byte [rbp + 0x26]
mov eax, dword [rbp - 0x20]
add al, 0x3f
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x27], al
movsx ecx, byte [rbp + 0x27]
mov eax, dword [rbp - 0x20]
add al, 0x40
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x28], al
movsx ecx, byte [rbp + 0x28]
mov eax, dword [rbp - 0x20]
add al, 0x41
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x29], al
movsx ecx, byte [rbp + 0x29]
mov eax, dword [rbp - 0x20]
add al, 0x42
xor eax, ecx
xor eax, 0x70
mov byte [rbp + 0x2a], al
movsx ecx, byte [rbp + 0x2a]
mov eax, dword [rbp - 0x20]
add al, 0x43
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x2b], al
movsx ecx, byte [rbp + 0x2b]
mov eax, dword [rbp - 0x20]
add al, 0x44
xor eax, ecx
xor eax, 0x69
mov byte [rbp + 0x2c], al
movsx ecx, byte [rbp + 0x2c]
mov eax, dword [rbp - 0x20]
add al, 0x45
xor eax, ecx
xor eax, 0x6f
mov byte [rbp + 0x2d], al
movsx ecx, byte [rbp + 0x2d]
mov eax, dword [rbp - 0x20]
add al, 0x46
xor eax, ecx
xor eax, 0x6e
mov byte [rbp + 0x2e], al
movsx ecx, byte [rbp + 0x2e]
mov eax, dword [rbp - 0x20]
add al, 0x47
xor eax, ecx
xor eax, 0x2e
mov byte [rbp + 0x2f], al
xor eax, eax
mov byte [rbp + 0x30], al
movzx eax, byte [rbp - 0x18]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp - 0x20]
call fcn.14008efe0
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400882c6
mov rax, qword [rax]
mov rcx, rax
call fcn.1400795a0
nop
lea rcx, [rbp + 0xf0]
call fcn.14001c970
xor bl, bl
jmp 0x140088488
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
xor r13b, r13b
xor r12b, r12b
sub rcx, r8
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test edx, edx
jle 0x140088472
lea rax, [rsi + 0x290]
xor r15d, r15d
nop
lea r14, [r8 + r15]
cmp dword [r14], 1
jne 0x140088330
or r13b, 1
jmp 0x140088334
or r12b, 1
mov rdx, r14
mov rcx, rax
call fcn.14008e470
mov rbx, qword [rsi + 0x298]
call fcn.1400ff2b0
add eax, edi
mov dword [rbx - 8], eax
test byte [r14 + 0x9c], 1
je 0x140088401
mov edx, edi
mov rcx, rsi
call fcn.1400be500
cmp dword [rax + 0x2c], 0
jge 0x140088401
mov edx, edi
mov rcx, rsi
call fcn.1400be500
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x90], xmm1
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp + 0xb0], xmm1
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x70]
movaps xmmword [rbp + 0xd0], xmm1
movsd xmm0, qword [rax + 0x80]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [rax + 0x88]
mov dword [rbp + 0xe8], eax
mov dword [rbp + 0x8c], 1
lea r8, [rbp + 0x60]
mov edx, edi
mov rcx, rsi
call fcn.1400f1710
inc edi
add r15, 0xa8
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
sub rcx, r8
movabs r14, 0xc30c30c30c30c30d
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp edi, edx
lea rax, [rsi + 0x290]
jl 0x140088320
test r13b, r13b
je 0x14008845f
test r12b, r12b
jne 0x140088472
mov dword [rsi + 0x2ac], 1
xor edi, edi
jmp 0x14008847a
test r12b, r12b
je 0x140088472
mov dword [rsi + 0x2ac], 2
xor edi, edi
jmp 0x14008847a
xor edi, edi
mov dword [rsi + 0x2ac], edi
lea rcx, [rsi + 0x290]
call fcn.1400ff750
mov bl, 1
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400884b4
mov r8, qword [rbp - 0x80]
sub r8, rdx
sar r8, 2
lea rcx, [rsp + 0x70]
call fcn.140118d90
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140088503
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.140075fe0
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x28]
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x28]
call fcn.1400823c0
movzx eax, bl
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14034de80
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret