Function at 0x180032810
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov eax, r9d
movaps xmmword [rsp + 0x70], xmm6
mov r9, r8
mov rdi, rcx
lea r8d, [rax + 0x1f1]
mov dword [rbp - 0x50], r8d
cmp eax, r8d
jae 0x180033412
movzx ebx, word [rbp + 0x58]
lea r11, [0x180000000]
movzx esi, word [rbp + 0x58]
lea rdx, [0x18004ce40]
mov r8, qword [rbp - 0x20]
xor r12d, r12d
mov r10d, dword [rbp + 0x58]
mov r15d, dword [rbp + 0x58]
mov r13d, dword [rbp + 0x58]
mov ecx, dword [rbp - 0x50]
mov dword [rbp - 0x18], ebx
mov dword [rbp - 0x28], esi
mov qword [rbp - 0x20], r8
mov dword [rbp - 0x40], r10d
mov dword [rbp - 0x14], r15d
nop dword [rax]
add eax, 0xffffffc4
cmp eax, 0x96
ja case.default.0x1800328c2
movzx eax, byte [r11 + rax + 0x33458]
mov ecx, dword [r11 + rax*4 + 0x33438]
add rcx, r11
jmp rcx
mov eax, dword [rdi + 8]
xor edx, edx
div dword [rdi + 0xc]
mov dword [rdi + 0x28], edx
cmp qword [rdi + 0x58], r12
jne 0x18003296f
mov esi, 0xbf
nop
mov eax, esi
sub eax, 0xbf
je 0x180032919
cmp eax, 1
jne 0x18003294a
mov eax, dword [rdi + 0x1c]
mov edx, r12d
imul eax, dword [rdi + 0x14]
test eax, eax
je 0x18003294a
nop dword [rax]
mov rax, qword [rdi + 0x58]
mov ecx, edx
inc edx
mov dword [rax + rcx*4], r12d
mov eax, dword [rdi + 0x1c]
imul eax, dword [rdi + 0x14]
cmp edx, eax
jb 0x180032900
jmp 0x18003294a
mov ecx, dword [rdi + 0x20]
xor r9d, r9d
mov edx, dword [rdi + 0x18]
dec ecx
mov eax, dword [rdi + 0x14]
add edx, ecx
imul eax, edx
lea rcx, [rbp - 0x48]
mov dword [rdi + 0x1c], edx
mov r8d, 0x11f
xor edx, edx
shl eax, 2
mov dword [rbp - 0x48], eax
call fcn.18001fcf0
mov qword [rdi + 0x58], rax
inc esi
cmp esi, 0xc1
jb 0x1800328e0
mov r10d, dword [rbp - 0x40]
mov esi, dword [rbp - 0x28]
mov r9, qword [rbp + 0x50]
mov r8, qword [rbp - 0x20]
lea r11, [0x180000000]
jmp 0x18003338c
cmp dword [rdi + 0x38], r12d
jne 0x1800329ef
mov ecx, dword [rdi + 0x20]
lea r9, [rbp - 0x48]
mov edx, dword [rdi + 0x18]
dec ecx
mov eax, dword [rdi + 0x14]
add edx, ecx
mov r8, qword [rdi + 0x58]
xor ecx, ecx
imul eax, edx
mov dword [rdi + 0x1c], edx
mov edx, 0xb7
shl eax, 2
mov dword [rbp - 0x48], eax
call fcn.18004f900
mov qword [rdi + 0x58], rax
mov edx, r12d
mov eax, dword [rdi + 0x1c]
imul eax, dword [rdi + 0x14]
test eax, eax
je 0x1800329d7
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + 0x58]
mov ecx, edx
inc edx
mov dword [rax + rcx*4], r12d
mov eax, dword [rdi + 0x1c]
imul eax, dword [rdi + 0x14]
cmp edx, eax
jb 0x1800329c0
mov r10d, dword [rbp - 0x40]
lea r11, [0x180000000]
mov r9, qword [rbp + 0x50]
mov r8, qword [rbp - 0x20]
jmp 0x18003338c
cmp dword [rdi + 0x18], r10d
jbe 0x180032de2
mov r8d, dword [rdi + 0x1c]
mov edx, dword [rdi + 0x18]
dec edx
mov dword [rbp - 0x48], r8d
add edx, dword [rdi + 0x20]
cmp edx, r8d
jbe 0x180032a41
mov eax, dword [rdi + 0x14]
lea r9, [rbp - 0x38]
mov r8, qword [rdi + 0x58]
xor ecx, ecx
imul eax, edx
mov dword [rdi + 0x1c], edx
mov edx, 0xb7
shl eax, 2
mov dword [rbp - 0x38], eax
call fcn.18004f900
mov r8d, dword [rbp - 0x48]
mov r10d, dword [rbp - 0x40]
mov r9, qword [rbp + 0x50]
mov qword [rdi + 0x58], rax
mov r11d, dword [rdi + 0x14]
sub r11d, 1
js 0x18003295f
mov edx, r11d
movsxd rax, r11d
imul edx, r8d
lea rsi, [rax*4]
mov dword [rbp - 0x38], edx
mov ebx, 0x127
nop dword [rax]
mov eax, ebx
sub eax, 0x127
je 0x180032c50
cmp eax, 5
jne 0x180032db3
mov edx, dword [rdi + 0x18]
mov r10d, r12d
cmp edx, r13d
jbe 0x180032be9
lea r14d, [r13 - 1]
cmp r14d, 4
jb 0x180032b6c
lea r15d, [r14 - 3]
nop word [rax + rax]
mov r9, qword [rdi + 0x58]
mov ecx, dword [rdi + 0x1c]
mov eax, dword [rdi + 0x18]
imul ecx, r11d
add eax, 0xfffffffe
mov r8d, ecx
sub ecx, r10d
add ecx, eax
sub r8d, r10d
add r8d, 0xfffffffe
add r8d, r13d
mov eax, dword [r9 + r8*4]
mov dword [r9 + rcx*4], eax
mov r9, qword [rdi + 0x58]
mov ecx, dword [rdi + 0x1c]
mov eax, dword [rdi + 0x18]
imul ecx, r11d
add eax, 0xfffffffd
mov r8d, ecx
sub ecx, r10d
add ecx, eax
sub r8d, r10d
add r8d, 0xfffffffd
add r8d, r13d
mov eax, dword [r9 + r8*4]
mov dword [r9 + rcx*4], eax
mov r9, qword [rdi + 0x58]
mov ecx, dword [rdi + 0x1c]
mov eax, dword [rdi + 0x18]
imul ecx, r11d
add eax, 0xfffffffc
mov r8d, ecx
sub ecx, r10d
add ecx, eax
sub r8d, r10d
add r8d, 0xfffffffc
add r8d, r13d
mov eax, dword [r9 + r8*4]
mov dword [r9 + rcx*4], eax
mov ecx, dword [rdi + 0x1c]
mov eax, dword [rdi + 0x18]
mov r9, qword [rdi + 0x58]
add eax, 0xfffffffb
imul ecx, r11d
mov r8d, ecx
sub ecx, r10d
sub r8d, r10d
add ecx, eax
add r8d, 0xfffffffb
add r10d, 4
add r8d, r13d
mov eax, dword [r9 + r8*4]
mov dword [r9 + rcx*4], eax
cmp r10d, r15d
jb 0x180032ab0
mov edx, dword [rdi + 0x18]
cmp r10d, r14d
jae 0x180032ba7
mov ecx, dword [rdi + 0x1c]
mov eax, dword [rdi + 0x18]
mov r9, qword [rdi + 0x58]
add eax, 0xfffffffe
imul ecx, r11d
mov r8d, ecx
sub ecx, r10d
sub r8d, r10d
add ecx, eax
add r8d, 0xfffffffe
inc r10d
add r8d, r13d
mov eax, dword [r9 + r8*4]
mov dword [r9 + rcx*4], eax
cmp r10d, r14d
jb 0x180032b71
mov edx, dword [rdi + 0x18]
lea eax, [rdx - 1]
cmp r10d, eax
jae 0x180032bd8
nop
mov eax, dword [rdi + 0x18]
mov ecx, dword [rdi + 0x1c]
add eax, 0xfffffffe
imul ecx, r11d
sub ecx, r10d
inc r10d
add ecx, eax
mov rax, qword [rdi + 0x58]
mov dword [rax + rcx*4], r12d
mov edx, dword [rdi + 0x18]
lea eax, [rdx - 1]
cmp r10d, eax
jb 0x180032bb0
mov rax, qword [rdi + 0x40]
sub edx, r13d
shr edx, 1
add dword [rax + rsi], edx
jmp 0x180032db0
mov rax, qword [rdi + 0x50]
mov ecx, r13d
sub ecx, edx
shr ecx, 1
mov dword [rsi + rax], ecx
mov rax, qword [rdi + 0x50]
mov ecx, dword [rsi + rax]
mov eax, dword [rdi + 0x18]
dec eax
add ecx, eax
je 0x180032db0
nop dword [rax + rax]
mov rax, qword [rdi + 0x50]
mov r8d, dword [rdi + 0x1c]
mov r9, qword [rdi + 0x58]
imul r8d, r11d
mov edx, dword [rsi + rax]
add edx, r8d
add edx, r10d
lea ecx, [r8 + r10]
inc r10d
mov eax, dword [r9 + rdx*4]
mov dword [r9 + rcx*4], eax
mov rax, qword [rdi + 0x50]
mov ecx, dword [rsi + rax]
mov eax, dword [rdi + 0x18]
dec eax
add ecx, eax
cmp r10d, ecx
jb 0x180032c10
jmp 0x180032db0
mov rax, qword [rdi + 0x50]
lea r9d, [r10 - 2]
mov ecx, dword [rsi + rax]
add r9d, ecx
lea r13d, [r10 + rcx*2]
movsxd r10, r9d
js 0x180032d76
cmp r10, 3
jl 0x180032d3f
lea r15, [r10 + 1]
movsxd r14, edx
shr r15, 2
add r14, r10
shl r14, 2
lea rax, [r15*4]
sub r10, rax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x50]
lea r14, [r14 - 0x10]
mov ecx, dword [rdi + 0x1c]
mov r8, qword [rdi + 0x58]
imul ecx, r11d
mov edx, dword [rsi + rax]
mov eax, dword [r14 + r8 + 0x10]
add edx, ecx
add edx, r9d
mov dword [r8 + rdx*4], eax
mov rax, qword [rdi + 0x50]
mov rdx, qword [rdi + 0x58]
mov ecx, dword [rdi + 0x1c]
imul ecx, r11d
mov eax, dword [rsi + rax]
dec eax
add ecx, eax
mov eax, dword [r14 + rdx + 0xc]
add ecx, r9d
mov dword [rdx + rcx*4], eax
mov rax, qword [rdi + 0x50]
mov rdx, qword [rdi + 0x58]
mov ecx, dword [rdi + 0x1c]
imul ecx, r11d
mov eax, dword [rsi + rax]
add eax, 0xfffffffe
add ecx, eax
mov eax, dword [r14 + rdx + 8]
add ecx, r9d
mov dword [rdx + rcx*4], eax
mov rax, qword [rdi + 0x50]
mov ecx, dword [rdi + 0x1c]
mov rdx, qword [rdi + 0x58]
imul ecx, r11d
mov eax, dword [rsi + rax]
add eax, 0xfffffffd
add ecx, eax
mov eax, dword [r14 + rdx + 4]
add ecx, r9d
sub r9d, 4
mov dword [rdx + rcx*4], eax
sub r15, 1
jne 0x180032ca0
test r10, r10
js 0x180032d76
mov edx, dword [rbp - 0x38]
movsxd r14, edx
add r14, r10
shl r14, 2
mov rax, qword [rdi + 0x50]
lea r14, [r14 - 4]
mov ecx, dword [rdi + 0x1c]
mov r8, qword [rdi + 0x58]
imul ecx, r11d
mov edx, dword [rsi + rax]
mov eax, dword [r14 + r8 + 4]
add edx, ecx
add edx, r9d
dec r9d
sub r10, 1
mov dword [r8 + rdx*4], eax
jns 0x180032d49
mov rax, qword [rdi + 0x50]
mov edx, r12d
cmp dword [rsi + rax], edx
jbe 0x180032dac
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rdi + 0x1c]
mov rax, qword [rdi + 0x58]
imul ecx, r11d
add ecx, edx
inc edx
mov dword [rax + rcx*4], r12d
mov rax, qword [rdi + 0x50]
cmp edx, dword [rsi + rax]
jb 0x180032d90
mov dword [rax + rsi], r12d
mov edx, dword [rbp - 0x38]
mov r10d, dword [rbp - 0x40]
add ebx, 5
cmp ebx, 0x131
jb 0x180032a70
sub edx, dword [rbp - 0x48]
sub rsi, 4
sub r11d, 1
mov dword [rbp - 0x38], edx
jns 0x180032a64
mov ebx, dword [rbp - 0x18]
jmp 0x180032958
jae 0x18003338c
mov esi, r12d
cmp dword [rdi + 0x14], r12d
jbe 0x180033389
nop word [rax + rax]
mov r14d, 0x124
mov eax, r14d
sub eax, 0x124
je 0x180032e8a
cmp eax, 0x56
jne 0x180032e94
mov rax, qword [rdi + 0x50]
mov ecx, r10d
sub ecx, dword [rdi + 0x18]
mov r10d, r12d
shr ecx, 1
mov r11d, esi
mov dword [rax + r11*4], ecx
mov rdx, qword [rdi + 0x50]
mov eax, dword [rdi + 0x18]
dec eax
mov ecx, dword [rdx + r11*4]
add ecx, r15d
add ecx, eax
je 0x180032e80
nop
mov rax, qword [rdi + 0x50]
mov r8d, dword [rdi + 0x1c]
mov r9, qword [rdi + 0x58]
imul r8d, esi
mov edx, dword [rax + r11*4]
add edx, r8d
add edx, r10d
lea ecx, [r8 + r10]
inc r10d
mov eax, dword [r9 + rdx*4]
mov dword [r9 + rcx*4], eax
mov rdx, qword [rdi + 0x50]
mov eax, dword [rdi + 0x18]
dec eax
mov ecx, dword [rdx + r11*4]
add ecx, r15d
add ecx, eax
cmp r10d, ecx
jb 0x180032e40
add dword [rdx + r11*4], r15d
mov r10d, dword [rbp - 0x40]
jmp 0x180032e94
mov rax, qword [rdi + 0x50]
mov ecx, esi
mov r15d, dword [rax + rcx*4]
add r14d, 0x56
cmp r14d, 0x1d0
jb 0x180032e06
inc esi
mov dword [rbp - 0x14], r15d
cmp esi, dword [rdi + 0x14]
jb 0x180032e00
jmp 0x180032958
mov r14, qword [rbp + 0x48]
mov rsi, r12
cmp qword [r14], r12
jbe 0x180033384
nop dword [rax]
movss xmm0, dword [rdi + rsi*4]
lea rcx, [rbp - 0x48]
mov edx, 0x8d
movss dword [rbp - 0x48], xmm0
call fcn.18003cc50
mov r9, qword [rbp + 0x50]
mov word [r9 + rsi*2], ax
inc rsi
cmp rsi, qword [r14]
jb 0x180032ed0
mov r10d, dword [rbp - 0x40]
lea r11, [0x180000000]
mov esi, dword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
jmp 0x18003338c
mov eax, dword [rdi + 0x30]
add eax, 8
shl eax, 4
cmp dword [rdi + 0xc], eax
ja 0x18003308a
mov r8, qword [rdi + 0x60]
test r8, r8
jne 0x180032f55
mov eax, dword [rdi + 0x18]
lea rcx, [rbp - 0x48]
imul eax, dword [rdi + 0xc]
xor r9d, r9d
xor edx, edx
mov r8d, 0x11f
shl eax, 2
mov dword [rbp - 0x48], eax
call fcn.18001fcf0
mov ecx, dword [rdi + 0xc]
mov qword [rdi + 0x60], rax
jmp 0x180032f8d
mov ecx, dword [rdi + 0xc]
mov eax, ecx
imul eax, dword [rdi + 0x18]
cmp dword [rdi + 0x68], eax
jae 0x180032f94
lea eax, [rax*4]
mov edx, 0xb7
lea r9, [rbp - 0x48]
mov dword [rbp - 0x48], eax
xor ecx, ecx
call fcn.18004f900
mov ecx, dword [rdi + 0xc]
mov qword [rdi + 0x60], rax
mov eax, ecx
imul eax, dword [rdi + 0x18]
mov dword [rdi + 0x68], eax
lea r11, [0x180000000]
mov r14d, r12d
test ecx, ecx
je 0x180033062
nop
mov esi, r12d
cmp dword [rdi + 0x18], r12d
jbe 0x18003304e
mov eax, r14d
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
nop dword [rax + rax]
mov eax, dword [rdi + 0x18]
lea r8, [rbp - 0x48]
mov dword [rbp - 0x30], eax
xorps xmm0, xmm0
cdq
mov dword [rsp + 0x20], 0x11e
sub eax, edx
mov ecx, esi
sar eax, 1
lea rdx, [rbp - 0x38]
sub ecx, eax
movaps xmm1, xmm6
mov eax, dword [rdi + 0xc]
inc ecx
cvtsi2ss xmm0, rax
movsxd rax, dword [rdi + 0x10]
movd xmm2, ecx
lea r9, [rax + rax*2]
mov r9, qword [r11 + r9*8 + 0x57f80]
lea rcx, [rbp - 0x30]
divss xmm1, xmm0
movss xmm0, dword [rdi + 0x2c]
cvtdq2ps xmm2, xmm2
movss dword [rbp - 0x48], xmm0
subss xmm2, xmm1
movss dword [rbp - 0x38], xmm2
call fcn.18004e710
mov ecx, r14d
lea r11, [0x180000000]
imul ecx, dword [rdi + 0x18]
movd xmm0, eax
mov rax, qword [rdi + 0x60]
add ecx, esi
inc esi
movss dword [rax + rcx*4], xmm0
cmp esi, dword [rdi + 0x18]
jb 0x180032fc0
inc r14d
lea r11, [0x180000000]
cmp r14d, dword [rdi + 0xc]
jb 0x180032fa0
cmp dword [rdi + 0x10], 8
lea rcx, [0x18004c290]
jg 0x180033076
lea rcx, [0x18004c650]
mov qword [rdi + 0x70], rcx
xor edx, edx
mov eax, dword [rdi + 8]
div dword [rdi + 0xc]
mov dword [rdi + 0x24], eax
jmp 0x180032954
mov r15d, 0xda
mov eax, r15d
sub eax, 0xda
je 0x180033173
sub eax, 0x38
je 0x1800330c4
cmp eax, 0x38
jne 0x1800331ef
cmp dword [rdi + 0x10], 8
lea rax, [0x18004ce90]
cmovg rax, rdx
mov qword [rdi + 0x70], rax
jmp 0x1800331ef
mov eax, dword [rdi + 0x30]
mov esi, 0xfffffffc
imul eax, dword [rdi + 0x18]
add eax, 4
cmp eax, esi
jle 0x1800331ef
mov r14, r12
nop
mov ecx, dword [rdi + 0x18]
lea r8, [rbp - 0x30]
mov eax, dword [rdi + 0x30]
lea rdx, [rbp - 0x48]
xorps xmm0, xmm0
mov dword [rbp - 0x38], ecx
shr ecx, 1
movd xmm1, esi
cvtsi2ss xmm0, rax
mov eax, ecx
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x20], 0x11e
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movsxd rax, dword [rdi + 0x10]
lea r9, [rax + rax*2]
mov r9, qword [r11 + r9*8 + 0x57f80]
subss xmm1, xmm0
movss xmm0, dword [rdi + 0x2c]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x48], xmm1
call fcn.18004e710
inc esi
lea r11, [0x180000000]
movd xmm0, eax
mov rax, qword [rdi + 0x60]
movss dword [r14 + rax], xmm0
add r14, 4
mov eax, dword [rdi + 0x30]
imul eax, dword [rdi + 0x18]
add eax, 4
cmp esi, eax
jl 0x1800330e0
jmp 0x1800331e1
mov r8, qword [rdi + 0x60]
test r8, r8
jne 0x1800331a7
mov eax, dword [rdi + 0x18]
lea rcx, [rbp - 0x30]
imul eax, dword [rdi + 0x30]
xor r9d, r9d
xor edx, edx
mov r8d, 0x11f
lea eax, [rax*4 + 0x20]
mov dword [rbp - 0x30], eax
call fcn.18001fcf0
mov qword [rdi + 0x60], rax
jmp 0x1800331e1
mov ecx, dword [rdi + 0x30]
imul ecx, dword [rdi + 0x18]
lea eax, [rcx + 8]
cmp dword [rdi + 0x68], eax
jae 0x1800331ef
lea eax, [rcx*4 + 0x20]
mov edx, 0xb7
xor ecx, ecx
mov dword [rbp - 0x30], eax
lea r9, [rbp - 0x30]
call fcn.18004f900
mov qword [rdi + 0x60], rax
mov eax, dword [rdi + 0x30]
imul eax, dword [rdi + 0x18]
add eax, 8
mov dword [rdi + 0x68], eax
lea r11, [0x180000000]
lea rdx, [0x18004ce40]
add r15d, 0x38
cmp r15d, 0x182
jb 0x180033090
mov eax, dword [rdi + 8]
xor edx, edx
div dword [rdi + 0xc]
mov dword [rdi + 0x24], eax
jmp 0x180032954
movsxd rax, dword [rdi + 0x10]
lea r14, [0x180000000]
mov r10d, dword [rdi + 0x18]
mov r8d, dword [rdi + 0xc]
mov r9d, dword [rdi + 8]
mov dword [rbp - 0x40], r10d
lea r11, [rax + rax*2]
mov eax, dword [r14 + r11*8 + 0x57f74]
mov dword [rdi + 0x30], eax
mov eax, dword [r14 + r11*8 + 0x57f70]
mov dword [rdi + 0x18], eax
cmp r9d, r8d
jbe 0x180033327
mov r10d, 0x111
mov eax, r10d
sub eax, 0x10e
je 0x1800332d3
sub eax, 1
je 0x1800332c1
sub eax, 1
je 0x1800332a5
cmp eax, 1
jne 0x180033302
xorps xmm1, xmm1
mov eax, r9d
imul eax, dword [rdi + 0x18]
xor edx, edx
cvtsi2ss xmm1, r8
div r8d
mulss xmm1, dword [r14 + r11*8 + 0x57f78]
xorps xmm0, xmm0
mov dword [rdi + 0x18], eax
cvtsi2ss xmm0, r9
divss xmm1, xmm0
movss dword [rdi + 0x2c], xmm1
jmp 0x180033302
mov eax, dword [rdi + 0x18]
dec eax
and eax, 0xfffffff8
add eax, 8
mov dword [rdi + 0x18], eax
lea eax, [r8 + r8]
cmp eax, r9d
jae 0x180033302
shr dword [rdi + 0x30], 1
jmp 0x180033302
lea eax, [r8*4]
cmp eax, r9d
jae 0x180033302
shr dword [rdi + 0x30], 1
jmp 0x180033302
lea eax, [r8*8]
cmp eax, r9d
jae 0x1800332e3
shr dword [rdi + 0x30], 1
mov ecx, dword [rdi + 0x30]
mov eax, r8d
shl eax, 4
cmp eax, r9d
jae 0x1800332f6
shr ecx, 1
mov dword [rdi + 0x30], ecx
cmp ecx, 1
jae 0x180033302
mov dword [rdi + 0x30], 1
dec r10d
cmp r10d, 0x10d
ja 0x180033254
mov r10d, dword [rbp - 0x40]
lea r11, [0x180000000]
mov r9, qword [rbp + 0x50]
mov r8, qword [rbp - 0x20]
jmp 0x18003338c
mov eax, dword [r14 + r11*8 + 0x57f7c]
lea r11, [0x180000000]
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp + 0x50]
mov dword [rdi + 0x2c], eax
jmp case.0x1800328c2.67
mov eax, dword [r9]
lea rdx, [rbp - 0x30]
xor r8d, r8d
mov dword [rbp - 0x30], eax
lea ecx, [r8 + 0x3d]
call fcn.1800038f0
mov r10d, dword [rbp - 0x40]
lea r11, [0x180000000]
mov r9, qword [rbp + 0x50]
mov esi, 0xffffffff
mov r8, qword [rbp - 0x20]
mov ebx, eax
mov dword [rbp - 0x28], esi
mov dword [rbp - 0x18], eax
jmp 0x18003338c
mov r8, rdi
mov qword [rbp - 0x20], rdi
jmp case.0x1800328c2.67
mov esi, dword [rbp - 0x28]
jmp case.0x1800328c2.67
mov esi, dword [rbp - 0x28]
lea rdx, [0x18004ce40]
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp + 0x58]
add eax, 0x47
mov dword [rbp + 0x58], eax
cmp eax, ecx
jae 0x180033412
mov r15d, dword [rbp - 0x14]
jmp 0x1800328a0
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rdx]
test ecx, ecx
jle 0x1800333dd
nop word [rax + rax]
movzx eax, word [r8]
lea r8, [r8 + 2]
cwd
xor ax, dx
sub ax, dx
cmp ax, si
cmovg si, ax
dec ecx
test ecx, ecx
jg 0x1800333c0
movsx ecx, si
xor edx, edx
imul ecx, ecx
mov r8d, 0x10e
mov dword [rbp + 0x58], ecx
lea rcx, [rbp + 0x58]
call fcn.1800348d0
mov ecx, eax
test si, si
je 0x18003340c
movzx eax, bx
sub ax, cx
cmp cx, bx
cmovle r12w, ax
movzx eax, r12w
jmp 0x180033416
movzx eax, word [rbp + 0x58]
mov rbx, qword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret