Function at 0x1002902a0
Capabilities:
Allocate or change rwx memory
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x1004946a0]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov ebp, 0xfffffff
lea r14, [0x100000000]
mov eax, dword [0x1002f3aa4]
mov qword [rsp + 0x78], rdx
lea r11, [0x100000000]
lea r13, [rcx + 0x18]
mov r15, qword [r13]
mov qword [rsp + 0x90], rcx
mov r12d, dword [r15 + 1]
mov edx, dword [r15 + 5]
mov qword [rsp + 0x88], r13
mov rcx, rax
and rdx, rbp
lea rsi, [rax + rdx - 1]
mov rax, rsi
and r12, rbp
xor edx, edx
add r12, r14
div rcx
sub rsi, rdx
mov eax, dword [0x1002f3aa4]
mov qword [rsp + 0x98], r12
mov r10d, dword [0x10005e244]
mov eax, dword [0x1002f3aa4]
mov eax, dword [0x10005e244]
test eax, eax
je 0x1002903dd
mov edi, dword [0x10005e244]
xor r8d, r8d
xor eax, eax
add edi, 0xffffffff
add rdi, 1
mov r9, rdi
je 0x100290396
mov rcx, qword [0x100495210]
imul rcx, rcx, 0x343fd
shl rax, 0x10
add rcx, 0x269ec3
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
shr r9, 0x10
jne 0x10029036a
mov qword [0x100495210], rcx
xor edx, edx
div rdi
test r10, r10
je 0x1002903d2
mov ecx, 0xffffc428
add r8, 1
mov eax, 0x3bd7
lock cmpxchg dword [r11 + rdx*4 + 0x478cb0], ecx
je 0x10029065d
mov ecx, dword [0x10005e244]
lea rax, [rdx + 1]
xor edx, edx
div rcx
cmp r8, r10
jb 0x1002903a0
xor ebx, ebx
test rbx, rbx
jne 0x100290506
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
mov ebp, eax
add rdi, 1
xor eax, eax
mov rcx, qword [0x10047b438]
test rcx, rcx
mov r8, rcx
mov r9, rcx
je 0x100290432
mov rcx, qword [0x100495210]
imul rcx, rcx, 0x343fd
shl rax, 0x10
add rcx, 0x269ec3
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
shr r9, 0x10
jne 0x100290406
mov qword [0x100495210], rcx
xor edx, edx
div r8
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rdx
mov rdx, rsi
shl rcx, 0x10
add rcx, qword [0x100493ee0]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x10029049d
lea r9, [0x1003c433c]
and qword [rsp + 0x28], 0
mov r8d, esi
mov rcx, rax
and qword [rsp + 0x20], 0
or rcx, 3
mov rdx, rax
call qword [sym.imp.ntdll.dll_RtlInstallFunctionTableCallback]
test al, al
jne 0x1002904b1
mov r8d, 0x8000
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp rdi, 0x11
jb 0x1002903e7
xor ebx, ebx
cmp rbx, 0x10000
jb 0x1002904bf
test bl, 3
je 0x1002904e4
test rbx, rbx
je 0x1002904e2
mov rcx, rbx
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlDeleteFunctionTable]
mov rcx, rbx
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ebx, ebx
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rbx, rbx
lea r11, [0x100000000]
je 0x100290331
xor eax, eax
mov rcx, rsi
mov rdi, rbx
rep stosb byte [rdi], al
mov eax, 0x95152d19
mov ebp, 0xfffffff
add qword [r13], 9
mov r15d, dword [r15 + 5]
and r15, rbp
mov esi, r12d
sub esi, r14d
xor eax, eax
mov edi, dword [0x1002f3aa4]
mov qword [rsp + 0xa0], r15
mov dword [rsp + 0x3c], esi
sub rdi, r15
add rdi, 1
mov r8, rdi
je 0x100290575
mov rcx, qword [0x100495210]
imul rcx, rcx, 0x343fd
shl rax, 0x10
add rcx, 0x269ec3
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
shr r8, 0x10
jne 0x100290549
mov qword [0x100495210], rcx
mov ecx, esi
xor edx, edx
div rdi
add rbx, rdx
mov qword [rsp + 0x68], rbx
mov rdx, r15
mov r8, rbx
mov eax, 0x6c147041
lea rcx, [rsp + 0x70]
mov rdx, qword [r12 + r15]
xor dil, dil
mov qword [rsp + 0x70], rdx
mov eax, 0x816ecb3f
mov rax, qword [0x1003f4900]
mov rcx, r14
mov r10, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x74]
and qword [rsp + 0x40], 0
and r10, rbp
and r9, rbp
add r10, r14
sub rcx, rax
mov ebp, 4
mov qword [rsp + 0x30], rcx
jne 0x100290674
xor r11d, r11d
test r9, r9
je 0x10029099e
mov ecx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
mov esi, 0xd4afbe6b
movzx eax, byte [r10 + r11]
add r11, 1
sub eax, 0x2b504195
add r8d, eax
add eax, ecx
imul rax, rsi
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, rsi
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
add ecx, eax
add r8d, ecx
cmp r11, r9
jb 0x1002905f5
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x40], r8d
jmp 0x10029099a
mov ecx, dword [0x1002f3aa4]
imul rcx, rdx
lea rbx, [rcx + r11 + 0x425000]
jmp 0x1002903d4
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + r14 + 0xb0]
mov rbx, 0xfffffffffffff000
lea rax, [r10 + r9]
mov qword [rsp + 0x80], rax
mov eax, r10d
sub eax, r14d
mov r11d, eax
add r8, r14
mov r14d, dword [rcx + r14 + 0xb4]
mov esi, eax
add rax, r9
mov rcx, rax
and r11, rbx
and rcx, rbx
sub rsi, r11
mov qword [rsp + 0x50], rcx
sub rax, rcx
add r14, r8
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rax
jmp 0x1002906e1
mov eax, dword [r8]
cmp rax, r11
jae 0x1002906e6
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r14
jne 0x1002906d2
xor ebx, ebx
cmp r8, r14
je 0x100290720
mov eax, dword [r8]
cmp rax, r11
jne 0x100290720
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x10029071b
mov ax, word [r8 + rbx*2 + 8]
and eax, 0xfff
cmp rax, rsi
jae 0x10029071b
add rbx, 1
cmp rbx, rcx
jne 0x100290702
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
lea r12, [0x100000000]
mov esi, 0xd4afbe6b
mov r9d, dword [rsp + 0x40]
cmp r8, r14
je 0x100290907
mov eax, dword [r8]
cmp rax, rcx
ja 0x100290907
mov edi, dword [r8 + 4]
lea rax, [rdi - 8]
shr rax, 1
cmp rbx, rax
jne 0x10029077b
add r8, rdi
cmp r8, r14
je 0x100290907
mov eax, dword [r8]
cmp rax, rcx
ja 0x100290907
xor ebx, ebx
jmp 0x10029074f
mov eax, dword [r8]
cmp rax, rcx
jne 0x100290799
mov ax, word [r8 + rbx*2 + 8]
and eax, 0xfff
cmp rax, qword [rsp + 0x58]
jae 0x100290907
mov rax, rbx
add rbx, 1
test word [r8 + rax*2 + 8], 0xf000
je 0x10029073a
movzx r11d, word [r8 + rax*2 + 8]
mov r14d, r11d
xor r13d, r13d
and r14d, 0xfff
add r14d, dword [r8]
add r14, r12
mov rax, r14
sub rax, r10
je 0x100290831
mov rdi, rax
movzx eax, byte [r10 + r13]
add r13, 1
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, rsi
mov qword [rsp + 0x48], rax
mov ecx, dword [rsp + 0x48]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, rsi
mov qword [rsp + 0x48], rax
mov edx, dword [rsp + 0x48]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp r13, rdi
jb 0x1002907ce
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x40], r9d
mov rax, qword [r14]
shr r11d, 0xc
mov qword [rsp + 0x48], rax
cmp r11d, 3
je 0x100290853
sub r11d, 0xa
neg r11d
sbb r10d, r10d
add r10d, 3
jmp 0x100290859
mov r10d, 2
mov r11, r15
neg r11
sub r10d, 2
je 0x100290881
cmp r10d, 1
je 0x100290871
or r10, 0xffffffffffffffff
jmp 0x100290889
mov r10d, 8
add rax, r11
mov qword [rsp + 0x48], rax
jmp 0x100290889
add dword [rsp + 0x48], r11d
mov r10, rbp
xor r11d, r11d
test r10, r10
je 0x1002908f5
movzx eax, byte [rsp + r11 + 0x48]
add r11, 1
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, rsi
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, rsi
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov edx, dword [rsp + 0x30]
add edx, eax
add r9d, edx
cmp r11, r10
jb 0x100290891
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x40], r9d
mov rcx, qword [rsp + 0x50]
add r10, r14
mov r14, qword [rsp + 0x60]
jmp 0x10029073a
xor r8d, r8d
mov r15, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x98]
mov r13, qword [rsp + 0x88]
mov r11, qword [rsp + 0x80]
sub r11, r10
mov dil, r8b
je 0x100290995
movzx eax, byte [r10 + r8]
add r8, 1
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, rsi
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, rsi
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov edx, dword [rsp + 0x30]
add edx, eax
add r9d, edx
cmp r8, r11
jb 0x100290932
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x40], r9d
mov rbx, qword [rsp + 0x68]
mov esi, dword [rsp + 0x3c]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
cmp rcx, 8
mov al, byte [rsp + rax + 0x40]
mov byte [rsp + rcx + 0xa7], al
jb 0x1002909a0
mov eax, 0x3ff310d
mov r14b, r15b
mov r10, r12
and r14d, 7
mov r11, rbx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x50], rbx
je 0x100290eaf
xor r8d, r8d
xor ebx, ebx
not esi
xor r11d, r11d
test r14d, r14d
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x60], ebx
jle 0x100290a3a
lea r9d, [r8 + 0x38]
cmp r11d, ebp
movzx edx, byte [r10]
jge 0x100290a13
lea ecx, [r9 - 0x20]
shl edx, cl
or ebx, edx
jmp 0x100290a1b
mov ecx, r9d
shl edx, cl
or r8d, edx
add r11d, 1
add r10, 1
sub r9d, 8
cmp r11d, r14d
jl 0x100290a00
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x58], r8d
mov qword [rsp + 0x30], r10
movzx r11d, word [rsp + 0xae]
mov r8d, dword [rsp + 0x3c]
movzx ebx, word [rsp + 0xac]
movzx r10d, word [rsp + 0xaa]
mov ecx, r8d
movzx r9d, ax
sub ecx, eax
mov edx, r9d
sub ecx, r11d
xor esi, ecx
mov ebp, esi
xor edx, esi
mov ecx, ebx
rol edx, 3
ror ebp, 9
imul ecx, edx
mov edx, r10d
add ebp, ecx
mov ecx, r11d
xor ebp, r8d
mov r8d, dword [rsp + 0xac]
xor ecx, ebp
rol ecx, 6
imul edx, ecx
mov ecx, ebp
shr ecx, 3
add edx, ecx
xor esi, edx
xor r8d, esi
mov edx, esi
ror r8d, 0xc
mov ecx, r9d
rol edx, 0xa
imul ecx, r8d
mov r8d, eax
xor edx, ecx
xor ebp, edx
mov ecx, r11d
mov edx, ebp
xor r8d, ebp
rol r8d, 1
rol edx, 0xf
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 0xb
add ecx, ebx
imul ecx, r9d
xor ebp, ecx
mov ecx, ebp
mov edx, ebp
sub edx, ebx
shr ecx, 0xc
imul edx, r10d
sub edx, ecx
xor esi, edx
mov edx, esi
mov ecx, esi
sub edx, dword [rsp + 0xac]
ror edx, 0xa
ror ecx, 7
imul r9d, edx
add ecx, r9d
xor ebp, ecx
mov ecx, ebp
mov edx, ebp
sub edx, eax
ror edx, 0xf
rol ecx, 3
imul edx, r11d
xor ecx, edx
xor esi, ecx
mov ecx, esi
lea edx, [rax + rsi]
ror edx, 0xd
ror ecx, 0xb
imul edx, ebx
add ecx, edx
xor ebp, ecx
mov edx, dword [rsp + 0xac]
xor ebx, ebp
mov ecx, ebp
ror ecx, 0xd
imul ebx, r10d
add ecx, ebx
mov ebx, dword [rsp + 0x58]
xor esi, ecx
mov ecx, eax
xor r10d, r10d
xor ecx, esi
xor esi, ebx
mov r9d, esi
sub edx, ecx
xor edx, dword [rsp + 0x60]
xor ebp, edx
mov r8d, ebp
lea edx, [r10 + 4]
test r14d, r14d
jle 0x100290b9d
mov rcx, qword [rsp + 0x50]
cmp r10d, edx
jge 0x100290b81
rol r8d, 8
mov byte [rcx], r8b
add rcx, 1
xor dil, r8b
jmp 0x100290b8f
rol r9d, 8
mov byte [rcx], r9b
add rcx, 1
xor dil, r9b
add r10d, 1
cmp r10d, r14d
jl 0x100290b6c
mov qword [rsp + 0x50], rcx
lea ecx, [r14 - 4]
test ecx, ecx
jle 0x100290e97
sub edx, ecx
shl edx, 3
mov ecx, edx
shr esi, cl
shl esi, cl
mov r10, qword [rsp + 0x30]
mov r14d, dword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov rcx, r15
shr rcx, 3
mov qword [rsp + 0x80], rcx
je 0x100290de1
movzx r15d, word [rsp + 0xac]
movzx edx, word [rsp + 0xae]
mov r13, qword [rsp + 0x80]
movzx r12d, ax
movzx ecx, word [rsp + 0xaa]
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [r10]
movzx r9d, byte [r10 + 1]
shl ecx, 8
movzx r8d, byte [r10 + 4]
shl r8d, 8
add r10, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r10 - 6]
or r9d, ecx
movzx ecx, byte [r10 - 5]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r10 - 3]
or r8d, ecx
movzx ecx, byte [r10 - 2]
xor ebp, r9d
shl r8d, 8
or r8d, ecx
shl r8d, 8
movzx ecx, byte [r10 - 1]
or r8d, ecx
mov ecx, ebp
sub ecx, eax
sub ecx, edx
mov edx, r12d
xor ecx, r8d
xor esi, ecx
mov ecx, esi
xor edx, esi
rol edx, 3
ror ecx, 9
imul edx, r15d
add ecx, edx
xor ebp, ecx
movzx ecx, word [rsp + 0xaa]
movzx edx, word [rsp + 0xae]
xor edx, ebp
rol edx, 6
imul edx, ecx
mov ecx, ebp
shr ecx, 3
add edx, ecx
xor esi, edx
mov edx, dword [rsp + 0xac]
xor edx, esi
mov ecx, esi
ror edx, 0xc
rol ecx, 0xa
imul edx, r12d
xor ecx, edx
mov edx, eax
xor ebp, ecx
mov ecx, ebp
xor edx, ebp
rol edx, 1
rol ecx, 0xf
imul edx, dword [rsp + 0x58]
add ecx, edx
xor esi, ecx
mov ecx, esi
not ecx
ror ecx, 0xb
add ecx, r15d
imul ecx, r12d
xor ebp, ecx
movzx ecx, word [rsp + 0xaa]
mov edx, ebp
sub edx, r15d
imul edx, ecx
mov ecx, ebp
shr ecx, 0xc
sub edx, ecx
xor esi, edx
mov edx, esi
sub edx, dword [rsp + 0xac]
mov ecx, esi
ror edx, 0xa
ror ecx, 7
imul edx, r12d
add ecx, edx
xor ebp, ecx
mov edx, ebp
sub edx, eax
mov ecx, ebp
ror edx, 0xf
rol ecx, 3
imul edx, dword [rsp + 0x58]
xor ecx, edx
xor esi, ecx
lea edx, [rax + rsi]
ror edx, 0xd
mov ecx, esi
ror ecx, 0xb
imul edx, r15d
add ecx, edx
xor ebp, ecx
mov edx, ebp
mov ecx, r15d
xor ecx, ebp
ror edx, 0xd
imul ecx, dword [rsp + 0x3c]
add edx, ecx
xor esi, edx
mov edx, dword [rsp + 0xac]
mov ecx, eax
xor ecx, esi
xor esi, ebx
mov ebx, r8d
mov byte [r11 + 7], sil
sub edx, ecx
xor edx, r14d
xor ebp, edx
mov r14d, r9d
movzx edx, word [rsp + 0xae]
xor dil, bpl
mov byte [r11 + 3], bpl
ror ebp, 8
mov byte [r11 + 2], bpl
xor dil, sil
ror esi, 8
mov byte [r11 + 6], sil
xor dil, bpl
ror ebp, 8
xor dil, sil
ror esi, 8
xor dil, bpl
mov byte [r11 + 1], bpl
mov byte [r11 + 5], sil
ror ebp, 8
xor dil, sil
mov byte [r11], bpl
ror esi, 8
mov cl, sil
mov byte [r11 + 4], sil
add r11, 8
xor cl, bpl
xor dil, cl
ror ebp, 8
ror esi, 8
sub r13, 1
jne 0x100290c05
mov r13, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
cmp dil, byte [r15 + r12 + 8]
je 0x100290ed6
call fcn.1002d3e40
and r13, 0xfffffffffffffff8
mov r10d, 0xffff
mov r11, qword [rsp + 0x90]
lea r8, [r13 + 0xfff]
lea rbp, [0x1003e8888]
mov qword [r11 + 0x10], rbp
mov rcx, qword [0x100495210]
mov r9, rax
mov rax, 0xfffffffffffff000
and r9, rax
and r8, rax
xor edi, edi
imul rcx, rcx, 0x343fd
shl rdi, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or rdi, rdx
shr r10, 0x10
jne 0x100290e2e
mov qword [0x100495210], rcx
movabs rax, 0x8000800080008001
mul rdi
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub rdi, rdx
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x98], r9
add rdi, 1
mov qword [rax + 0xb0], rdi
mov qword [rsp + 0x78], 0
jmp 0x100290ecc
xor esi, esi
test ecx, ecx
jns 0x100290bb4
neg ecx
shl ecx, 3
shr ebp, cl
shl ebp, cl
jmp 0x100290bb4
mov r14d, esi
mov ebx, esi
xor esi, esi
xor ebp, ebp
not ebx
jmp 0x100290bc3
mov rax, qword [rsp + 0x78]
mov qword [r13], rax
add r13, 8
cmp r13, r8
jb 0x100290ebf
jmp 0x100290fed
mov rbx, r12
mov rbp, qword [rsp + 0x68]
sub rbx, rbp
mov rax, qword [0x1003f4900]
lea r14, [0x100000000]
mov rsi, r14
sub rsi, rax
jne 0x100290f00
test rbx, rbx
je 0x100290fda
mov rcx, qword [0x1000016e8]
lea r8d, [rcx - 1]
mov r11, rbp
xor edi, edi
sub r11, r12
sub r12d, r14d
lea r13d, [r15 + r12]
lea r15, [0x100000000]
test r8d, r8d
js 0x100290f56
lea eax, [r8 + rdi]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r9d, dword [r15 + rdx*4 + 0x16ec]
and r9d, 0xfffffff
cmp r12d, r9d
jae 0x100290f4c
lea r8d, [rax - 1]
jmp 0x100290f51
jbe 0x100290f5b
lea edi, [rax + 1]
cmp r8d, edi
jge 0x100290f26
movsxd r10, edi
jmp 0x100290fd3
movsxd r10, eax
jmp 0x100290fd3
mov edx, dword [r15 + r10*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x100290fda
mov edi, edx
mov r8, rdx
sar edx, 0x1e
shl edi, 2
and r8d, 0xfffffff
and edx, 3
sar edi, 0x1e
add r8, r14
xor r9d, r9d
and edi, 3
sub edi, 1
je 0x100290fae
sub edi, 1
je 0x100290fa9
cmp edi, 1
jne 0x100290fb4
mov r9, rsi
jmp 0x100290fb4
mov r9, rbx
jmp 0x100290fb4
mov r9, rsi
sub r9, rbx
sub edx, 2
je 0x100290fc4
cmp edx, 1
jne 0x100290fcf
add qword [r8 + r11], r9
jmp 0x100290fc8
add dword [r8 + r11], r9d
mov rcx, qword [0x1000016e8]
add r10, 1
mov eax, ecx
cmp r10, rax
jb 0x100290f60
mov eax, dword [0x1002f3aa4]
mov eax, 0x3817f6c
mov r11, qword [rsp + 0x90]
mov qword [r11 + 0x10], rbp
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1002d532c
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret