Function at 0x140031ab0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r9d, dword [rcx + 0x458]
test r9d, r9d
je 0x140031342
sub r9d, 1
je 0x14003133d
cmp r9d, 1
jne 0x140031347
jmp 0x140031350
jmp 0x140031ab0
jmp 0x140031f00
ret
mov r11, rsp
push rbp
push rbx
push r12
lea rbp, [r11 - 0x5f]
sub rsp, 0x100
mov rax, qword [0x1401d61d8]
xor rax, rsp
mov qword [rbp + 0x17], rax
cmp qword [rcx + 0x450], 0
mov r12d, r8d
mov dword [rbp - 0x6d], r8d
mov rbx, rcx
mov qword [rbp - 0x49], rcx
je 0x140031a92
mov qword [r11 + 0x18], rsi
mov qword [r11 - 0x20], rdi
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov qword [r11 - 0x28], r13
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
divss xmm0, dword [0x1401494e0]
mulss xmm0, dword [0x1401494bc]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mov r14d, dword [rbx + 0x1c]
xorps xmm1, xmm1
mov esi, dword [rbx + 0x448]
cvtsd2ss xmm1, xmm0
mov dword [rbp - 0x69], r14d
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
imul esi, r14d
mulss xmm0, xmm1
mulss xmm1, dword [0x1401494e8]
addss xmm0, dword [0x140149478]
mov dword [rsp + 0x38], esi
cvttss2si edi, xmm0
mov eax, edi
shl edi, 8
cdq
mov dword [rsp + 0x34], edi
mov r13d, eax
xor r13d, edx
sub r13d, edx
add r13d, dword [rbx + 0x20]
mov dword [rbp - 0x61], r13d
cvttss2si eax, xmm1
mov dword [rbp - 0x75], eax
test sil, 3
je 0x140031430
inc esi
test sil, 3
jne 0x140031424
mov dword [rsp + 0x38], esi
mov eax, esi
imul eax, r13d
mov ecx, eax
mov dword [rbp - 0x5d], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r11d, r11d
xor edx, edx
mov qword [rbp - 0x41], rax
mov r15, rax
mov rax, qword [rbx + 0x450]
mov qword [rbp - 0x39], rax
mov dword [rbp - 0x7d], r11d
mov dword [rbp - 0x79], edx
test r13d, r13d
jle 0x140031a43
nop dword [rax + rax]
xor ecx, ecx
xor eax, eax
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0x30], eax
test r14d, r14d
jle 0x140031a27
mov r10d, dword [rbx + 0x448]
shl edx, 8
mov dword [rbp - 0x65], edx
nop dword [rax]
nop word [rax + rax]
lea r9d, [rcx + r11]
mov r14d, edx
mov ecx, eax
mov dword [rbp - 0x71], r9d
mov eax, dword [rbp - 0x75]
shl ecx, 8
imul eax, ecx
mov edx, ecx
mov dword [rsp + 0x24], ecx
sar eax, 8
sub r14d, eax
test edi, edi
lea eax, [rdi + r14]
cmovs r14d, eax
sar edx, 8
mov r8d, r14d
sar r8d, 8
test r8d, r8d
js 0x1400319de
mov edi, dword [rbx + 0x20]
dec edi
cmp r8d, edi
jg 0x1400319de
test edx, edx
js 0x1400319de
mov r15d, dword [rbx + 0x1c]
lea esi, [r15 - 1]
cmp edx, esi
jg 0x1400319da
mov r11d, dword [rbx + 0x444]
mov eax, r10d
imul eax, edx
mov ecx, r11d
imul ecx, r8d
mov r9d, r8d
mov r13d, edx
shl r9d, 8
shl r13d, 8
add ecx, eax
mov ebx, ecx
sub ebx, r10d
mov eax, ebx
sub eax, r11d
mov dword [rbp - 0x29], eax
cmp r8d, 1
jl 0x140031541
cmp edx, 1
jge 0x140031544
mov dword [rbp - 0x29], ecx
mov eax, ecx
sub eax, r11d
cmp r8d, 1
cmovl eax, ecx
mov dword [rbp - 0x25], eax
mov eax, r10d
sub eax, r11d
add eax, ecx
mov dword [rbp - 0x21], eax
cmp r8d, 1
jl 0x140031568
cmp edx, esi
jl 0x14003156b
mov dword [rbp - 0x21], ecx
lea r12d, [r10 + r10]
mov eax, r12d
sub eax, r11d
add eax, ecx
mov dword [rbp - 0x1d], eax
cmp r8d, 1
jl 0x140031588
lea eax, [r15 - 2]
cmp edx, eax
jl 0x14003158b
mov dword [rbp - 0x1d], ecx
cmp edx, 1
mov dword [rbp - 0x15], ecx
lea eax, [r10 + rcx]
cmovl ebx, ecx
cmp edx, esi
mov dword [rbp - 0x19], ebx
cmovge eax, ecx
add r15d, 0xfffffffe
mov dword [rbp - 0x11], eax
cmp edx, r15d
lea eax, [r12 + rcx]
cmovge eax, ecx
mov dword [rbp - 0xd], eax
mov eax, r11d
sub eax, r10d
add eax, ecx
mov dword [rbp - 9], eax
cmp r8d, edi
jge 0x1400315c9
cmp edx, 1
jge 0x1400315cc
mov dword [rbp - 9], ecx
cmp r8d, edi
lea eax, [r11 + rcx]
cmovge eax, ecx
mov dword [rbp - 5], eax
lea eax, [r11 + r10]
mov dword [rsp + 0x20], eax
add eax, ecx
mov dword [rbp - 1], eax
cmp r8d, edi
jge 0x1400315ef
cmp edx, esi
jl 0x1400315f2
mov dword [rbp - 1], ecx
lea eax, [r11 + r12]
add eax, ecx
mov dword [rbp + 3], eax
cmp r8d, edi
jge 0x140031605
cmp edx, r15d
jl 0x140031608
mov dword [rbp + 3], ecx
lea ebx, [r11 + r11]
mov eax, ebx
sub eax, r10d
add eax, ecx
mov dword [rbp + 7], eax
mov rax, qword [rbp - 0x49]
mov r11d, dword [rax + 0x20]
add r11d, 0xfffffffe
cmp r8d, r11d
jge 0x14003162c
cmp edx, 1
jge 0x14003162f
mov dword [rbp + 7], ecx
cmp r8d, r11d
lea eax, [rbx + rcx]
cmovge eax, ecx
mov dword [rbp + 0xb], eax
lea eax, [r10 + rbx]
add eax, ecx
mov dword [rbp + 0xf], eax
cmp r8d, r11d
jge 0x14003164d
cmp edx, esi
jl 0x140031650
mov dword [rbp + 0xf], ecx
mov eax, dword [rsp + 0x20]
lea eax, [rcx + rax*2]
mov dword [rbp + 0x13], eax
cmp r8d, r11d
jge 0x140031664
cmp edx, r15d
jl 0x140031667
mov dword [rbp + 0x13], ecx
sub r13d, dword [rsp + 0x24]
lea r15, [rbp - 0x25]
xor r12d, r12d
mov qword [rbp - 0x51], 4
mov dword [rsp + 0x20], r12d
sub r9d, r14d
lea r10d, [r13 + 0x200]
mov r13d, r12d
mov dword [rsp + 0x24], r10d
nop dword [rax]
nop word [rax + rax]
lea r14d, [r9 + 0x100]
xor r8d, r8d
mov dword [rsp + 0x28], r14d
test r14d, r14d
jle 0x1400316c7
mov r8d, r14d
imul r8d, r14d
sar r8d, 8
imul r8d, r14d
sar r8d, 8
xor eax, eax
test r9d, r9d
jle 0x1400316df
mov eax, r9d
imul eax, r9d
sar eax, 8
imul eax, r9d
sar eax, 8
xor ecx, ecx
lea edx, [r9 - 0x100]
test edx, edx
jle 0x1400316fa
mov ecx, edx
imul ecx, edx
sar ecx, 8
imul ecx, edx
sar ecx, 8
xor edx, edx
add r9d, 0xfffffe00
test r9d, r9d
jle 0x140031719
mov edx, r9d
imul edx, r9d
sar edx, 8
imul edx, r9d
sar edx, 8
mov r14, qword [rbp - 0x39]
lea ecx, [rcx + rcx*2]
shl eax, 0xa
add ecx, ecx
sar eax, 8
mov ebx, r10d
shl edx, 0xa
sar edx, 8
sub ecx, edx
mov qword [rbp - 0x59], 2
sub ecx, eax
mov eax, 0x2aaaaaab
add ecx, r8d
shl ecx, 8
imul ecx
mov esi, edx
sar esi, 8
mov eax, esi
shr eax, 0x1f
add esi, eax
nop word [rax + rax]
xor r8d, r8d
lea r9d, [rbx - 0x100]
test r9d, r9d
jle 0x140031782
mov r8d, r9d
imul r8d, r9d
sar r8d, 8
imul r8d, r9d
sar r8d, 8
xor eax, eax
lea r10d, [rbx - 0x200]
test r10d, r10d
jle 0x1400317a1
mov eax, r10d
imul eax, r10d
sar eax, 8
imul eax, r10d
sar eax, 8
xor ecx, ecx
lea r11d, [rbx - 0x300]
test r11d, r11d
jle 0x1400317c0
mov ecx, r11d
imul ecx, r11d
sar ecx, 8
imul ecx, r11d
sar ecx, 8
xor edx, edx
lea edi, [rbx - 0x400]
test edi, edi
jle 0x1400317da
mov edx, edi
imul edx, edi
sar edx, 8
imul edx, edi
sar edx, 8
mov edi, dword [rsp + 0x20]
lea ecx, [rcx + rcx*2]
shl eax, 0xa
add ecx, ecx
sar eax, 8
shl edx, 0xa
sar edx, 8
sub ecx, edx
sub ecx, eax
mov eax, 0x2aaaaaab
add ecx, r8d
shl ecx, 8
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [r15 - 4]
shr rax, 2
imul edx, esi
mov r8d, dword [r14 + rax*4]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shl ecx, 8
shr eax, 8
sar edx, 8
imul ecx, edx
sar ecx, 8
add r12d, ecx
movzx ecx, al
shl ecx, 8
movzx eax, r8b
xor r8d, r8d
shl eax, 8
imul eax, edx
imul ecx, edx
sar eax, 8
sar ecx, 8
add r13d, eax
add edi, ecx
test ebx, ebx
jle 0x14003186f
mov r8d, ebx
imul r8d, ebx
sar r8d, 8
imul r8d, ebx
sar r8d, 8
xor edx, edx
test r9d, r9d
jle 0x140031887
mov edx, r9d
imul edx, r9d
sar edx, 8
imul edx, r9d
sar edx, 8
xor ecx, ecx
test r10d, r10d
jle 0x14003189f
mov ecx, r10d
imul ecx, r10d
sar ecx, 8
imul ecx, r10d
sar ecx, 8
xor eax, eax
test r11d, r11d
jle 0x1400318b7
mov eax, r11d
imul eax, r11d
sar eax, 8
imul eax, r11d
sar eax, 8
shl eax, 0xa
lea ecx, [rcx + rcx*2]
sar eax, 8
add ecx, ecx
sub ecx, eax
shl edx, 0xa
sar edx, 8
mov eax, 0x2aaaaaab
sub ecx, edx
add ebx, 0x200
add ecx, r8d
shl ecx, 8
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [r15]
shr rax, 2
add r15, 8
imul edx, esi
mov r8d, dword [r14 + rax*4]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shl ecx, 8
shr eax, 8
sar edx, 8
imul ecx, edx
sar ecx, 8
add r12d, ecx
movzx ecx, al
shl ecx, 8
imul ecx, edx
movzx eax, r8b
shl eax, 8
imul eax, edx
sar ecx, 8
add edi, ecx
mov dword [rsp + 0x20], edi
sar eax, 8
add r13d, eax
sub qword [rbp - 0x59], 1
jne 0x140031760
sub qword [rbp - 0x51], 1
mov r9d, dword [rsp + 0x28]
mov r10d, dword [rsp + 0x24]
jne 0x1400316a0
imul ecx, r12d, reloc.mfc140u.dll_operator
sar ecx, 0x10
cmp ecx, 0xff
jg 0x140031975
test ecx, ecx
jns 0x140031977
xor cl, cl
jmp 0x140031977
mov cl, 0xff
imul eax, edi, reloc.mfc140u.dll_operator
sar eax, 0x10
cmp eax, 0xff
jg 0x14003198f
test eax, eax
jns 0x140031991
xor al, al
jmp 0x140031991
mov al, 0xff
imul edx, r13d, reloc.mfc140u.dll_operator
sar edx, 0x10
cmp edx, 0xff
jg 0x1400319ab
test edx, edx
jns 0x1400319ad
xor dl, dl
jmp 0x1400319ad
mov dl, 0xff
mov r8d, dword [rbp - 0x71]
mov rbx, qword [rbp - 0x49]
mov r11d, dword [rbp - 0x7d]
mov r15, qword [rbp - 0x41]
mov r12d, dword [rbp - 0x6d]
movzx ecx, cl
shl ecx, 8
movzx eax, al
or ecx, eax
shr r8, 2
shl ecx, 8
movzx eax, dl
or ecx, eax
jmp 0x1400319e8
mov r15, qword [rbp - 0x41]
mov r8d, r9d
mov ecx, r12d
shr r8, 2
mov eax, dword [rsp + 0x30]
mov r14d, dword [rbp - 0x69]
inc eax
mov edi, dword [rsp + 0x34]
mov edx, dword [rbp - 0x65]
mov dword [r15 + r8*4], ecx
mov ecx, dword [rsp + 0x2c]
mov r10d, dword [rbx + 0x448]
add ecx, r10d
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0x30], eax
cmp eax, r14d
jl 0x1400314a0
mov esi, dword [rsp + 0x38]
mov edx, dword [rbp - 0x79]
mov r13d, dword [rbp - 0x61]
add r11d, esi
inc edx
mov dword [rbp - 0x7d], r11d
mov dword [rbp - 0x79], edx
cmp edx, r13d
jl 0x140031470
mov rax, qword [rbx + 0x450]
mov ecx, dword [rbp - 0x5d]
mov dword [rbx + 0x44c], ecx
mov rcx, rax
mov dword [rbx + 0x444], esi
mov dword [rbx + 0x20], r13d
mov dword [rbx + 0x1c], r14d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x130]
mov qword [rbx + 0x450], r15
mov r15, qword [rsp + 0xe0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14010bb40
add rsp, 0x100
pop r12
pop rbx
pop rbp
ret
mov rax, rsp
mov dword [rax + 0x18], r8d
push r15
sub rsp, 0x80
cmp qword [rcx + 0x450], 0
mov r15, rcx
je 0x140031eef
mov qword [rax + 0x10], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x38], r14
divss xmm0, dword [0x1401494e0]
mulss xmm0, dword [0x1401494bc]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mov edi, dword [r15 + 0x1c]
xorps xmm1, xmm1
mov ebp, dword [r15 + 0x448]
cvtsd2ss xmm1, xmm0
mov dword [rsp + 0xa8], edi
movd xmm0, edi
cvtdq2ps xmm0, xmm0
imul ebp, edi
mulss xmm0, xmm1
mulss xmm1, dword [0x1401494e8]
addss xmm0, dword [0x140149478]
mov dword [rsp + 0x24], ebp
cvttss2si ebx, xmm0
mov eax, ebx
shl ebx, 8
cdq
mov dword [rsp + 0x20], ebx
mov r12d, eax
xor r12d, edx
sub r12d, edx
add r12d, dword [r15 + 0x20]
mov dword [rsp + 0x34], r12d
cvttss2si eax, xmm1
mov dword [rsp + 0x2c], eax
test bpl, 3
je 0x140031b7d
inc ebp
test bpl, 3
jne 0x140031b71
mov dword [rsp + 0x24], ebp
mov eax, ebp
imul eax, r12d
mov ecx, eax
mov dword [rsp + 0x38], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [r15 + 0x450]
xor esi, esi
mov r14, rax
mov qword [rsp + 0x48], rax
xor eax, eax
mov dword [rsp + 0x90], esi
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x28], eax
test r12d, r12d
jle 0x140031ea7
mov qword [rsp + 0x58], r13
xor r13d, r13d
xor r12d, r12d
test edi, edi
jle 0x140031e7e
mov r11d, dword [r15 + 0x448]
mov edx, eax
shl edx, 8
mov dword [rsp + 0x30], edx
nop
mov eax, dword [rsp + 0x2c]
lea ecx, [rsi + r13]
mov r14d, r12d
mov r8d, edx
shl r14d, 8
imul eax, r14d
mov r10d, r14d
sar eax, 8
sub r8d, eax
test ebx, ebx
lea eax, [rbx + r8]
cmovs r8d, eax
sar r10d, 8
mov r9d, r8d
sar r9d, 8
test r9d, r9d
js 0x140031e42
mov ebx, dword [r15 + 0x20]
dec ebx
cmp r9d, ebx
jg 0x140031e42
test r10d, r10d
js 0x140031e42
mov edi, dword [r15 + 0x1c]
dec edi
cmp r10d, edi
jg 0x140031e3b
mov edx, dword [r15 + 0x444]
mov eax, r9d
shl eax, 8
mov ecx, edx
sub r8d, eax
imul ecx, r9d
mov eax, r10d
shl eax, 8
sub r14d, eax
mov eax, r11d
imul eax, r10d
add ecx, eax
cmp r10d, edi
mov esi, ecx
mov ebp, ecx
lea eax, [r11 + rcx]
cmovl esi, eax
lea eax, [rdx + rcx]
cmp r9d, ebx
cmovl ebp, eax
add edx, r11d
add edx, ecx
cmp r10d, edi
jge 0x140031c92
cmp r9d, ebx
jl 0x140031c94
mov edx, ecx
mov eax, ecx
mov ebx, 0x100
mov rcx, qword [rsp + 0x40]
sub ebx, r8d
shr rax, 2
mov edi, ebx
imul ebx, r14d
mov r11d, 0x100
sub r11d, r14d
imul r14d, r8d
imul edi, r11d
mov r10d, dword [rcx + rax*4]
mov eax, esi
shr rax, 2
imul r11d, r8d
sar r14d, 8
sar ebx, 8
mov r9d, dword [rcx + rax*4]
mov eax, ebp
shr rax, 2
sar r11d, 8
sar edi, 8
mov r8d, dword [rcx + rax*4]
mov eax, edx
shr rax, 2
mov edx, dword [rcx + rax*4]
mov eax, edx
shr eax, 8
movzx esi, al
mov eax, r8d
shr eax, 8
movzx ecx, al
mov eax, r9d
shr eax, 8
shl ecx, 8
imul ecx, r11d
shl esi, 8
imul esi, r14d
movzx ebp, dl
shl ebp, 8
sar ecx, 8
imul ebp, r14d
sar esi, 8
add esi, ecx
shr edx, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
shl ecx, 8
imul ecx, ebx
sar ebp, 8
sar ecx, 8
add esi, ecx
movzx ecx, al
shl ecx, 8
imul ecx, edi
movzx eax, r8b
shl eax, 8
imul eax, r11d
shr r8d, 0x10
sar ecx, 8
add esi, ecx
movzx ecx, dl
shl ecx, 8
sar eax, 8
add ebp, eax
imul ecx, r14d
movzx eax, r9b
shl eax, 8
imul eax, ebx
sar ecx, 8
sar eax, 8
add ebp, eax
movzx eax, r10b
shl eax, 8
imul eax, edi
sar eax, 8
add ebp, eax
movzx eax, r8b
shl eax, 8
imul eax, r11d
sar eax, 8
add ecx, eax
shr r9d, 0x10
shr r10d, 0x10
movzx eax, r9b
shl eax, 8
imul eax, ebx
sar eax, 8
add ecx, eax
movzx eax, r10b
shl eax, 8
imul eax, edi
sar eax, 8
add ecx, eax
sar ecx, 8
cmp ecx, 0xff
jg 0x140031dd8
test ecx, ecx
jns 0x140031dda
xor cl, cl
jmp 0x140031dda
mov cl, 0xff
sar esi, 8
cmp esi, 0xff
jg 0x140031dee
test esi, esi
jns 0x140031df1
xor sil, sil
jmp 0x140031df1
mov sil, 0xff
sar ebp, 8
cmp ebp, 0xff
jg 0x140031e05
test ebp, ebp
jns 0x140031e08
xor bpl, bpl
jmp 0x140031e08
mov bpl, 0xff
mov edx, dword [rsp + 0x90]
mov edi, dword [rsp + 0xa8]
add edx, r13d
movzx ecx, cl
shl ecx, 8
movzx eax, sil
mov esi, dword [rsp + 0x90]
or ecx, eax
shl ecx, 8
shr rdx, 2
movzx eax, bpl
or ecx, eax
jmp 0x140031e4f
mov edi, dword [rsp + 0xa8]
mov edx, ecx
mov ecx, dword [rsp + 0xa0]
shr rdx, 2
mov r14, qword [rsp + 0x48]
inc r12d
mov ebx, dword [rsp + 0x20]
mov dword [r14 + rdx*4], ecx
mov r11d, dword [r15 + 0x448]
add r13d, r11d
mov edx, dword [rsp + 0x30]
cmp r12d, edi
jl 0x140031be0
mov ebp, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x34]
add esi, ebp
inc eax
mov dword [rsp + 0x90], esi
mov dword [rsp + 0x28], eax
cmp eax, r12d
jl 0x140031bc0
mov rcx, qword [r15 + 0x450]
mov r13, qword [rsp + 0x58]
mov eax, dword [rsp + 0x38]
mov dword [r15 + 0x44c], eax
mov dword [r15 + 0x444], ebp
mov dword [r15 + 0x20], r12d
mov dword [r15 + 0x1c], edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x98]
mov qword [r15 + 0x450], r14
mov r14, qword [rsp + 0x50]
add rsp, 0x80
pop r15
ret
mov rax, rsp
push rbx
push r13
sub rsp, 0x68
cmp qword [rcx + 0x450], 0
mov r13d, r8d
mov rbx, rcx
je 0x14003212f
mov qword [rax + 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
divss xmm0, dword [0x1401494e0]
mulss xmm0, dword [0x1401494bc]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mov esi, dword [rbx + 0x1c]
xorps xmm1, xmm1
mov edi, dword [rbx + 0x448]
cvtsd2ss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
imul edi, esi
mulss xmm0, xmm1
mulss xmm1, dword [0x1401494e8]
addss xmm0, dword [0x140149478]
mov dword [rsp + 0x80], edi
cvttss2si ecx, xmm0
mov eax, ecx
shl ecx, 8
cdq
mov dword [rsp + 0x20], ecx
mov ebp, eax
xor ebp, edx
sub ebp, edx
add ebp, dword [rbx + 0x20]
mov dword [rsp + 0x28], ebp
cvttss2si eax, xmm1
mov dword [rsp + 0x24], eax
test dil, 3
je 0x140031fc2
inc edi
test dil, 3
jne 0x140031fb3
mov dword [rsp + 0x80], edi
mov eax, edi
imul eax, ebp
mov ecx, eax
mov dword [rsp + 0x2c], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r14d, r14d
xor r15d, r15d
mov dword [rsp + 0x98], r14d
mov r12, rax
mov rax, qword [rbx + 0x450]
mov qword [rsp + 0x30], rax
test ebp, ebp
jle 0x1400320e8
nop dword [rax + rax]
xor r11d, r11d
xor r10d, r10d
test esi, esi
jle 0x1400320ca
mov r9d, dword [rbx + 0x448]
mov ebp, r14d
mov rdi, qword [rsp + 0x30]
mov r14d, dword [rsp + 0x20]
shl ebp, 8
nop word [rax + rax]
mov eax, dword [rsp + 0x24]
lea ecx, [r11 + r15]
mov edx, r10d
mov r8d, ebp
shl edx, 8
imul eax, edx
sar eax, 8
sub r8d, eax
test r14d, r14d
lea eax, [r14 + r8]
cmovs r8d, eax
sar edx, 8
sar r8d, 8
test r8d, r8d
js 0x140032096
mov eax, dword [rbx + 0x20]
dec eax
cmp r8d, eax
jg 0x140032096
test edx, edx
js 0x140032096
mov eax, dword [rbx + 0x1c]
dec eax
cmp edx, eax
jg 0x140032096
mov eax, dword [rbx + 0x444]
imul r9d, edx
imul eax, r8d
shr rcx, 2
add eax, r9d
shr rax, 2
mov edx, dword [rdi + rax*4]
jmp 0x14003209d
shr rcx, 2
mov edx, r13d
mov dword [r12 + rcx*4], edx
inc r10d
mov r9d, dword [rbx + 0x448]
add r11d, r9d
cmp r10d, esi
jl 0x140032030
mov edi, dword [rsp + 0x80]
mov r14d, dword [rsp + 0x98]
mov ebp, dword [rsp + 0x28]
inc r14d
add r15d, edi
mov dword [rsp + 0x98], r14d
cmp r14d, ebp
jl 0x140032000
mov rax, qword [rbx + 0x450]
mov ecx, dword [rsp + 0x2c]
mov dword [rbx + 0x44c], ecx
mov rcx, rax
mov dword [rbx + 0x444], edi
mov dword [rbx + 0x20], ebp
mov dword [rbx + 0x1c], esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x88]
mov qword [rbx + 0x450], r12
mov r12, qword [rsp + 0x50]
add rsp, 0x68
pop r13
pop rbx
ret