Function at 0x140059c65
Capabilities:
Encrypt data using speck
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x518
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x480], xmm6
sub rsp, 0x20
push 1
pop rdx
mov qword [rbp + 0x3d0], rcx
call fcn.140059c2d
add rsp, 0x20
test rax, rax
je 0x14005bda2
mov ecx, dword [rax]
mov eax, dword [rax + 4]
mov qword [rbp + 0x3a0], rax
mov rax, rcx
add rax, qword [rbp + 0x3d0]
xorps xmm6, xmm6
xor ecx, ecx
mov qword [rbp + 0x420], rax
cmp rcx, qword [rbp + 0x3a0]
jae 0x14005bda2
mov edx, dword [rax + rcx]
mov r8d, dword [rax + rcx + 0x10]
mov eax, r8d
or eax, edx
mov rax, qword [rbp + 0x420]
je 0x14005bda2
mov qword [rbp + 0x408], rcx
mov ecx, dword [rcx + rax + 0xc]
mov rax, qword [rbp + 0x3d0]
add rcx, rax
mov qword [rbp + 0x3b0], rcx
test rdx, rdx
cmove rdx, r8
add r8, rax
mov qword [rbp + 0x418], r8
add rdx, rax
mov qword [rbp + 0x3b8], rdx
mov rax, qword [rbp + 0x420]
xor r8d, r8d
movabs rcx, 0x8000000080000000
mov rdx, qword [rbp + 0x3b8]
test qword [rdx + r8], rcx
mov qword [rbp + 0x3e8], r8
je 0x140059fc9
mov rdx, rsp
mov rdi, qword [rbp + 0x3b0]
test rdi, rdi
je 0x140059fe0
mov qword [rbp + 0x3c0], rdx
and qword [rbp + 0x3d8], 0
sub rsp, 0x20
mov r8d, 0x208
lea rsi, [rbp - 0x80]
mov rcx, rsi
xor edx, edx
call fcn.140018922
mov rcx, rdi
call fcn.1400091f5
add rsp, 0x20
and qword [rbp + 0x3f0], 0
mov r8d, eax
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.14003b530
mov rcx, rsi
call fcn.1400184e2
add rsp, 0x20
mov qword [rbp + 0x3c8], rsp
lea ecx, [rax + rax]
mov word [rbp + 0x3d8], cx
lea eax, [rax*2 + 2]
mov word [rbp + 0x3da], ax
mov qword [rbp + 0x3e0], rsi
mov rcx, qword [0x1400caf88]
cmp rcx, 0x100e
jne 0x140059e19
sub rsp, 0x20
mov ecx, 0xf4442573
call fcn.140008f89
mov rcx, rax
call fcn.140009130
add rsp, 0x20
mov rcx, rax
mov qword [0x1400caf88], rax
sub rsp, 0x20
call fcn.140009130
add rsp, 0x20
movsxd rcx, dword [rax + 0x3c]
mov r8d, dword [rax + rcx + 0x88]
mov ecx, dword [rax + r8 + 0x18]
mov edx, dword [rax + r8 + 0x1c]
add rdx, rax
mov qword [rbp + 0x458], rdx
mov edx, dword [rax + r8 + 0x20]
add rdx, rax
mov r8d, dword [rax + r8 + 0x24]
add r8, rax
mov qword [rbp + 0x468], r8
xor r9d, r9d
cmp r9, rcx
je 0x140059fee
mov r13d, dword [rdx + r9*4]
add r13, rax
xor r11d, r11d
cmp byte [r13 + r11], 0
je 0x140059e80
inc r11
jmp 0x140059e73
xor esi, esi
cmp byte [r13 + rsi], 0
je 0x140059e8f
inc rsi
jmp 0x140059e82
mov r8, rax
xor edi, edi
cmp byte [r13 + rdi], 0
je 0x140059ea1
inc rdi
jmp 0x140059e94
mov r10d, 0x250
mov rbx, r13
sub rdi, 4
jb 0x140059f0c
movsx r14d, byte [rbx]
movsx r15d, byte [rbx + 1]
shl r15d, 8
or r15d, r14d
movsx r14d, byte [rbx + 2]
shl r14d, 0x10
movzx r12d, byte [rbx + 3]
shl r12d, 0x18
or r12d, r14d
or r12d, r15d
imul r14d, r12d, 0x85ebca87
imul r15d, r12d, 0xe5438000
shr r14d, 0x11
or r14d, r15d
imul r14d, r14d, 0x27d4eb4f
xor r14d, r10d
rol r14d, 0xd
lea r10d, [r14 + r14*4]
add r10d, 0x9e3779f9
add rbx, 4
jmp 0x140059eaa
and r11, 0xfffffffffffffffc
and esi, 3
cmp rsi, 1
je 0x140059f43
cmp esi, 2
je 0x140059f4b
xor edi, edi
cmp esi, 3
jne 0x140059f5c
movsx esi, byte [r13 + r11]
movsx ebx, byte [r13 + r11 + 1]
shl ebx, 8
or ebx, esi
movsx edi, byte [r13 + r11 + 2]
shl edi, 0x10
or edi, ebx
jmp 0x140059f5c
movsx edi, byte [r13 + r11]
jmp 0x140059f5c
movsx esi, byte [r13 + r11]
movsx edi, byte [r13 + r11 + 1]
shl edi, 8
or edi, esi
xor r11d, r11d
cmp byte [r13 + r11], 0
je 0x140059f6c
inc r11
jmp 0x140059f5f
imul esi, edi, 0x85ebca87
shr esi, 0x11
imul edi, edi, 0xe5438000
or edi, esi
imul esi, edi, 0x27d4eb4f
xor r10d, r11d
xor r10d, esi
mov r11d, r10d
shr r11d, 0x10
xor r11d, r10d
imul r10d, r11d, 0xc2b2ae63
mov r11d, r10d
shr r11d, 0xd
xor r11d, r10d
imul r10d, r11d, 0x165667c5
mov r11d, r10d
shr r11d, 0x10
xor r11d, r10d
cmp r11d, 0xe75c0c7c
je 0x140059ff5
inc r9
mov rax, r8
jmp 0x140059e60
mov rcx, qword [rbp + 0x418]
mov r9, qword [rcx + r8]
mov rcx, qword [rbp + 0x408]
jmp 0x14005a25e
xor esi, esi
mov rcx, qword [rbp + 0x408]
jmp 0x14005a1ab
xor ecx, ecx
jmp 0x14005a15e
mov rax, qword [rbp + 0x468]
movzx ecx, word [rax + r9*2]
mov rax, qword [rbp + 0x458]
mov eax, dword [rax + rcx*4]
mov rdi, r8
add rdi, rax
sub rsp, 0x20
mov rcx, r13
call fcn.1400091f5
add rsp, 0x20
mov rbx, rsp
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001000
sub rsp, rax
mov rsi, rsp
movzx eax, word [r13]
mov word [rsi], ax
mov byte [rbp + 0x472], 0x3b
mov word [rbp + 0x470], 0x4e77
sub rsp, 0x20
lea rcx, [rbp + 0x470]
call fcn.140009210
mov rcx, rsi
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
mov qword [rbp + 0x428], rbx
je 0x14005a144
mov word [rbp + 0x47c], 0x3e51
mov dword [rbp + 0x478], 0x505f4e77
sub rsp, 0x20
lea rcx, [rbp + 0x478]
call fcn.1400092b0
mov rcx, r13
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
jne 0x14005a144
movabs rax, 0x23566a49597c4e77
mov qword [rbp + 0x430], rax
mov word [rbp + 0x438], 0x422a
sub rsp, 0x20
lea rcx, [rbp + 0x430]
call fcn.1400092d0
mov rcx, r13
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
jne 0x14005a144
movabs rax, 0x4712282137313813
mov qword [rbp + 0x197], rax
movabs rax, 0x13464c58496a4e77
mov qword [rbp + 0x190], rax
sub rsp, 0x20
lea r12, [rbp + 0x190]
mov rcx, r12
call fcn.1400092f0
mov rcx, r13
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
je 0x14005a768
sub rsp, 0x20
mov rcx, rdi
call fcn.140009310
add rsp, 0x20
mov rcx, rax
mov rsp, qword [rbp + 0x428]
mov rsp, qword [rbp + 0x3c8]
sub rsp, 0x20
call fcn.140009310
xor ecx, ecx
xor edx, edx
lea r8, [rbp + 0x3d8]
lea r9, [rbp + 0x3f0]
call rax
add rsp, 0x20
mov esi, 0
test eax, eax
js 0x14005a196
mov rsi, qword [rbp + 0x3f0]
mov rax, qword [rbp + 0x420]
mov rcx, qword [rbp + 0x408]
mov rdx, qword [rbp + 0x3c0]
mov rsp, rdx
cmp word [rsi], 0x5a4d
jne 0x14005a22a
movsxd rax, dword [rsi + 0x3c]
cmp dword [rsi + rax], 0x4550
jne 0x14005a22f
mov rcx, qword [rbp + 0x3b8]
mov rdx, qword [rbp + 0x3e8]
movzx edi, word [rdx + rcx]
mov ebx, dword [rsi + rax + 0x88]
mov r15d, dword [rsi + rbx + 0x18]
xor r14d, r14d
cmp r15, r14
je 0x14005a23b
mov eax, dword [rsi + rbx + 0x20]
add rax, rsi
mov ecx, dword [rax + r14*4]
add rcx, rsi
sub rsp, 0x20
mov rdx, rdi
call fcn.14005bdbd
add rsp, 0x20
inc r14
test eax, eax
jne 0x14005a1e3
mov eax, dword [rsi + rbx + 0x1c]
mov ecx, dword [rsi + rbx + 0x24]
add rcx, rsi
movzx ecx, word [rcx + r14*2 - 2]
add rax, rsi
mov r9d, dword [rax + rcx*4]
add r9, rsi
jmp 0x14005a23e
xor r9d, r9d
jmp 0x14005a24c
xor r9d, r9d
mov rax, qword [rbp + 0x420]
jmp 0x14005a24c
xor r9d, r9d
mov rax, qword [rbp + 0x420]
mov rcx, qword [rbp + 0x408]
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x3e8]
mov qword [r8 + rdx], r9
test r9, r9
je 0x14005bd99
mov rcx, qword [rbp + 0x3b8]
mov rdx, qword [rbp + 0x3e8]
cmp r9, qword [rcx + rdx]
mov rcx, rdx
jne 0x14005a75c
mov rax, rsp
mov rdi, qword [rbp + 0x3b0]
test rdi, rdi
je 0x14005a4ff
mov qword [rbp + 0x3c8], rax
mov qword [rbp + 0x3c0], r9
and qword [rbp + 0x3d8], 0
sub rsp, 0x20
mov r8d, 0x208
lea rsi, [rbp - 0x80]
mov rcx, rsi
xor edx, edx
call fcn.140018922
mov rcx, rdi
call fcn.1400091f5
add rsp, 0x20
and qword [rbp + 0x3f0], 0
mov r8d, eax
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.14003b530
mov rcx, rsi
call fcn.1400184e2
add rsp, 0x20
mov qword [rbp + 0x428], rsp
lea ecx, [rax + rax]
mov word [rbp + 0x3d8], cx
lea eax, [rax*2 + 2]
mov word [rbp + 0x3da], ax
mov qword [rbp + 0x3e0], rsi
mov rcx, qword [0x1400caf88]
cmp rcx, 0x100e
jne 0x14005a34f
sub rsp, 0x20
mov ecx, 0xf4442573
call fcn.140008f89
mov rcx, rax
call fcn.140009130
add rsp, 0x20
mov rcx, rax
mov qword [0x1400caf88], rax
sub rsp, 0x20
call fcn.140009130
add rsp, 0x20
movsxd rcx, dword [rax + 0x3c]
mov r8d, dword [rax + rcx + 0x88]
mov ecx, dword [rax + r8 + 0x18]
mov edx, dword [rax + r8 + 0x1c]
add rdx, rax
mov qword [rbp + 0x458], rdx
mov edx, dword [rax + r8 + 0x20]
add rdx, rax
mov r8d, dword [rax + r8 + 0x24]
add r8, rax
mov qword [rbp + 0x468], r8
xor r9d, r9d
cmp r9, rcx
je 0x14005a50d
mov r13d, dword [rdx + r9*4]
add r13, rax
xor r11d, r11d
cmp byte [r13 + r11], 0
je 0x14005a3b6
inc r11
jmp 0x14005a3a9
xor esi, esi
cmp byte [r13 + rsi], 0
je 0x14005a3c5
inc rsi
jmp 0x14005a3b8
mov r8, rax
xor edi, edi
cmp byte [r13 + rdi], 0
je 0x14005a3d7
inc rdi
jmp 0x14005a3ca
mov r10d, 0x250
mov rbx, r13
sub rdi, 4
jb 0x14005a442
movsx r14d, byte [rbx]
movsx r15d, byte [rbx + 1]
shl r15d, 8
or r15d, r14d
movsx r14d, byte [rbx + 2]
shl r14d, 0x10
movzx r12d, byte [rbx + 3]
shl r12d, 0x18
or r12d, r14d
or r12d, r15d
imul r14d, r12d, 0x85ebca87
imul r15d, r12d, 0xe5438000
shr r14d, 0x11
or r14d, r15d
imul r14d, r14d, 0x27d4eb4f
xor r14d, r10d
rol r14d, 0xd
lea r10d, [r14 + r14*4]
add r10d, 0x9e3779f9
add rbx, 4
jmp 0x14005a3e0
and r11, 0xfffffffffffffffc
and esi, 3
cmp rsi, 1
je 0x14005a479
cmp esi, 2
je 0x14005a481
xor edi, edi
cmp esi, 3
jne 0x14005a492
movsx esi, byte [r13 + r11]
movsx ebx, byte [r13 + r11 + 1]
shl ebx, 8
or ebx, esi
movsx edi, byte [r13 + r11 + 2]
shl edi, 0x10
or edi, ebx
jmp 0x14005a492
movsx edi, byte [r13 + r11]
jmp 0x14005a492
movsx esi, byte [r13 + r11]
movsx edi, byte [r13 + r11 + 1]
shl edi, 8
or edi, esi
xor r11d, r11d
cmp byte [r13 + r11], 0
je 0x14005a4a2
inc r11
jmp 0x14005a495
imul esi, edi, 0x85ebca87
shr esi, 0x11
imul edi, edi, 0xe5438000
or edi, esi
imul esi, edi, 0x27d4eb4f
xor r10d, r11d
xor r10d, esi
mov r11d, r10d
shr r11d, 0x10
xor r11d, r10d
imul r10d, r11d, 0xc2b2ae63
mov r11d, r10d
shr r11d, 0xd
xor r11d, r10d
imul r10d, r11d, 0x165667c5
mov r11d, r10d
shr r11d, 0x10
xor r11d, r10d
cmp r11d, 0xe75c0c7c
je 0x14005a514
inc r9
mov rax, r8
jmp 0x14005a396
xor edi, edi
mov rcx, qword [rbp + 0x418]
jmp 0x14005a6bf
xor ecx, ecx
jmp 0x14005a66f
mov rax, qword [rbp + 0x468]
movzx ecx, word [rax + r9*2]
mov rax, qword [rbp + 0x458]
mov eax, dword [rax + rcx*4]
mov rdi, r8
add rdi, rax
sub rsp, 0x20
mov rcx, r13
call fcn.1400091f5
add rsp, 0x20
mov rbx, rsp
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001000
sub rsp, rax
mov rsi, rsp
movzx eax, word [r13]
mov word [rsi], ax
mov byte [rbp + 0x472], 0x3b
mov word [rbp + 0x470], 0x4e77
sub rsp, 0x20
lea rcx, [rbp + 0x470]
call fcn.140009210
mov rcx, rsi
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
je 0x14005a659
mov word [rbp + 0x47c], 0x3e51
mov dword [rbp + 0x478], 0x505f4e77
sub rsp, 0x20
lea rcx, [rbp + 0x478]
call fcn.1400092b0
mov rcx, r13
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
jne 0x14005a659
movabs rax, 0x23566a49597c4e77
mov qword [rbp + 0x430], rax
mov word [rbp + 0x438], 0x422a
sub rsp, 0x20
lea rcx, [rbp + 0x430]
call fcn.1400092d0
mov rcx, r13
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
jne 0x14005a659
movabs rax, 0x4712282137313813
mov qword [rbp + 0x197], rax
movabs rax, 0x13464c58496a4e77
mov qword [rbp + 0x190], rax
sub rsp, 0x20
lea rcx, [rbp + 0x190]
call fcn.1400092f0
mov rcx, r13
mov rdx, rax
call fcn.140009230
add rsp, 0x20
test rax, rax
je 0x14005a8d9
sub rsp, 0x20
mov rcx, rdi
call fcn.140009310
add rsp, 0x20
mov rcx, rax
mov rsp, rbx
mov rax, qword [rbp + 0x428]
mov rsp, rax
sub rsp, 0x20
call fcn.140009310
xor ecx, ecx
xor edx, edx
lea r8, [rbp + 0x3d8]
lea r9, [rbp + 0x3f0]
call rax
add rsp, 0x20
mov edi, 0
test eax, eax
js 0x14005a6aa
mov rdi, qword [rbp + 0x3f0]
mov rcx, qword [rbp + 0x418]
mov r9, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x3c8]
mov rsp, rax
cmp word [rdi], 0x5a4d
jne 0x14005a73a
movsxd rax, dword [rdi + 0x3c]
cmp dword [rdi + rax], 0x4550
jne 0x14005a73a
mov rcx, qword [rbp + 0x3d0]
lea rsi, [r9 + rcx]
add rsi, 2
mov ebx, dword [rdi + rax + 0x88]
mov r15d, dword [rdi + rbx + 0x18]
xor r14d, r14d
cmp r15, r14
je 0x14005a73e
mov eax, dword [rdi + rbx + 0x20]
add rax, rdi
mov ecx, dword [rax + r14*4]
add rcx, rdi
sub rsp, 0x20
mov rdx, rsi
call fcn.14005bdbd
add rsp, 0x20
inc r14
test eax, eax
jne 0x14005a6f4
mov eax, dword [rdi + rbx + 0x1c]
mov ecx, dword [rdi + rbx + 0x24]
add rcx, rdi
movzx ecx, word [rcx + r14*2 - 2]
add rax, rdi
mov eax, dword [rax + rcx*4]
add rax, rdi
jmp 0x14005a740
xor eax, eax
jmp 0x14005a747
xor eax, eax
mov rcx, qword [rbp + 0x418]
mov rdx, qword [rbp + 0x3e8]
mov qword [rcx + rdx], rax
mov rcx, rdx
mov rax, qword [rbp + 0x420]
add rcx, 8
mov r8, rcx
jmp 0x140059d31
sub rsp, 0x20
mov rcx, rdi
lea rdx, [0x1400986de]
call fcn.1400089f4
add rsp, 0x20
test eax, eax
je 0x14005a144
cmp byte [0x1400cbc88], 0
jne 0x14005b13b
mov qword [rbp + 0x410], rdi
mov rax, qword [0x1400cbc98]
mov rdi, qword [rax + 0x18]
mov rbx, qword [rdi + 0x20]
add rdi, 0x20
movabs rax, 0x40351013121b3333
mov qword [rbp + 0x190], rax
sub rsp, 0x20
mov rcx, r12
call fcn.140008a20
lea rcx, [0x1400cbce0]
mov rdx, rax
call fcn.140008a40
add rsp, 0x20
lea r10, [0x1400cae30]
cmp rbx, rdi
je 0x14005aa58
movaps xmmword [rbp + 0x200], xmm6
movaps xmmword [rbp + 0x1f0], xmm6
movaps xmmword [rbp + 0x1e0], xmm6
movaps xmmword [rbp + 0x1d0], xmm6
movaps xmmword [rbp + 0x1c0], xmm6
movaps xmmword [rbp + 0x1b0], xmm6
movaps xmmword [rbp + 0x1a0], xmm6
movaps xmmword [rbp + 0x190], xmm6
movzx eax, word [rbx + 0x48]
cmp rax, 0x7e
ja 0x14005a8d1
xor ecx, ecx
cmp rax, rcx
je 0x14005a867
mov rdx, qword [rbx + 0x50]
movzx edx, word [rdx + rcx*2]
test dx, dx
je 0x14005a867
lea r8d, [rdx - 0x61]
lea r9d, [rdx - 0x20]
cmp r8w, 0x1a
cmovae r9d, edx
mov word [rbp + rcx*2 + 0x190], r9w
inc rcx
jmp 0x14005a836
mov r14d, 0x250
mov rax, r12
movzx ecx, word [rax]
test ecx, ecx
je 0x14005a887
add rax, 2
xor r14d, ecx
imul r14d, r14d, 0x27d4eb4f
jmp 0x14005a870
mov r15d, 0x120
lea rsi, [0x1400cad20]
test r15, r15
je 0x14005a8d1
cmp dword [rsi - 0x10], r14d
jne 0x14005a8c1
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call fcn.140008a62
lea r10, [0x1400cae30]
add rsp, 0x20
mov rax, qword [rbx + 0x20]
mov qword [rsi - 8], rax
add rsi, 0x90
add r15, 0xffffffffffffff70
jmp 0x14005a894
mov rbx, qword [rbx]
jmp 0x14005a7e5
sub rsp, 0x20
mov rcx, rdi
lea rdx, [0x1400986de]
call fcn.1400089f4
add rsp, 0x20
test eax, eax
je 0x14005a659
mov qword [rbp + 0x3a8], rbx
cmp byte [0x1400cbc88], 0
lea r12, [rbp + 0x190]
jne 0x14005b8e2
mov qword [rbp + 0x410], rdi
mov rax, qword [0x1400cbc98]
mov rdi, qword [rax + 0x18]
mov rbx, qword [rdi + 0x20]
add rdi, 0x20
movabs rax, 0x40351013121b3333
mov qword [rbp + 0x190], rax
sub rsp, 0x20
mov rcx, r12
call fcn.140008a20
lea rcx, [0x1400cbce0]
mov rdx, rax
call fcn.140008a40
add rsp, 0x20
lea r10, [0x1400cae30]
cmp rbx, rdi
je 0x14005b1fd
movaps xmmword [rbp + 0x200], xmm6
movaps xmmword [rbp + 0x1f0], xmm6
movaps xmmword [rbp + 0x1e0], xmm6
movaps xmmword [rbp + 0x1d0], xmm6
movaps xmmword [rbp + 0x1c0], xmm6
movaps xmmword [rbp + 0x1b0], xmm6
movaps xmmword [rbp + 0x1a0], xmm6
movaps xmmword [rbp + 0x190], xmm6
movzx eax, word [rbx + 0x48]
cmp rax, 0x7e
ja 0x14005aa50
xor ecx, ecx
cmp rax, rcx
je 0x14005a9e6
mov rdx, qword [rbx + 0x50]
movzx edx, word [rdx + rcx*2]
test dx, dx
je 0x14005a9e6
lea r8d, [rdx - 0x61]
lea r9d, [rdx - 0x20]
cmp r8w, 0x1a
cmovae r9d, edx
mov word [rbp + rcx*2 + 0x190], r9w
inc rcx
jmp 0x14005a9b5
mov r14d, 0x250
mov rax, r12
movzx ecx, word [rax]
test ecx, ecx
je 0x14005aa06
add rax, 2
xor r14d, ecx
imul r14d, r14d, 0x27d4eb4f
jmp 0x14005a9ef
mov r15d, 0x120
lea rsi, [0x1400cad20]
test r15, r15
je 0x14005aa50
cmp dword [rsi - 0x10], r14d
jne 0x14005aa40
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call fcn.140008a62
lea r10, [0x1400cae30]
add rsp, 0x20
mov rax, qword [rbx + 0x20]
mov qword [rsi - 8], rax
add rsi, 0x90
add r15, 0xffffffffffffff70
jmp 0x14005aa13
mov rbx, qword [rbx]
jmp 0x14005a964
xor r8d, r8d
cmp r8d, 2
je 0x14005adb7
cmp r8d, 1
mov dword [rbp + 0x474], r8d
jne 0x14005ac21
sub rsp, 0x20
call fcn.140008a9f
mov r8d, dword [rbp + 0x474]
lea r10, [0x1400cae30]
add rsp, 0x20
mov ebx, 0x120
lea rdi, [0x1400cad20]
test rbx, rbx
je 0x14005ac21
cmp qword [rdi - 8], 0
jne 0x14005ac0e
sub rsp, 0x20
mov ecx, 0xa38aef4b
call fcn.140008d7e
add rsp, 0x20
mov rsi, rax
sub rsp, 0x20
mov ecx, 0xa333f004
call fcn.140008d7e
mov rcx, rax
mov rdx, rdi
xor r8d, r8d
call rsi
add rsp, 0x20
test eax, eax
js 0x14005ab0e
mov qword [rbp + 0x190], 0xfffffffffff85ee0
sub rsp, 0x20
mov ecx, 0xebb0f609
call fcn.140008d7e
push 0xffffffffffffffff
pop rcx
xor edx, edx
mov r8, r12
call rax
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
call fcn.140008dac
add rsp, 0x20
mov qword [rdi - 8], rax
movups xmm0, xmmword [0x1400986c8]
movaps xmmword [rbp + 0x1a0], xmm0
movups xmm0, xmmword [0x1400986b8]
movaps xmmword [rbp + 0x190], xmm0
movabs rax, 0x4b006a00730004
mov qword [rbp + 0x1ae], rax
sub rsp, 0x20
mov rcx, r12
call fcn.140008e40
lea rsi, [0x1400cc8b0]
mov rcx, rsi
mov rdx, rax
call fcn.140008e60
mov rcx, rsi
mov rdx, rdi
call fcn.140008e60
add rsp, 0x20
movabs rax, 0x3f0046000d001c
mov qword [rbp + 0x196], rax
movabs rax, 0x1c000500070019
mov qword [rbp + 0x190], rax
sub rsp, 0x20
mov rcx, r12
call fcn.140008e90
mov rcx, rsi
mov rdx, rax
call fcn.140008e60
add rsp, 0x20
mov edx, dword [rdi - 8]
sub rsp, 0x20
mov rcx, r12
call fcn.140008eb0
mov rcx, rsi
mov rdx, r12
call fcn.140008e60
add rsp, 0x20
mov dword [rbp + 0x430], 0x3a0033
sub rsp, 0x20
lea rcx, [rbp + 0x430]
call fcn.140008f10
mov rcx, rsi
mov rdx, rax
call fcn.140008e60
add rsp, 0x20
lea r10, [0x1400cae30]
mov r8d, dword [rbp + 0x474]
add rdi, 0x90
add rbx, 0xffffffffffffff70
jmp 0x14005aa9d
lea r9, [0x1400cad10]
lea rax, [0x1400cae30]
cmp r9, rax
je 0x14005adaf
mov r14, qword [r9 + 8]
test r14, r14
je 0x14005ad9c
mov r15d, dword [r14 + 0x3c]
mov ecx, dword [r15 + r14 + 0x88]
mov rax, rcx
mov qword [rbp + 0x3f8], rcx
mov eax, dword [rcx + r14 + 0x20]
mov qword [rbp + 0x400], rax
test rax, rax
je 0x14005ad9c
mov rax, qword [rbp + 0x3f8]
mov r11d, dword [r14 + rax + 0x1c]
mov esi, dword [r14 + rax + 0x24]
add rsi, r14
add qword [rbp + 0x400], r14
add r11, r14
xor r13d, r13d
mov qword [rbp + 0x460], rsi
mov rax, qword [rbp + 0x3f8]
mov eax, dword [r14 + rax + 0x18]
cmp r13, rax
jae 0x14005ad9c
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + r13*4]
add rax, qword [r9 + 8]
mov edi, 0x250
mov qword [rbp + 0x468], rax
movsx ecx, byte [rax]
test ecx, ecx
je 0x14005acdc
inc rax
xor edi, ecx
imul edi, edi, 0x27d4eb4f
jmp 0x14005acc8
push 8
pop r12
mov qword [rbp + 0x458], r13
cmp r12, 0x158
je 0x14005ad94
cmp dword [r12 + r10 - 8], edi
jne 0x14005ad8b
mov rbx, qword [r9 + 8]
movzx eax, word [rsi + r13*2]
mov eax, dword [r11 + rax*4]
add rax, rbx
cmp r8d, 1
jne 0x14005ad87
mov ecx, dword [r14 + r15 + 0x88]
add rcx, rbx
cmp rax, rcx
jb 0x14005ad87
mov edx, dword [r14 + r15 + 0x8c]
add rcx, rdx
cmp rax, rcx
jae 0x14005ad87
sub rsp, 0x20
mov ecx, 0x4d2cf7b0
mov r13, r9
mov rsi, r14
mov r14, r15
mov r15, r11
call fcn.140008d7e
mov rcx, rbx
mov rdx, qword [rbp + 0x468]
call rax
mov r11, r15
mov r15, r14
mov r14, rsi
mov rsi, qword [rbp + 0x460]
mov r9, r13
mov r13, qword [rbp + 0x458]
mov r8d, dword [rbp + 0x474]
lea r10, [0x1400cae30]
add rsp, 0x20
mov qword [r12 + r10], rax
add r12, 0x10
jmp 0x14005ace7
inc r13
jmp 0x14005ac98
add r9, 0x90
lea r12, [rbp + 0x190]
jmp 0x14005ac28
inc r8d
jmp 0x14005aa5b
lea rcx, [0x1400cad10]
lea rax, [0x1400cae30]
cmp rcx, rax
je 0x14005b126
mov qword [rbp + 0x460], rcx
mov r13, qword [rcx + 8]
test r13, r13
je 0x14005b113
mov r12d, dword [r13 + 0x3c]
mov rax, qword [rbp + 0x460]
add rax, 0x10
mov qword [rbp + 0x468], rax
lea rdi, [r12 + r13]
add rdi, 0x18
xor r15d, r15d
mov qword [rbp + 0x458], r12
movzx eax, word [r12 + r13 + 6]
cmp r15, rax
jae 0x14005b113
movzx r14d, word [r12 + r13 + 0x14]
mov eax, dword [rdi + r14]
mov ecx, 0xdfdfdfdf
and eax, ecx
cmp eax, 0x5845540e
jne 0x14005b107
sub rsp, 0x20
mov r8d, 0x104
lea rsi, [rbp + 0x190]
mov rcx, rsi
xor edx, edx
call fcn.140018922
mov ecx, 0x9bebb8e5
call fcn.140008d7e
mov rcx, rsi
mov edx, 0x104
call rax
add rsp, 0x20
test eax, eax
je 0x14005b100
mov dword [rbp + 0x430], 0x3a0065
sub rsp, 0x20
lea rcx, [rbp + 0x430]
call fcn.140008f10
mov rcx, rsi
mov rdx, rax
call fcn.140008f30
mov rcx, rsi
mov rdx, qword [rbp + 0x468]
call fcn.140008f30
mov ecx, 0x781c218b
call fcn.140008d7e
sub rsp, 0x20
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
mov rcx, rsi
mov edx, 0x80000000
push 1
pop r8
xor r9d, r9d
call rax
add rsp, 0x40
cmp rax, 0xffffffffffffffff
je 0x14005b100
mov rbx, rax
sub rsp, 0x20
mov ecx, 0x5b8aeec9
call fcn.140008d7e
sub rsp, 0x10
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, 0x1000002
xor r9d, r9d
call rax
add rsp, 0x30
mov rsi, rax
mov r12d, 0
cmp rax, 0xffffffffffffffff
je 0x14005af54
sub rsp, 0x20
mov ecx, 0x1f07f560
call fcn.140008d7e
sub rsp, 0x10
and qword [rsp + 0x20], 0
mov rcx, rsi
push 4
pop rdx
xor r8d, r8d
xor r9d, r9d
call rax
add rsp, 0x30
mov r12, rax
sub rsp, 0x20
mov ecx, 0xccd342ee
call fcn.140008d7e
mov rcx, rsi
call rax
mov ecx, 0xccd342ee
call fcn.140008d7e
mov rcx, rbx
call rax
add rsp, 0x20
test r12, r12
je 0x14005b100
movabs rax, 0x3f001e00130012
mov qword [rbp + 0x436], rax
movabs rax, 0x120015001a0030
mov qword [rbp + 0x430], rax
sub rsp, 0x20
lea rsi, [rbp + 0x430]
mov rcx, rsi
call fcn.140008e90
lea rbx, [0x1400cc8b0]
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
mov rcx, rbx
mov rdx, qword [rbp + 0x468]
call fcn.140008e60
add rsp, 0x20
movabs rax, 0x3f001e00550048
mov qword [rbp + 0x436], rax
movabs rax, 0x480052004d0019
mov qword [rbp + 0x430], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.140008e90
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
mov rcx, rbx
lea rdx, [rbp + 0x190]
call fcn.140008e60
add rsp, 0x20
movabs rax, 0x3f0046000d001c
mov qword [rbp + 0x436], rax
movabs rax, 0x1c000500070019
mov qword [rbp + 0x430], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.140008e90
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
mov rcx, rsi
mov edx, r12d
call fcn.140008eb0
mov rcx, rbx
mov rdx, rsi
call fcn.140008e60
add rsp, 0x20
mov dword [rbp + 0x478], 0x3a0033
sub rsp, 0x20
lea rsi, [rbp + 0x478]
mov rcx, rsi
call fcn.140008f10
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
add rsp, 0x20
and qword [rbp + 0x478], 0
sub rsp, 0x20
mov ecx, 0x13d5988f
call fcn.140008d7e
add rsp, 0x20
mov r9d, dword [rdi + r14 + 8]
mov r8d, dword [rdi + r14 + 0xc]
mov rcx, qword [rbp + 0x460]
mov rdx, qword [rcx + 8]
add rdx, r8
add r8, r12
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
push 0xffffffffffffffff
pop rcx
call rax
pop rcx
pop rdx
mov ecx, 0xfa38e389
call fcn.140008d7e
mov rcx, r12
call rax
add rsp, 0x20
mov r12, qword [rbp + 0x458]
inc r15
add rdi, 0x28
jmp 0x14005ae0a
mov rcx, qword [rbp + 0x460]
add rcx, 0x90
jmp 0x14005adbe
mov byte [0x1400cbc88], 1
lea r12, [rbp + 0x190]
mov rdi, qword [rbp + 0x410]
and dword [rbp + 0x478], 0
mov qword [rbp + 0x190], rdi
movzx eax, byte [rdi]
cmp eax, 0xe9
je 0x14005b184
cmp eax, 0x4c
jne 0x14005b17a
cmp byte [rdi + 1], 0x8b
jne 0x14005b17a
cmp byte [rdi + 2], 0xd1
jne 0x14005b17a
cmp byte [rdi + 3], 0xb8
jne 0x14005b17a
cmp byte [rdi + 6], 0
jne 0x14005b17a
cmp byte [rdi + 7], 0
je 0x14005bd7f
cmp byte [rdi + 3], 0xe9
je 0x14005b184
cmp byte [rdi + 8], 0xe9
lea rdx, [rdi + 0x27]
lea r8, [rdi - 0x19]
push 1
pop rcx
cmp rcx, 0x1f5
je 0x14005b9b5
cmp byte [rdx - 7], 0x4c
jne 0x14005b1c3
cmp byte [rdx - 6], 0x8b
jne 0x14005b1c3
cmp byte [rdx - 5], 0xd1
jne 0x14005b1c3
cmp byte [rdx - 4], 0xb8
jne 0x14005b1c3
cmp byte [rdx - 1], 0
jne 0x14005b1c3
cmp byte [rdx], 0
je 0x14005b9a4
cmp byte [r8 - 7], 0x4c
jne 0x14005b1f0
cmp byte [r8 - 6], 0x8b
jne 0x14005b1f0
cmp byte [r8 - 5], 0xd1
jne 0x14005b1f0
cmp byte [r8 - 4], 0xb8
jne 0x14005b1f0
cmp byte [r8 - 1], 0
jne 0x14005b1f0
cmp byte [r8], 0
je 0x14005b9ac
inc rcx
add rdx, 0x20
add r8, 0xffffffffffffffe0
jmp 0x14005b18f
xor r8d, r8d
mov rdi, qword [rbp + 0x410]
cmp r8d, 2
je 0x14005b55e
cmp r8d, 1
mov dword [rbp + 0x474], r8d
jne 0x14005b3ce
sub rsp, 0x20
call fcn.140008a9f
mov r8d, dword [rbp + 0x474]
lea r10, [0x1400cae30]
add rsp, 0x20
mov r14d, 0x120
lea rdi, [0x1400cad20]
test r14, r14
je 0x14005b3ce
cmp qword [rdi - 8], 0
jne 0x14005b3bb
sub rsp, 0x20
mov ecx, 0xa38aef4b
call fcn.140008d7e
add rsp, 0x20
mov rsi, rax
sub rsp, 0x20
mov ecx, 0xa333f004
call fcn.140008d7e
mov rcx, rax
mov rdx, rdi
xor r8d, r8d
call rsi
add rsp, 0x20
test eax, eax
js 0x14005b2bb
mov qword [rbp + 0x190], 0xfffffffffff85ee0
sub rsp, 0x20
mov ecx, 0xebb0f609
call fcn.140008d7e
push 0xffffffffffffffff
pop rcx
xor edx, edx
mov r8, r12
call rax
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
call fcn.140008dac
add rsp, 0x20
mov qword [rdi - 8], rax
movups xmm0, xmmword [0x1400986c8]
movaps xmmword [rbp + 0x1a0], xmm0
movups xmm0, xmmword [0x1400986b8]
movaps xmmword [rbp + 0x190], xmm0
movabs rax, 0x4b006a00730004
mov qword [rbp + 0x1ae], rax
sub rsp, 0x20
mov rcx, r12
call fcn.140008e40
lea rsi, [0x1400cc8b0]
mov rcx, rsi
mov rdx, rax
call fcn.140008e60
mov rcx, rsi
mov rdx, rdi
call fcn.140008e60
add rsp, 0x20
movabs rax, 0x3f0046000d001c
mov qword [rbp + 0x196], rax
movabs rax, 0x1c000500070019
mov qword [rbp + 0x190], rax
sub rsp, 0x20
mov rcx, r12
call fcn.140008e90
mov rcx, rsi
mov rdx, rax
call fcn.140008e60
add rsp, 0x20
mov edx, dword [rdi - 8]
sub rsp, 0x20
mov rcx, r12
call fcn.140008eb0
mov rcx, rsi
mov rdx, r12
call fcn.140008e60
add rsp, 0x20
mov dword [rbp + 0x430], 0x3a0033
sub rsp, 0x20
lea rcx, [rbp + 0x430]
call fcn.140008f10
mov rcx, rsi
mov rdx, rax
call fcn.140008e60
add rsp, 0x20
lea r10, [0x1400cae30]
mov r8d, dword [rbp + 0x474]
add rdi, 0x90
add r14, 0xffffffffffffff70
jmp 0x14005b24a
lea r9, [0x1400cad10]
lea rax, [0x1400cae30]
cmp r9, rax
je 0x14005b556
mov r15, qword [r9 + 8]
test r15, r15
je 0x14005b543
mov ebx, dword [r15 + 0x3c]
mov ecx, dword [rbx + r15 + 0x88]
mov rax, rcx
mov qword [rbp + 0x3f8], rcx
mov eax, dword [rcx + r15 + 0x20]
mov qword [rbp + 0x400], rax
test rax, rax
je 0x14005b543
mov rax, qword [rbp + 0x3f8]
mov r11d, dword [r15 + rax + 0x1c]
mov r14d, dword [r15 + rax + 0x24]
add r14, r15
add qword [rbp + 0x400], r15
add r11, r15
xor r13d, r13d
mov qword [rbp + 0x468], r14
mov qword [rbp + 0x460], r15
mov rax, qword [rbp + 0x3f8]
mov eax, dword [r15 + rax + 0x18]
cmp r13, rax
jae 0x14005b543
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + r13*4]
add rax, qword [r9 + 8]
mov edi, 0x250
mov qword [rbp + 0x458], rax
movsx ecx, byte [rax]
test ecx, ecx
je 0x14005b490
inc rax
xor edi, ecx
imul edi, edi, 0x27d4eb4f
jmp 0x14005b47c
push 8
pop r12
cmp r12, 0x158
je 0x14005b53b
cmp dword [r12 + r10 - 8], edi
jne 0x14005b532
mov rsi, qword [r9 + 8]
movzx eax, word [r14 + r13*2]
mov eax, dword [r11 + rax*4]
add rax, rsi
cmp r8d, 1
jne 0x14005b52e
mov ecx, dword [r15 + rbx + 0x88]
add rcx, rsi
cmp rax, rcx
jb 0x14005b52e
mov edx, dword [r15 + rbx + 0x8c]
add rcx, rdx
cmp rax, rcx
jae 0x14005b52e
sub rsp, 0x20
mov ecx, 0x4d2cf7b0
mov r15, rbx
mov rbx, r9
mov r14, r11
call fcn.140008d7e
mov rcx, rsi
mov rdx, qword [rbp + 0x458]
call rax
mov r11, r14
mov r9, rbx
mov rbx, r15
mov r15, qword [rbp + 0x460]
mov r14, qword [rbp + 0x468]
mov r8d, dword [rbp + 0x474]
lea r10, [0x1400cae30]
add rsp, 0x20
mov qword [r12 + r10], rax
add r12, 0x10
jmp 0x14005b494
inc r13
jmp 0x14005b44c
add r9, 0x90
lea r12, [rbp + 0x190]
jmp 0x14005b3d5
inc r8d
jmp 0x14005b200
lea rcx, [0x1400cad10]
lea rax, [0x1400cae30]
cmp rcx, rax
je 0x14005b8d4
mov qword [rbp + 0x460], rcx
mov r13, qword [rcx + 8]
test r13, r13
je 0x14005b8ba
mov r12d, dword [r13 + 0x3c]
mov rax, qword [rbp + 0x460]
add rax, 0x10
mov qword [rbp + 0x468], rax
lea rdi, [r12 + r13]
add rdi, 0x18
xor r15d, r15d
mov qword [rbp + 0x458], r12
movzx eax, word [r12 + r13 + 6]
cmp r15, rax
jae 0x14005b8ba
movzx r14d, word [r12 + r13 + 0x14]
mov eax, dword [rdi + r14]
mov ecx, 0xdfdfdfdf
and eax, ecx
cmp eax, 0x5845540e
jne 0x14005b8ae
sub rsp, 0x20
mov r8d, 0x104
lea rsi, [rbp + 0x190]
mov rcx, rsi
xor edx, edx
call fcn.140018922
mov ecx, 0x9bebb8e5
call fcn.140008d7e
mov rcx, rsi
mov edx, 0x104
call rax
add rsp, 0x20
test eax, eax
je 0x14005b8a7
mov dword [rbp + 0x430], 0x3a0065
sub rsp, 0x20
lea rcx, [rbp + 0x430]
call fcn.140008f10
mov rcx, rsi
mov rdx, rax
call fcn.140008f30
mov rcx, rsi
mov rdx, qword [rbp + 0x468]
call fcn.140008f30
mov ecx, 0x781c218b
call fcn.140008d7e
sub rsp, 0x20
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
mov rcx, rsi
mov edx, 0x80000000
push 1
pop r8
xor r9d, r9d
call rax
add rsp, 0x40
cmp rax, 0xffffffffffffffff
je 0x14005b8a7
mov rbx, rax
sub rsp, 0x20
mov ecx, 0x5b8aeec9
call fcn.140008d7e
sub rsp, 0x10
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, 0x1000002
xor r9d, r9d
call rax
add rsp, 0x30
mov rsi, rax
mov r12d, 0
cmp rax, 0xffffffffffffffff
je 0x14005b6fb
sub rsp, 0x20
mov ecx, 0x1f07f560
call fcn.140008d7e
sub rsp, 0x10
and qword [rsp + 0x20], 0
mov rcx, rsi
push 4
pop rdx
xor r8d, r8d
xor r9d, r9d
call rax
add rsp, 0x30
mov r12, rax
sub rsp, 0x20
mov ecx, 0xccd342ee
call fcn.140008d7e
mov rcx, rsi
call rax
mov ecx, 0xccd342ee
call fcn.140008d7e
mov rcx, rbx
call rax
add rsp, 0x20
test r12, r12
je 0x14005b8a7
movabs rax, 0x3f001e00130012
mov qword [rbp + 0x436], rax
movabs rax, 0x120015001a0030
mov qword [rbp + 0x430], rax
sub rsp, 0x20
lea rsi, [rbp + 0x430]
mov rcx, rsi
call fcn.140008e90
lea rbx, [0x1400cc8b0]
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
mov rcx, rbx
mov rdx, qword [rbp + 0x468]
call fcn.140008e60
add rsp, 0x20
movabs rax, 0x3f001e00550048
mov qword [rbp + 0x436], rax
movabs rax, 0x480052004d0019
mov qword [rbp + 0x430], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.140008e90
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
mov rcx, rbx
lea rdx, [rbp + 0x190]
call fcn.140008e60
add rsp, 0x20
movabs rax, 0x3f0046000d001c
mov qword [rbp + 0x436], rax
movabs rax, 0x1c000500070019
mov qword [rbp + 0x430], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.140008e90
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
mov rcx, rsi
mov edx, r12d
call fcn.140008eb0
mov rcx, rbx
mov rdx, rsi
call fcn.140008e60
add rsp, 0x20
mov dword [rbp + 0x478], 0x3a0033
sub rsp, 0x20
lea rsi, [rbp + 0x478]
mov rcx, rsi
call fcn.140008f10
mov rcx, rbx
mov rdx, rax
call fcn.140008e60
add rsp, 0x20
and qword [rbp + 0x478], 0
sub rsp, 0x20
mov ecx, 0x13d5988f
call fcn.140008d7e
add rsp, 0x20
mov r9d, dword [rdi + r14 + 8]
mov r8d, dword [rdi + r14 + 0xc]
mov rcx, qword [rbp + 0x460]
mov rdx, qword [rcx + 8]
add rdx, r8
add r8, r12
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
push 0xffffffffffffffff
pop rcx
call rax
pop rcx
pop rdx
mov ecx, 0xfa38e389
call fcn.140008d7e
mov rcx, r12
call rax
add rsp, 0x20
mov r12, qword [rbp + 0x458]
inc r15
add rdi, 0x28
jmp 0x14005b5b1
mov rcx, qword [rbp + 0x460]
add rcx, 0x90
mov rdi, qword [rbp + 0x410]
jmp 0x14005b565
mov byte [0x1400cbc88], 1
lea r12, [rbp + 0x190]
and dword [rbp + 0x478], 0
mov qword [rbp + 0x190], rdi
movzx eax, byte [rdi]
cmp eax, 0xe9
je 0x14005b92b
cmp eax, 0x4c
jne 0x14005b921
cmp byte [rdi + 1], 0x8b
jne 0x14005b921
cmp byte [rdi + 2], 0xd1
jne 0x14005b921
cmp byte [rdi + 3], 0xb8
jne 0x14005b921
cmp byte [rdi + 6], 0
jne 0x14005b921
cmp byte [rdi + 7], 0
je 0x14005bd8c
cmp byte [rdi + 3], 0xe9
je 0x14005b92b
cmp byte [rdi + 8], 0xe9
lea rdx, [rdi + 0x27]
lea r8, [rdi - 0x19]
push 1
pop rcx
cmp rcx, 0x1f5
je 0x14005bba4
cmp byte [rdx - 7], 0x4c
jne 0x14005b96a
cmp byte [rdx - 6], 0x8b
jne 0x14005b96a
cmp byte [rdx - 5], 0xd1
jne 0x14005b96a
cmp byte [rdx - 4], 0xb8
jne 0x14005b96a
cmp byte [rdx - 1], 0
jne 0x14005b96a
cmp byte [rdx], 0
je 0x14005bb93
cmp byte [r8 - 7], 0x4c
jne 0x14005b997
cmp byte [r8 - 6], 0x8b
jne 0x14005b997
cmp byte [r8 - 5], 0xd1
jne 0x14005b997
cmp byte [r8 - 4], 0xb8
jne 0x14005b997
cmp byte [r8 - 1], 0
jne 0x14005b997
cmp byte [r8], 0
je 0x14005bb9b
inc rcx
add rdx, 0x20
add r8, 0xffffffffffffffe0
jmp 0x14005b936
movzx esi, byte [rdx - 3]
sub esi, ecx
jmp 0x14005b9b5
movzx edx, byte [r8 - 3]
add ecx, edx
mov esi, ecx
cmp eax, 0xe9
je 0x14005b9ed
cmp eax, 0x4c
jne 0x14005b9e3
cmp byte [rdi + 1], 0x8b
jne 0x14005b9e3
cmp byte [rdi + 2], 0xd1
jne 0x14005b9e3
cmp byte [rdi + 3], 0xb8
jne 0x14005b9e3
cmp byte [rdi + 6], 0
jne 0x14005b9e3
cmp byte [rdi + 7], 0
je 0x14005bd83
cmp byte [rdi + 3], 0xe9
je 0x14005b9ed
cmp byte [rdi + 8], 0xe9
lea rax, [rdi + 0x20]
lea rcx, [rdi - 0x20]
push 1
pop rdx
cmp rdx, 0x1f5
je 0x14005ba5c
cmp byte [rax], 0x4c
jne 0x14005ba28
cmp byte [rax + 1], 0x8b
jne 0x14005ba28
cmp byte [rax + 2], 0xd1
jne 0x14005ba28
cmp byte [rax + 3], 0xb8
jne 0x14005ba28
cmp byte [rax + 6], 0
jne 0x14005ba28
cmp byte [rax + 7], 0
je 0x14005bd83
cmp byte [rcx], 0x4c
jne 0x14005ba4f
cmp byte [rcx + 1], 0x8b
jne 0x14005ba4f
cmp byte [rcx + 2], 0xd1
jne 0x14005ba4f
cmp byte [rcx + 3], 0xb8
jne 0x14005ba4f
cmp byte [rcx + 6], 0
jne 0x14005ba4f
cmp byte [rcx + 7], 0
je 0x14005bd83
inc rdx
add rax, 0x20
add rcx, 0xffffffffffffffe0
jmp 0x14005b9f8
mov rax, rdi
mov dil, byte [rdi]
mov bl, byte [rax + 1]
mov qword [rbp + 0x430], 0x1000
mov rax, qword [0x1400cc8a0]
sub rsp, 0x30
lea r14, [rbp + 0x478]
test rax, rax
je 0x14005baf7
mov qword [rsp + 0x20], r14
push 0xffffffffffffffff
pop r13
mov rcx, r13
mov rdx, r12
lea r15, [rbp + 0x430]
mov r8, r15
push 0x40
pop r9
call rax
add rsp, 0x30
mov rax, qword [rbp + 0x190]
mov dword [rax], 0xb8ca8949
mov byte [rax + 4], sil
mov byte [rax + 7], 0
and word [rax + 5], 0
mov byte [rax + 8], dil
mov byte [rax + 9], bl
mov byte [rax + 0xe], 0x90
mov dword [rax + 0xa], 0x909090c3
mov r9d, dword [rbp + 0x478]
sub rsp, 0x30
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [0x1400cc8a0]
jmp 0x14005bb69
mov qword [rsp + 0x20], r14
push 0xffffffffffffffff
pop r13
mov rcx, r13
mov rdx, r12
lea r15, [rbp + 0x430]
mov r8, r15
push 0x40
pop r9
call qword [0x1400cbca0]
add rsp, 0x30
mov rax, qword [rbp + 0x190]
mov dword [rax], 0xb8ca8949
mov byte [rax + 4], sil
mov byte [rax + 7], 0
and word [rax + 5], 0
mov byte [rax + 8], dil
mov byte [rax + 9], bl
mov byte [rax + 0xe], 0x90
mov dword [rax + 0xa], 0x909090c3
mov r9d, dword [rbp + 0x478]
sub rsp, 0x30
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [0x1400cbca0]
add rsp, 0x30
mov rsi, qword [rbp + 0x428]
mov rcx, qword [rbp + 0x190]
sub rsp, 0x20
call fcn.1400093d5
add rsp, 0x20
mov rcx, rax
mov rsp, rsi
jmp 0x14005a15e
movzx esi, byte [rdx - 3]
sub esi, ecx
jmp 0x14005bba4
movzx edx, byte [r8 - 3]
add ecx, edx
mov esi, ecx
cmp eax, 0xe9
je 0x14005bbdc
cmp eax, 0x4c
jne 0x14005bbd2
cmp byte [rdi + 1], 0x8b
jne 0x14005bbd2
cmp byte [rdi + 2], 0xd1
jne 0x14005bbd2
cmp byte [rdi + 3], 0xb8
jne 0x14005bbd2
cmp byte [rdi + 6], 0
jne 0x14005bbd2
cmp byte [rdi + 7], 0
je 0x14005bd90
cmp byte [rdi + 3], 0xe9
je 0x14005bbdc
cmp byte [rdi + 8], 0xe9
lea rax, [rdi + 0x20]
lea rcx, [rdi - 0x20]
push 1
pop rdx
cmp rdx, 0x1f5
je 0x14005bc4b
cmp byte [rax], 0x4c
jne 0x14005bc17
cmp byte [rax + 1], 0x8b
jne 0x14005bc17
cmp byte [rax + 2], 0xd1
jne 0x14005bc17
cmp byte [rax + 3], 0xb8
jne 0x14005bc17
cmp byte [rax + 6], 0
jne 0x14005bc17
cmp byte [rax + 7], 0
je 0x14005bd90
cmp byte [rcx], 0x4c
jne 0x14005bc3e
cmp byte [rcx + 1], 0x8b
jne 0x14005bc3e
cmp byte [rcx + 2], 0xd1
jne 0x14005bc3e
cmp byte [rcx + 3], 0xb8
jne 0x14005bc3e
cmp byte [rcx + 6], 0
jne 0x14005bc3e
cmp byte [rcx + 7], 0
je 0x14005bd90
inc rdx
add rax, 0x20
add rcx, 0xffffffffffffffe0
jmp 0x14005bbe7
mov rax, rdi
mov dil, byte [rdi]
mov bl, byte [rax + 1]
mov qword [rbp + 0x430], 0x1000
mov rax, qword [0x1400cc8a0]
sub rsp, 0x30
lea r14, [rbp + 0x478]
test rax, rax
je 0x14005bce6
mov qword [rsp + 0x20], r14
push 0xffffffffffffffff
pop r13
mov rcx, r13
mov rdx, r12
lea r15, [rbp + 0x430]
mov r8, r15
push 0x40
pop r9
call rax
add rsp, 0x30
mov rax, qword [rbp + 0x190]
mov dword [rax], 0xb8ca8949
mov byte [rax + 4], sil
mov byte [rax + 7], 0
and word [rax + 5], 0
mov byte [rax + 8], dil
mov byte [rax + 9], bl
mov byte [rax + 0xe], 0x90
mov dword [rax + 0xa], 0x909090c3
mov r9d, dword [rbp + 0x478]
sub rsp, 0x30
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [0x1400cc8a0]
jmp 0x14005bd58
mov qword [rsp + 0x20], r14
push 0xffffffffffffffff
pop r13
mov rcx, r13
mov rdx, r12
lea r15, [rbp + 0x430]
mov r8, r15
push 0x40
pop r9
call qword [0x1400cbca0]
add rsp, 0x30
mov rax, qword [rbp + 0x190]
mov dword [rax], 0xb8ca8949
mov byte [rax + 4], sil
mov byte [rax + 7], 0
and word [rax + 5], 0
mov byte [rax + 8], dil
mov byte [rax + 9], bl
mov byte [rax + 0xe], 0x90
mov dword [rax + 0xa], 0x909090c3
mov r9d, dword [rbp + 0x478]
sub rsp, 0x30
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [0x1400cbca0]
add rsp, 0x30
mov rcx, qword [rbp + 0x190]
sub rsp, 0x20
call fcn.1400093d5
add rsp, 0x20
mov rcx, rax
mov rsp, qword [rbp + 0x3a8]
jmp 0x14005a66f
mov sil, byte [rdi + 4]
add rdi, 0x12
jmp 0x14005ba5c
mov sil, byte [rdi + 4]
add rdi, 0x12
jmp 0x14005bc4b
add rcx, 0x14
jmp 0x140059cc9
movaps xmm6, xmmword [rbp + 0x480]
lea rsp, [rbp + 0x498]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret