Function at 0x14005cb20
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov r11, rsp
push rbp
push rbx
push r12
push r13
push r15
lea rbp, [r11 - 0x398]
sub rsp, 0x470
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x350], rax
cmp qword [rcx + 0x240], 0
mov r15, r9
movzx r13d, r8w
movzx r12d, dx
mov rbx, rcx
je 0x14005dc90
mov qword [r11 + 0x10], rsi
mov qword [r11 - 0x30], rdi
mov edi, 0x100
mov qword [r11 - 0x38], r14
test dword [rcx + 0xc0], edi
je 0x14005cb94
call fcn.1401be514
lea rdx, [0x1401f8040]
lea rcx, [rax + 0x60]
call fcn.1401be844
lea rcx, [rbx + 0x290]
cmp dword [rcx], 2
jne 0x14005cbc4
mov eax, dword [rbx + 0x254]
mov r9, qword [rbx + 0x280]
lea r8, [rbx + 0xb8]
lea rdx, [rbx + 0x210]
mov dword [rsp + 0x20], eax
call fcn.140062280
mov rcx, qword [rbx + 0x300]
test rcx, rcx
je 0x14005cc2e
movzx eax, word [rbx + 0xbc]
mov word [rcx + 0x16], ax
movsx ecx, word [rbx + 0x22c]
mov rax, qword [rbx + 0x300]
mov dword [rax + 0x18], ecx
mov rax, qword [rbx + 0x300]
movsx ecx, word [rbx + 0x22e]
mov dword [rax + 0x1c], ecx
mov rcx, qword [rbx + 0x300]
movzx eax, word [rbx + 0x230]
mov word [rcx + 0x22], ax
mov rcx, qword [rbx + 0x300]
mov eax, dword [rbx + 0x250]
mov dword [rcx], eax
mov rcx, qword [rbx + 0x300]
mov eax, dword [rbx + 0x254]
mov dword [rcx + 4], eax
mov rcx, qword [rbx + 0x240]
call fcn.1401be23c
mov rcx, qword [rbx + 0x278]
mov qword [rbx + 0x240], 0
test rcx, rcx
je 0x14005cc56
call fcn.1401be23c
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x14005cc67
call fcn.1401be23c
mov rcx, qword [rbx + 0x2a0]
test rcx, rcx
je 0x14005cc78
call fcn.1401be23c
mov rcx, qword [rbx + 0x2e0]
test rcx, rcx
je 0x14005cc89
call fcn.1401be23c
mov rcx, qword [rbx + 0x2e8]
test rcx, rcx
je 0x14005cc9a
call fcn.1401be23c
mov rcx, qword [rbx + 0x298]
test rcx, rcx
je 0x14005ccab
call fcn.1401be23c
mov rcx, qword [rbx + 0x2a8]
test rcx, rcx
je 0x14005ccbc
call fcn.1401be23c
mov rcx, qword [rbx + 0x2b0]
test rcx, rcx
je 0x14005cccd
call fcn.1401be23c
mov rcx, qword [rbx + 0x2b8]
test rcx, rcx
je 0x14005ccde
call fcn.1401be23c
movzx edx, word [rbx + 0x22a]
mov eax, 1
mov esi, 0x400
mov ecx, edx
mov r8d, eax
mov dword [rsp + 0x38], 0x7a0
shl r8w, cl
mov rcx, qword [rbx + 0x300]
lea r9d, [rax + 0xf]
lea r10d, [rax + 1]
lea r14d, [rax + 3]
mov dword [rsp + 0x30], 0x800
mov r11d, 0x2000
test rcx, rcx
je 0x14005cec4
movzx eax, word [rbx + 0x264]
cmp ax, 0x50
jne 0x14005cd4e
cmp word [rbx + 0xb8], 0
mov eax, 0x40
cmove ax, r9w
jmp 0x14005cec0
cmp ax, word [rsp + 0x38]
jne 0x14005cdc0
mov eax, dword [rbx + 0xc0]
bt eax, 0x1a
jae 0x14005cd6a
mov word [rcx + 0xc], si
jmp 0x14005cec4
mov edx, 0x4000
bt eax, 0x14
jae 0x14005cd8e
mov eax, dword [rbx + 0x218]
test edx, eax
jne 0x14005cd85
bt eax, 0xf
jae 0x14005cd8e
mov word [rcx + 0xc], si
jmp 0x14005cec9
movzx eax, word [rbx + 0xb8]
test ax, ax
jne 0x14005cda8
mov eax, 0x20
mov word [rcx + 0xc], ax
jmp 0x14005cec9
cmp ax, 1
jne 0x14005ce8d
mov eax, 0x80
mov word [rcx + 0xc], ax
jmp 0x14005cec9
cmp ax, word [rsp + 0x30]
je 0x14005cea4
cmp ax, r11w
je 0x14005cea4
mov r9d, 0x1000
cmp ax, r9w
mov r9d, 0x4000
je 0x14005ce45
cmp ax, r9w
je 0x14005ce45
cmp dx, 1
jne 0x14005cdff
cmp ax, dx
je 0x14005cdff
mov word [rcx + 0xc], r10w
jmp 0x14005ce26
test r15, r15
jne 0x14005ce12
xor eax, eax
cmp dx, 1
setne al
inc ax
jmp 0x14005ce22
cmp dx, 1
mov eax, r14d
mov edx, 1
cmove ax, dx
mov word [rcx + 0xc], ax
mov ecx, edi
cmp r8w, di
jg 0x14005ce32
movsx ecx, r8w
mov rax, qword [rbx + 0x300]
mov edx, r9d
mov word [rax + 0x20], cx
jmp 0x14005cec9
test dword [rbx + 0xc0], 0x100000
je 0x14005ce68
mov eax, dword [rbx + 0x218]
test r9d, eax
jne 0x14005ce62
bt eax, 0xf
jae 0x14005ce68
mov word [rcx + 0xc], si
jmp 0x14005cec4
movzx eax, word [rbx + 0xb8]
test ax, ax
jne 0x14005ce7b
mov eax, 0x20
jmp 0x14005cec0
cmp ax, 1
jne 0x14005ce88
mov eax, 0x80
jmp 0x14005cec0
mov edx, 0x4000
cmp ax, 3
jne 0x14005ce9e
mov eax, 0x200
mov word [rcx + 0xc], ax
jmp 0x14005cec9
mov word [rcx + 0xc], di
jmp 0x14005cec9
movzx eax, word [rbx + 0xb8]
test ax, ax
jne 0x14005ceb7
mov word [rcx + 0xc], r9w
jmp 0x14005cec4
cmp ax, 1
mov eax, 0x40
mov word [rcx + 0xc], ax
mov edx, 0x4000
mov rax, qword [rbx + 0x300]
mov esi, 8
test rax, rax
je 0x14005d06f
movzx ecx, word [rbx + 0x264]
mov r8d, 0x800
cmp cx, r8w
je 0x14005d01f
cmp cx, r11w
je 0x14005d01f
cmp cx, dx
je 0x14005d01f
mov edx, 0x1000
cmp cx, dx
jne 0x14005cf43
cmp word [rbx + 0x224], 1
jle 0x14005cf43
mov word [rax + 0xe], si
movzx eax, word [rbx + 0x222]
mov rcx, qword [rbx + 0x300]
mov word [rcx + 0x10], ax
mov rax, qword [rbx + 0x300]
mov word [rax + 0x12], r14w
jmp 0x14005d06f
movzx ecx, word [rax + 0xc]
mov edx, 0x7a0
test dx, cx
je 0x14005cf72
mov word [rax + 0xe], r14w
mov rax, qword [rbx + 0x300]
mov word [rax + 0x10], si
mov rax, qword [rbx + 0x300]
mov word [rax + 0x12], r14w
jmp 0x14005d06f
mov edx, 1
test cl, 0x50
je 0x14005cfa0
mov ecx, 3
mov word [rax + 0xe], cx
mov rax, qword [rbx + 0x300]
mov word [rax + 0x10], si
mov rax, qword [rbx + 0x300]
mov word [rax + 0x12], cx
jmp 0x14005d074
mov word [rax + 0xe], dx
movzx ecx, word [rbx + 0x22a]
cmp cx, dx
jne 0x14005cfd4
cmp word [rbx + 0x264], dx
je 0x14005cfd4
mov rax, qword [rbx + 0x300]
mov word [rax + 0x10], si
mov rax, qword [rbx + 0x300]
mov word [rax + 0x12], dx
jmp 0x14005d074
cmp word [rbx + 0x264], r10w
jne 0x14005d007
cmp cx, 0xa
jl 0x14005d007
mov rax, qword [rbx + 0x300]
mov word [rax + 0x10], si
mov rax, qword [rbx + 0x300]
mov word [rax + 0x20], di
mov rax, qword [rbx + 0x300]
mov word [rax + 0x12], dx
jmp 0x14005d074
mov rax, qword [rbx + 0x300]
mov word [rax + 0x10], cx
mov rax, qword [rbx + 0x300]
mov word [rax + 0x12], dx
jmp 0x14005d074
cmp word [rbx + 0x224], 1
jne 0x14005d039
mov word [rax + 0xc], r10w
mov rax, qword [rbx + 0x300]
mov word [rax + 0x20], di
mov rcx, qword [rbx + 0x300]
movzx eax, word [rbx + 0x270]
mov word [rcx + 0xe], ax
mov rcx, qword [rbx + 0x300]
movzx eax, word [rbx + 0x222]
mov word [rcx + 0x10], ax
mov rcx, qword [rbx + 0x300]
movzx eax, word [rbx + 0x224]
mov word [rcx + 0x12], ax
mov edx, 1
mov rax, qword [rbx + 0x310]
test rax, rax
je 0x14005d092
cmp word [rax + 0x14], 1
jne 0x14005d092
cmp word [rax + 0x16], 1
jne 0x14005d092
mov word [rax + 0x26], dx
xor r11d, r11d
test dword [rbx + 0x218], 0x2000000
mov r14d, r11d
je 0x14005d13c
cmp word [rbx + 0x22a], 0x20
jne 0x14005d13c
cmp byte [rbx + 0x321], r11b
jne 0x14005d13c
cmp word [rbx + 0x266], 4
jne 0x14005d13c
mov rax, qword [rbx + 0x300]
mov r9d, r11d
cmp dword [rax + 4], r11d
jle 0x14005d13c
mov r10d, 0xfffd
mov rcx, qword [rbx + 0x300]
mov r8d, r11d
mov eax, dword [rcx + 8]
imul eax, r9d
movsxd rdx, eax
add rdx, qword [rcx + 0x30]
cmp dword [rcx], r11d
jle 0x14005d12c
movzx eax, word [rbx + 0xb8]
dec ax
test r10w, ax
je 0x14005d116
mov byte [rdx + 3], 0xff
jmp 0x14005d119
mov byte [rdx], 0xff
mov rax, qword [rbx + 0x300]
inc r8d
add rdx, 4
cmp r8d, dword [rax]
jl 0x14005d100
mov rax, qword [rbx + 0x300]
inc r9d
cmp r9d, dword [rax + 4]
jl 0x14005d0e3
test r15, r15
je 0x14005d5b5
movzx edi, word [rbx + 0x22a]
cmp di, si
jg 0x14005d5b5
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x404
call fcn.1401c0040
mov ecx, edi
test r12b, 2
je 0x14005d191
mov r12d, 1
mov rdx, r15
mov eax, r12d
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r8d, ax
call fcn.140138aa0
jmp 0x14005d2e3
test r12b, 4
je 0x14005d1b9
mov r12d, 1
mov rdx, r15
mov eax, r12d
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r8d, ax
call fcn.140138b70
jmp 0x14005d2e3
test sil, r12b
je 0x14005d1e0
mov r12d, 1
mov rdx, r15
mov eax, r12d
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r8d, ax
call fcn.140138c70
jmp 0x14005d2e3
movzx r8d, r13w
test r12b, 0x10
je 0x14005d22d
mov eax, 0x200
mov rdx, r15
test ax, r12w
mov r12d, 1
mov eax, r12d
je 0x14005d217
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.140137970
jmp 0x14005d2e3
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.140138810
jmp 0x14005d2e3
mov eax, 0x800
test ax, r12w
je 0x14005d25a
mov r12d, 1
mov rdx, r15
mov eax, r12d
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.140137540
jmp 0x14005d2e3
mov edx, 0x400
test dx, r12w
mov rdx, r15
je 0x14005d284
mov r12d, 1
mov eax, r12d
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.1401389a0
jmp 0x14005d2e3
mov eax, 0x1000
test ax, r12w
je 0x14005d2ab
mov r12d, 1
mov eax, r12d
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.140137b00
jmp 0x14005d2e3
mov eax, 0x200
test ax, r12w
mov r12d, 1
mov eax, r12d
je 0x14005d2d2
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.1401378a0
jmp 0x14005d2e3
shl ax, cl
lea rcx, [rsp + 0x40]
movzx r9d, ax
call fcn.140138710
movzx edi, word [rbx + 0x22a]
cmp di, si
jg 0x14005da1c
movzx edx, word [rbx + 0x264]
mov r15d, 0x7a0
cmp dx, 0x50
jne 0x14005d322
cmp word [rbx + 0xb8], 0
lea r14, [0x140065d20]
lea rax, [0x140065dc0]
cmove r14, rax
jmp 0x14005d362
cmp dx, r15w
jne 0x14005d362
movzx eax, word [rbx + 0xb8]
test ax, ax
jne 0x14005d33d
lea r14, [0x140065d70]
jmp 0x14005d362
cmp ax, 1
jne 0x14005d34c
lea r14, [0x140065c30]
jmp 0x14005d362
lea r14, [0x140065cd0]
lea rcx, [0x140065c80]
cmp ax, 3
cmove r14, rcx
movzx r11d, byte [rbp + 0x141]
movzx r8d, byte [rbp + 0x140]
movzx r10d, byte [rbp + 0x41]
movzx eax, byte [rbp + 0x40]
movzx r9d, byte [rsp + 0x41]
movzx ecx, byte [rsp + 0x40]
cmp di, 1
jne 0x14005d450
cmp dx, 0x50
je 0x14005d3e4
cmp dx, r15w
je 0x14005d3e4
test cl, cl
jne 0x14005d3b9
test al, al
jne 0x14005d3d6
test r8b, r8b
jne 0x14005d3d6
cmp r9b, 0xff
jne 0x14005d3d6
cmp r10b, r9b
jne 0x14005d3d6
cmp r11b, r9b
jmp 0x14005d3d4
cmp cl, 0xff
jne 0x14005d3d6
cmp al, cl
jne 0x14005d3d6
cmp r8b, cl
jne 0x14005d3d6
test r9b, r9b
jne 0x14005d3d6
test r10b, r10b
jne 0x14005d3d6
test r11b, r11b
je 0x14005d3e4
mov rcx, qword [rbx + 0x300]
call fcn.14005dd30
jmp 0x14005d44b
cmp di, 1
jne 0x14005d450
cmp dx, di
je 0x14005d450
test cl, cl
jne 0x14005d40e
test al, al
jne 0x14005d450
test r8b, r8b
jne 0x14005d450
cmp r9b, 0xff
jne 0x14005d450
cmp r10b, r9b
jne 0x14005d450
cmp r11b, r9b
je 0x14005d42b
jmp 0x14005d450
cmp cl, 0xff
jne 0x14005d450
cmp al, cl
jne 0x14005d450
cmp r8b, cl
jne 0x14005d450
test r9b, r9b
jne 0x14005d450
test r10b, r10b
jne 0x14005d450
test r11b, r11b
jne 0x14005d450
cmp word [rbx + 0xb8], 0
mov rcx, qword [rbx + 0x300]
jne 0x14005d443
call fcn.14005de90
jmp 0x14005d448
call fcn.14005df00
xor r14d, r14d
movzx ecx, byte [rsp + 0x40]
mov rdi, qword [rbx + 0x300]
cmp word [rdi + 0xc], 4
jne 0x14005d4e2
mov edx, 0x404
mov rcx, r12
call fcn.1401be1f8
mov edx, 0x80
mov qword [rdi + 0x28], rax
mov rax, qword [rbx + 0x300]
mov rcx, qword [rax + 0x28]
lea rax, [rsp + 0x40]
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
add rcx, rdx
add rax, rdx
movups xmmword [rcx - 0x10], xmm1
dec rsi
jne 0x14005d490
mov eax, dword [rax]
mov dword [rcx], eax
movzx ecx, byte [rsp + 0x40]
mov rax, qword [rbx + 0x300]
xor r11d, r11d
cmp word [rax + 0xc], 1
jne 0x14005d553
test cl, cl
je 0x14005d553
mov r9d, r11d
cmp dword [rbx + 0x254], r11d
jle 0x14005d553
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rbx + 0x26c]
movzx r8d, r11w
mov eax, ecx
imul eax, r9d
movsxd rdx, eax
mov rax, qword [rbx + 0x300]
add rdx, qword [rax + 0x30]
test ecx, ecx
jle 0x14005d547
not byte [rdx]
inc r8w
inc rdx
movsx eax, r8w
cmp eax, dword [rbx + 0x26c]
jl 0x14005d532
inc r9d
cmp r9d, dword [rbx + 0x254]
jl 0x14005d510
test r14, r14
je 0x14005da1c
cmp dword [rbx + 0x254], 0
mov rax, qword [rbx + 0x300]
mov edi, r11d
mov ecx, dword [rax]
mov dword [rbx + 0x210], ecx
jle 0x14005da1c
nop dword [rax + rax]
mov eax, edi
lea r8, [rbx + 0x210]
lea rcx, [rsp + 0x40]
imul eax, dword [rbx + 0x26c]
movsxd rdx, eax
mov rax, qword [rbx + 0x300]
add rdx, qword [rax + 0x30]
call r14
inc edi
cmp edi, dword [rbx + 0x254]
jl 0x14005d580
jmp 0x14005da1c
mov ecx, dword [rbx + 0x218]
bt ecx, 0x12
jb 0x14005d5c7
bt ecx, 0x11
jae 0x14005d5e2
mov rax, qword [rbx + 0x300]
cmp word [rax + 0xe], 3
jb 0x14005d5e2
mov rcx, rbx
call fcn.14005b7e0
jmp 0x14005da1c
bt ecx, 0x13
jb 0x14005d5ee
bt ecx, 0x14
jae 0x14005d609
mov rax, qword [rbx + 0x300]
cmp word [rax + 0xe], 3
jb 0x14005d609
mov rcx, rbx
call fcn.14005ba40
jmp 0x14005da1c
mov edi, ecx
mov eax, 0x4000
and edi, eax
jne 0x14005d61e
bt ecx, 0xf
jae 0x14005d6e7
mov rsi, qword [rbx + 0x300]
mov edx, 0x400
cmp word [rsi + 0xc], dx
je 0x14005d6ec
test byte [rbx + 0x1d0], 1
je 0x14005d68e
mov rcx, qword [rbx + 0x330]
call fcn.1400651d0
test rax, rax
jne 0x14005d66a
movzx ecx, word [rbx + 0x1d4]
cmp cx, 1
je 0x14005d66a
cmp cx, 2
jne 0x14005d68e
cmp qword [rbx + 0x1c8], r14
je 0x14005d68e
cmp word [rsi + 0xe], 4
mov rdx, rax
mov rcx, rbx
jne 0x14005d681
mov r8d, edi
call fcn.14005b450
jmp 0x14005d686
call fcn.14005afb0
test eax, eax
jne 0x14005da1c
test dword [rbx + 0x218], 0x8000
mov rax, qword [rbx + 0x300]
je 0x14005d6b9
cmp word [rax + 0xe], 4
jne 0x14005da1c
mov rcx, rbx
call fcn.14005b260
jmp 0x14005da1c
movzx ecx, word [rax + 0xe]
cmp cx, 4
jne 0x14005d6d0
mov rcx, rbx
call fcn.14005b650
jmp 0x14005da1c
cmp cx, 3
jne 0x14005da1c
mov rcx, rbx
call fcn.14005b170
jmp 0x14005da1c
mov edx, 0x400
test edi, edi
je 0x14005d78b
mov rax, qword [rbx + 0x300]
cmp word [rax + 0xc], dx
jne 0x14005d78b
cmp word [rax + 0xe], 4
jne 0x14005d78b
mov r8d, r11d
cmp dword [rbx + 0x254], r11d
jle 0x14005da1c
nop dword [rax]
mov rcx, qword [rbx + 0x300]
mov eax, dword [rcx + 8]
imul eax, r8d
movsxd rdx, eax
add rdx, qword [rcx + 0x30]
mov ecx, r11d
cmp dword [rbx + 0x250], ecx
jle 0x14005d77a
mov eax, 0xff
inc ecx
add rdx, 4
sub al, byte [rdx - 4]
mov byte [rdx - 4], al
mov eax, 0xff
sub al, byte [rdx - 3]
mov byte [rdx - 3], al
mov eax, 0xff
sub al, byte [rdx - 2]
mov byte [rdx - 2], al
mov eax, 0xff
sub al, byte [rdx - 1]
mov byte [rdx - 1], al
cmp ecx, dword [rbx + 0x250]
jl 0x14005d740
inc r8d
cmp r8d, dword [rbx + 0x254]
jl 0x14005d720
jmp 0x14005da1c
bt ecx, 0xf
jae 0x14005d7ab
mov rax, qword [rbx + 0x300]
cmp word [rax + 0xc], dx
je 0x14005d7ab
mov rcx, rbx
call fcn.14005b260
jmp 0x14005da1c
test ecx, 0xc000
jne 0x14005d828
mov rax, qword [rbx + 0x300]
cmp word [rax + 0xc], dx
jne 0x14005d828
movzx edi, word [rbx + 0x1d0]
test dil, 2
je 0x14005d7f7
test byte [rbx + 0x1f8], 1
jne 0x14005d7f7
mov rcx, qword [rbx + 0x330]
call fcn.1400651d0
test rax, rax
je 0x14005d7fc
mov rdx, rax
mov rcx, rbx
call fcn.14005bdd0
jmp 0x14005da1c
mov rax, qword [rsp + 0x30]
test dil, 1
je 0x14005d81b
cmp qword [rbx + 0x1b8], r14
je 0x14005d81b
mov rdx, rax
mov rcx, rbx
call fcn.14005bdd0
jmp 0x14005da1c
mov rcx, rbx
call fcn.14005bc80
jmp 0x14005da1c
movzx edx, word [rbx + 0x22a]
cmp dx, 8
jg 0x14005d9cb
movzx ecx, word [rbx + 0x264]
cmp cx, 0x50
jne 0x14005d862
cmp word [rbx + 0xb8], r11w
lea r14, [0x140065ed0]
lea rax, [0x140065f30]
cmove r14, rax
jmp 0x14005d8a6
mov eax, 0x7a0
cmp cx, ax
jne 0x14005d8a6
movzx eax, word [rbx + 0xb8]
test ax, ax
jne 0x14005d881
lea r14, [0x140065f00]
jmp 0x14005d8a6
cmp ax, 1
jne 0x14005d890
lea r14, [0x140065e10]
jmp 0x14005d8a6
lea r14, [0x140065e90]
lea r8, [0x140065e50]
cmp ax, 3
cmove r14, r8
test r12b, 1
je 0x14005d999
mov rax, qword [rbx + 0x300]
mov r9d, r11d
cmp word [rax + 0xc], 1
jne 0x14005d922
cmp dword [rbx + 0x254], r11d
jle 0x14005d553
nop
movsxd rcx, dword [rbx + 0x26c]
movsxd rax, r9d
mov r8d, r11d
mov rdx, rcx
imul rdx, rax
mov rax, qword [rbx + 0x300]
add rdx, qword [rax + 0x30]
test ecx, ecx
jle 0x14005d911
nop dword [rax]
nop word [rax + rax]
not byte [rdx]
inc r8d
inc rdx
cmp r8d, dword [rbx + 0x26c]
jl 0x14005d900
inc r9d
cmp r9d, dword [rbx + 0x254]
jl 0x14005d8d0
jmp 0x14005d553
mov ecx, edx
mov edx, 1
mov r8d, edx
shl r8d, cl
dec r8d
cmp dword [rbx + 0x254], r9d
jle 0x14005d553
nop
mov eax, r9d
mov edx, r11d
imul eax, dword [rbx + 0x26c]
movsxd rcx, eax
mov rax, qword [rbx + 0x300]
add rcx, qword [rax + 0x30]
cmp dword [rbx + 0x250], edx
jle 0x14005d988
nop dword [rax]
nop word [rax + rax]
movzx eax, r8b
inc edx
lea rcx, [rcx + 1]
sub al, byte [rcx - 1]
mov byte [rcx - 1], al
cmp edx, dword [rbx + 0x250]
jl 0x14005d970
inc r9d
cmp r9d, dword [rbx + 0x254]
jl 0x14005d940
jmp 0x14005d553
cmp dx, 1
jne 0x14005d553
cmp cx, dx
je 0x14005d553
mov rcx, qword [rbx + 0x300]
cmp word [rbx + 0xb8], r11w
jne 0x14005d9c4
call fcn.14005de90
jmp 0x14005da1c
call fcn.14005df00
jmp 0x14005da1c
movzx edi, word [rbx + 0x1d0]
and di, 2
je 0x14005d9f4
test byte [rbx + 0x1f8], 1
jne 0x14005d9f4
mov rcx, qword [rbx + 0x330]
call fcn.1400651d0
test rax, rax
je 0x14005d9f9
jmp 0x14005da11
mov rax, qword [rsp + 0x30]
test di, di
je 0x14005da1c
test byte [rbx + 0x1f8], 1
jne 0x14005da1c
cmp word [rbx + 0x1d2], 1
jl 0x14005da1c
mov rdx, rax
mov rcx, rbx
call fcn.14005c030
cmp word [rbx + 0x31e], 0
mov r14, qword [rsp + 0x460]
jne 0x14005dc80
mov eax, dword [rbx + 0x290]
cmp eax, 3
jne 0x14005dadb
test dword [rbx + 0xc0], 0x8000000
mov ecx, dword [rbx + 0x214]
mov r10d, dword [rbx + 0x210]
je 0x14005da7f
movzx edx, word [rbx + 0x22e]
movzx eax, word [rbx + 0x22c]
cmp ax, dx
je 0x14005da7f
cmp ax, 0x32
jle 0x14005da7f
cwde
imul eax, ecx
movsx ecx, dx
cdq
idiv ecx
mov ecx, eax
mov r8d, dword [rbx + 0xd4]
mov r9d, dword [rbx + 0xd8]
mov eax, r8d
imul eax, ecx
cdq
idiv r10d
cmp eax, r9d
jg 0x14005daa1
mov r9d, eax
jmp 0x14005daae
mov eax, r9d
imul eax, r10d
cdq
idiv ecx
mov r8d, eax
mov rcx, qword [rbx + 0x300]
test r8d, r8d
mov eax, 1
cmovle r8d, eax
test r9d, r9d
cmovle r9d, eax
xor esi, esi
xor edx, edx
mov word [rsp + 0x20], si
call fcn.14006ad60
jmp 0x14005db8c
cmp eax, 4
jne 0x14005db8a
test dword [rbx + 0xc0], 0x8000000
mov ecx, dword [rbx + 0x214]
mov r10d, dword [rbx + 0x210]
je 0x14005db22
movzx edx, word [rbx + 0x22e]
movzx eax, word [rbx + 0x22c]
cmp ax, dx
je 0x14005db22
cmp ax, 0x32
jle 0x14005db22
cwde
imul eax, ecx
movsx ecx, dx
cdq
idiv ecx
mov ecx, eax
mov r8d, dword [rbx + 0xd4]
mov r9d, dword [rbx + 0xd8]
mov eax, r8d
imul eax, ecx
cdq
idiv r10d
cmp eax, r9d
jg 0x14005db44
mov r9d, eax
jmp 0x14005db51
mov eax, r9d
imul eax, r10d
cdq
idiv ecx
mov r8d, eax
mov eax, 1
test r8d, r8d
mov ecx, 0x40
cmovle r8d, eax
test r9d, r9d
cmovle r9d, eax
cmp word [rbx + 0xb8], ax
mov eax, 0x10
cmove eax, ecx
mov rcx, qword [rbx + 0x300]
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.140069540
xor esi, esi
cmp word [rbx + 0xbc], 0
jne 0x14005dc80
cmp qword [rbx + 0x160], 0
jne 0x14005dc80
movzx eax, word [rbx + 0x220]
mov ecx, 0x81
cmp ax, cx
je 0x14005dc18
mov ecx, 0x90
cmp ax, cx
je 0x14005dc18
mov ecx, 0x91
cmp ax, cx
je 0x14005dbdb
mov ecx, 0x80
cmp ax, cx
jne 0x14005dc80
mov rcx, qword [rbx + 0x300]
xor r8d, r8d
xor edx, edx
call fcn.1401a42f0
test ax, ax
jne 0x14005dc80
mov rax, qword [rbx + 0x310]
test rax, rax
je 0x14005dc0c
mov edi, dword [rax + 0xc]
mov r8d, 0xffffffa6
jmp 0x14005dc49
mov edi, dword [rsp + 0x30]
mov r8d, 0xffffffa6
jmp 0x14005dc49
mov rcx, qword [rbx + 0x300]
xor r8d, r8d
xor edx, edx
call fcn.1401a42f0
test ax, ax
jne 0x14005dc80
mov rax, qword [rbx + 0x310]
test rax, rax
je 0x14005dc3f
mov edi, dword [rax + 0xc]
jmp 0x14005dc43
mov edi, dword [rsp + 0x30]
mov r8d, 0x5a
mov rcx, qword [rbx + 0x300]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.1401a63b0
mov rcx, qword [rbx + 0x310]
test rcx, rcx
je 0x14005dc80
mov eax, dword [rcx + 0x10]
mov dword [rcx + 0xc], eax
mov rax, qword [rbx + 0x310]
mov dword [rax + 0x10], edi
mov rsi, qword [rsp + 0x4a8]
mov rdi, qword [rsp + 0x468]
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x470
pop r15
pop r13
pop r12
pop rbx
pop rbp
ret