Function at 0x1801ad100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4b8
mov rax, qword [0x1802d1460]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
xor eax, eax
mov qword [rsp + 0x98], r9
mov dword [rsp + 0x20], eax
mov r12d, eax
mov dword [rsp + 0x24], eax
mov r15d, eax
mov dword [rsp + 0x28], eax
mov rbx, rcx
mov dword [rsp + 0x30], eax
mov rax, qword [rcx + 0xb8]
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x88], rdx
cmp rax, qword [rcx + 0xc0]
jb 0x1801ad17f
cmp dword [rcx + 0x30], r15d
je 0x1801adf86
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
cmp cl, 0x42
jne 0x1801adf86
cmp rax, qword [rbx + 0xc0]
jb 0x1801ad1b7
cmp dword [rbx + 0x30], r12d
je 0x1801adf86
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
cmp cl, 0x4d
jne 0x1801adf86
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
mov esi, eax
mov rcx, rbx
shl esi, 0x10
add esi, edi
mov dword [rsp + 0x2c], esi
call fcn.1801a6330
mov rcx, rbx
mov r14d, eax
call fcn.1801a6330
shl eax, 0x10
add r14d, eax
mov dword [rsp + 0x48], r14d
cmp r14d, 0x38
ja 0x1801ad23e
movabs rcx, 0x100010000001000
bt rcx, r14
jb 0x1801ad24e
cmp r14d, 0x6c
je 0x1801ad24e
cmp r14d, 0x7c
jne 0x1801adf86
mov rcx, rbx
call fcn.1801a6330
mov edi, eax
mov rcx, rbx
cmp r14d, 0xc
jne 0x1801ad26a
mov dword [rbx], eax
call fcn.1801a6330
jmp 0x1801ad28d
call fcn.1801a6330
shl eax, 0x10
mov rcx, rbx
add eax, edi
mov dword [rbx], eax
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
shl eax, 0x10
add eax, edi
mov rcx, rbx
mov dword [rbx + 4], eax
call fcn.1801a6330
cmp eax, 1
jne 0x1801adf86
mov rcx, rbx
call fcn.1801a6330
movsxd r13, eax
mov dword [rsp + 0x50], r13d
cmp r13d, 1
je 0x1801adf86
mov eax, dword [rbx + 4]
mov dword [rsp + 0x74], eax
cdq
xor eax, edx
sub eax, edx
mov dword [rbx + 4], eax
cmp r14d, 0xc
jne 0x1801ad2f3
cmp r13d, 0x18
jge 0x1801ad582
lea ecx, [rsi - 0x26]
mov eax, 0x55555556
imul ecx
mov r15d, edx
shr r15d, 0x1f
add r15d, edx
jmp 0x1801ad582
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
mov ebp, eax
shl ebp, 0x10
add ebp, edi
lea eax, [rbp - 1]
cmp eax, 1
jbe 0x1801adf86
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
cmp r14d, 0x28
je 0x1801ad4a9
mov rcx, rbx
cmp r14d, 0x38
je 0x1801ad46c
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
shl eax, 0x10
mov rcx, rbx
add eax, edi
mov dword [rsp + 0x20], eax
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
mov ebp, eax
mov rcx, rbx
shl ebp, 0x10
add ebp, edi
mov dword [rsp + 0x24], ebp
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
mov ebp, eax
mov rcx, rbx
shl ebp, 0x10
add ebp, edi
mov dword [rsp + 0x28], ebp
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
mov r12d, eax
mov rcx, rbx
shl r12d, 0x10
add r12d, edi
mov dword [rsp + 0x30], r12d
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov edi, ntohs
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
sub rdi, 1
jne 0x1801ad407
cmp r14d, 0x7c
jne 0x1801ad56e
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
jmp 0x1801ad56e
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
call fcn.1801a6330
lea eax, [r13 - 0x10]
test eax, 0xffffffef
jne 0x1801ad56e
test ebp, ebp
jne 0x1801ad504
cmp r13d, 0x20
jne 0x1801ad4ea
mov r12d, 0xff000000
mov dword [rsp + 0x20], 0xff0000
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x24], 0xff00
mov dword [rsp + 0x28], 0xff
jmp 0x1801ad582
mov dword [rsp + 0x20], 0x7c00
mov dword [rsp + 0x24], 0x3e0
mov dword [rsp + 0x28], Ordinal_32
jmp 0x1801ad56e
cmp ebp, 3
jne 0x1801adf86
mov rcx, rbx
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
shl eax, 0x10
mov rcx, rbx
add eax, edi
mov dword [rsp + 0x20], eax
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
mov ebp, eax
mov rcx, rbx
shl ebp, 0x10
add ebp, edi
mov dword [rsp + 0x24], ebp
call fcn.1801a6330
mov rcx, rbx
mov edi, eax
call fcn.1801a6330
shl eax, 0x10
add eax, edi
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x20], ebp
jne 0x1801ad56e
cmp ebp, eax
je 0x1801adf86
cmp r13d, 0x10
jge 0x1801ad582
mov r15d, esi
sub r15d, r14d
sub r15d, 0xe
sar r15d, 2
mov ecx, dword [rbx + 4]
xor edi, edi
mov eax, edi
test r12d, r12d
setne al
imul ecx, dword [rbx]
add eax, 3
mov dword [rbx + 8], eax
shl ecx, 2
call fcn.1801d17e4
mov qword [rsp + 0x80], rax
mov rbp, rax
test rax, rax
je 0x1801adf86
mov qword [rsp + 0x78], r13
cmp r13d, 0x10
jge 0x1801ad91d
test r15d, r15d
je 0x1801adf7e
cmp r15d, 0x100
jg 0x1801adf7e
movsxd r12, r15d
test r15d, r15d
jle 0x1801ad713
mov rax, qword [rbx + 0xb8]
xor ecx, ecx
mov esi, ecx
mov rcx, qword [rbx + 0xc0]
cmp rax, rcx
jae 0x1801ad60b
movzx edx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad637
cmp dword [rbx + 0x30], edi
je 0x1801ad635
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xc0]
movzx edx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad637
xor dl, dl
mov byte [rsp + rsi*4 + 0xa2], dl
cmp rax, rcx
jae 0x1801ad652
movzx edx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad67e
cmp dword [rbx + 0x30], edi
je 0x1801ad67c
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xc0]
movzx edx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad67e
xor dl, dl
mov byte [rsp + rsi*4 + 0xa1], dl
cmp rax, rcx
jae 0x1801ad699
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad6be
cmp dword [rbx + 0x30], edi
je 0x1801ad6bc
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad6be
xor cl, cl
mov byte [rsp + rsi*4 + 0xa0], cl
cmp r14d, 0xc
je 0x1801ad6fb
cmp rax, qword [rbx + 0xc0]
jae 0x1801ad6e0
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad6fb
cmp dword [rbx + 0x30], edi
je 0x1801ad6fb
mov rcx, rbx
call fcn.1801a60b0
inc qword [rbx + 0xb8]
mov rax, qword [rbx + 0xb8]
mov byte [rsp + rsi*4 + 0xa3], 0xff
inc rsi
cmp rsi, r12
jl 0x1801ad5f0
mov esi, dword [rsp + 0x2c]
xor r12d, r12d
mov rcx, rbx
mov eax, r12d
cmp r14d, 0xc
setne al
add eax, 3
imul eax, r15d
sub esi, eax
sub esi, r14d
lea edx, [rsi - 0xe]
call fcn.1801a6120
cmp r13d, 4
jne 0x1801ad748
mov r14d, dword [rbx]
inc r14d
shr r14d, 1
jmp 0x1801ad755
cmp r13d, 8
jne 0x1801adf7e
mov r14d, dword [rbx]
mov edx, dword [rbx + 4]
neg r14d
and r14d, 3
mov r15d, r12d
mov dword [rsp + 0x2c], r14d
test edx, edx
jle 0x1801aded2
nop
mov esi, r12d
cmp dword [rbx], r12d
jle 0x1801ad8cc
mov r14, r13
nop
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1801ad79f
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad7c5
cmp dword [rbx + 0x30], r12d
je 0x1801ad7c3
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad7c5
xor cl, cl
movzx eax, cl
mov r8d, eax
cmp r14, 4
jne 0x1801ad7d4
shr eax, 4
movsxd rcx, edi
lea rdx, [rax*4]
movzx eax, byte [rsp + rdx + 0xa0]
and r8d, 0xf
cmp r14, 4
mov byte [rcx + rbp], al
cmovne r8d, r12d
movzx eax, byte [rsp + rdx + 0xa1]
inc edi
movsxd rcx, edi
inc edi
mov byte [rcx + rbp], al
movzx eax, byte [rsp + rdx + 0xa2]
movsxd rcx, edi
inc edi
mov byte [rcx + rbp], al
movsxd rax, edi
inc edi
mov byte [rax + rbp], 0xff
lea eax, [rsi + 1]
cmp eax, dword [rbx]
je 0x1801ad8c7
cmp r14, 8
jne 0x1801ad87b
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1801ad851
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad877
cmp dword [rbx + 0x30], r12d
je 0x1801ad875
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801ad877
xor cl, cl
movzx r8d, cl
movsxd rcx, edi
lea rdx, [r8*4]
movzx eax, byte [rsp + rdx + 0xa0]
inc edi
add esi, 2
mov byte [rcx + rbp], al
movzx eax, byte [rsp + rdx + 0xa1]
movsxd rcx, edi
inc edi
mov byte [rcx + rbp], al
movzx eax, byte [rsp + rdx + 0xa2]
movsxd rcx, edi
inc edi
mov byte [rcx + rbp], al
movsxd rax, edi
inc edi
mov byte [rax + rbp], 0xff
cmp esi, dword [rbx]
jl 0x1801ad780
mov r14d, dword [rsp + 0x2c]
cmp qword [rbx + 0x10], r12
je 0x1801ad8ff
mov ecx, dword [rbx + 0xc0]
sub ecx, dword [rbx + 0xb8]
cmp ecx, r14d
jge 0x1801ad8ff
mov rax, qword [rbx + 0xc0]
mov edx, r14d
sub edx, ecx
mov qword [rbx + 0xb8], rax
mov rcx, qword [rbx + 0x28]
call qword [rbx + Ordinal_26]
jmp 0x1801ad909
mov eax, r14d
add qword [rbx + 0xb8], rax
mov edx, dword [rbx + 4]
inc r15d
cmp r15d, edx
jl 0x1801ad770
jmp 0x1801aded2
sub esi, dword [rsp + 0x48]
mov rcx, rbx
mov dword [rsp + 0x38], edi
mov r15d, edi
mov dword [rsp + 0x3c], edi
mov r12d, edi
mov dword [rsp + 0x40], edi
mov r13d, edi
lea edx, [rsi - 0xe]
mov dword [rsp + 0x44], edi
mov r14d, edi
mov dword [rsp + 0x34], edi
call fcn.1801a6120
mov ecx, dword [rsp + 0x50]
cmp ecx, 0x18
jne 0x1801ad95e
mov eax, dword [rbx]
xor edx, edx
lea eax, [rax + rax*2]
jmp 0x1801ad96f
cmp ecx, 0x10
jne 0x1801ad96b
mov eax, dword [rbx]
add eax, eax
xor edx, edx
jmp 0x1801ad96f
xor edx, edx
mov eax, edx
neg eax
and eax, 3
mov dword [rsp + 0x70], eax
cmp ecx, 0x18
jne 0x1801ad991
lea r9d, [rcx - 0x17]
mov r10d, edi
mov r8d, edi
mov r11d, edi
mov esi, edi
jmp 0x1801adb71
mov esi, dword [rsp + 0x24]
cmp ecx, 0x20
jne 0x1801ad9d8
cmp dword [rsp + 0x28], 0xff
jne 0x1801ad9d8
cmp esi, 0xff00
jne 0x1801ad9d8
cmp dword [rsp + 0x20], 0xff0000
jne 0x1801ad9d8
mov r9d, dword [rsp + 0x30]
cmp r9d, 0xff000000
jne 0x1801ada03
lea r9d, [rcx - 0x1e]
mov r10d, edi
mov r8d, edi
mov r11d, edi
mov esi, edi
jmp 0x1801adb71
mov r15d, dword [rsp + 0x20]
test r15d, r15d
je 0x1801adf7e
test esi, esi
je 0x1801adf7e
mov r14d, dword [rsp + 0x28]
test r14d, r14d
je 0x1801adf7e
mov r9d, dword [rsp + 0x30]
jmp 0x1801ada0d
mov r14d, dword [rsp + 0x28]
mov r15d, dword [rsp + 0x20]
mov ecx, r15d
call fcn.1801ad090
mov edx, r15d
mov ecx, r15d
shr edx, 1
and ecx, 0x55555555
and edx, 0x55555555
add edx, ecx
lea r10d, [rax - 7]
mov ecx, edx
mov dword [rsp + 0x38], r10d
and edx, 0x33333333
shr ecx, 2
and ecx, 0x33333333
add ecx, edx
mov edx, ecx
shr edx, 4
add edx, ecx
mov ecx, esi
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add edx, eax
mov eax, edx
shr eax, 0x10
add eax, edx
movzx r15d, al
call fcn.1801ad090
mov edx, esi
mov ecx, esi
shr edx, 1
and ecx, 0x55555555
and edx, 0x55555555
add edx, ecx
lea r11d, [rax - 7]
mov ecx, edx
mov dword [rsp + 0x3c], r11d
and edx, 0x33333333
shr ecx, 2
and ecx, 0x33333333
add ecx, edx
mov edx, ecx
shr edx, 4
add edx, ecx
mov ecx, r14d
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add edx, eax
mov eax, edx
shr eax, 0x10
add eax, edx
movzx r12d, al
call fcn.1801ad090
mov edx, r14d
mov ecx, r14d
shr edx, 1
and ecx, 0x55555555
and edx, 0x55555555
add edx, ecx
lea esi, [rax - 7]
mov ecx, edx
mov dword [rsp + 0x40], esi
and edx, 0x33333333
shr ecx, 2
and ecx, 0x33333333
add ecx, edx
mov edx, ecx
shr edx, 4
add edx, ecx
mov ecx, r9d
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add edx, eax
mov eax, edx
shr eax, 0x10
add eax, edx
movzx r13d, al
call fcn.1801ad090
lea r8d, [rax - 7]
mov edx, r9d
mov dword [rsp + 0x44], r8d
shr edx, 1
mov ecx, r9d
and edx, 0x55555555
and ecx, 0x55555555
add edx, ecx
mov ecx, edx
and edx, 0x33333333
shr ecx, 2
and ecx, 0x33333333
add ecx, edx
mov edx, ecx
shr edx, 4
add edx, ecx
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add edx, eax
mov eax, edx
shr eax, 0x10
add eax, edx
xor edx, edx
movzx r14d, al
mov r9d, edx
mov dword [rsp + 0x2c], edx
mov edx, dword [rbx + 4]
mov qword [rsp + 0x58], r9
test edx, edx
jle 0x1801adecf
mov eax, r10d
neg eax
mov dword [rsp + 0x60], eax
mov eax, r11d
neg eax
mov dword [rsp + 0x64], eax
mov eax, esi
neg eax
mov dword [rsp + 0x68], eax
mov eax, r8d
neg eax
mov dword [rsp + 0x6c], eax
nop dword [rax + rax]
mov eax, dword [rbx]
movsxd rcx, edi
test r9, r9
je 0x1801add4c
mov dword [rsp + 0x48], 0
test eax, eax
jle 0x1801adea9
lea rdi, [rcx + rbp]
mov ebp, dword [rsp + 0x34]
lea rax, [rdi + 2]
mov qword [rsp + 0x50], rax
lea rsi, [rdi + 1]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1801adc0f
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801adc35
cmp dword [rbx + 0x30], 0
je 0x1801adc33
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801adc35
xor cl, cl
mov rax, qword [rsp + 0x50]
mov byte [rax], cl
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1801adc5b
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801adc81
cmp dword [rbx + 0x30], 0
je 0x1801adc7f
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801adc81
xor cl, cl
mov byte [rsi], cl
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1801adca2
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801adcc8
cmp dword [rbx + 0x30], 0
je 0x1801adcc6
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801adcc8
xor cl, cl
cmp qword [rsp + 0x58], 2
mov byte [rdi], cl
jne 0x1801add19
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1801adcf1
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801add1b
cmp dword [rbx + 0x30], 0
je 0x1801add15
mov rcx, rbx
call fcn.1801a60b0
mov rax, qword [rbx + 0xb8]
movzx ecx, byte [rax]
inc rax
mov qword [rbx + 0xb8], rax
jmp 0x1801add1b
xor cl, cl
jmp 0x1801add1b
mov cl, 0xff
add qword [rsp + 0x50], 4
add ebp, 4
mov byte [rdi + 3], cl
add rsi, 4
mov ecx, dword [rsp + 0x48]
add rdi, 4
inc ecx
mov dword [rsp + 0x48], ecx
cmp ecx, dword [rbx]
jl 0x1801adbf0
mov dword [rsp + 0x34], ebp
mov edi, ebp
jmp 0x1801adea1
mov dword [rsp + 0x50], 0
test eax, eax
jle 0x1801adea9
lea rsi, [rcx + rbp]
mov ebp, dword [rsp + 0x50]
mov rcx, rbx
call fcn.1801a6330
cmp qword [rsp + 0x78], 0x10
mov edi, eax
je 0x1801add83
mov rcx, rbx
call fcn.1801a6330
shl eax, 0x10
add edi, eax
mov r8d, dword [rsp + 0x38]
mov edx, edi
and edx, dword [rsp + 0x20]
mov ecx, r8d
mov eax, edx
sar eax, cl
mov ecx, dword [rsp + 0x60]
shl edx, cl
mov ecx, r15d
test r8d, r8d
cmovns edx, eax
mov r8d, edx
cmp r15d, 8
jae 0x1801addbf
nop dword [rax]
mov eax, edx
sar eax, cl
add ecx, r15d
add r8d, eax
cmp ecx, 8
jl 0x1801addb0
mov byte [rsi], r8b
mov edx, edi
and edx, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x3c]
mov eax, edx
mov ecx, r8d
sar eax, cl
mov ecx, dword [rsp + 0x64]
shl edx, cl
mov ecx, r12d
test r8d, r8d
cmovns edx, eax
mov r8d, edx
cmp r12d, 8
jae 0x1801addff
nop dword [rax]
mov eax, edx
sar eax, cl
add ecx, r12d
add r8d, eax
cmp ecx, 8
jl 0x1801addf0
mov byte [rsi + 1], r8b
mov edx, edi
and edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x40]
mov eax, edx
mov ecx, r8d
sar eax, cl
mov ecx, dword [rsp + 0x68]
shl edx, cl
mov ecx, r13d
test r8d, r8d
cmovns edx, eax
mov r8d, edx
cmp r13d, 8
jae 0x1801ade3f
nop dword [rax]
mov eax, edx
sar eax, cl
add ecx, r13d
add r8d, eax
cmp ecx, 8
jl 0x1801ade30
mov eax, dword [rsp + 0x30]
mov byte [rsi + 2], r8b
test eax, eax
je 0x1801ade80
mov edx, dword [rsp + 0x44]
and edi, eax
mov eax, edi
mov ecx, edx
sar eax, cl
mov ecx, dword [rsp + 0x6c]
shl edi, cl
mov ecx, r14d
test edx, edx
cmovns edi, eax
mov edx, edi
cmp r14d, 8
jae 0x1801ade85
nop dword [rax]
mov eax, edi
sar eax, cl
add ecx, r14d
add edx, eax
cmp ecx, 8
jl 0x1801ade70
jmp 0x1801ade85
mov edx, 0xff
mov edi, dword [rsp + 0x34]
inc ebp
mov byte [rsi + 3], dl
add edi, 4
add rsi, 4
mov dword [rsp + 0x34], edi
cmp ebp, dword [rbx]
jl 0x1801add64
mov rbp, qword [rsp + 0x80]
mov edx, dword [rsp + 0x70]
mov rcx, rbx
call fcn.1801a6120
mov eax, dword [rsp + 0x2c]
mov edx, dword [rbx + 4]
inc eax
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x2c], eax
cmp eax, edx
jl 0x1801adbb0
xor r12d, r12d
cmp dword [rsp + 0x74], 0
jle 0x1801adf4e
mov r10d, r12d
test edx, 0xfffffffe
jle 0x1801adf4e
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbx]
sub edx, r10d
dec edx
mov r9d, ecx
imul edx, ecx
mov r8d, r12d
imul r9d, r10d
lea eax, [rcx*4]
shl edx, 2
mov r11d, edx
add rdx, rbp
shl r9d, 2
test eax, eax
jle 0x1801adf3f
sub r9, r11
nop
movzx eax, byte [rdx]
inc r8d
movzx ecx, byte [rdx + r9]
mov byte [rdx + r9], al
mov byte [rdx], cl
lea rdx, [rdx + 1]
mov eax, dword [rbx]
shl eax, 2
cmp r8d, eax
jl 0x1801adf20
mov edx, dword [rbx + 4]
inc r10d
mov eax, edx
sar eax, 1
cmp r10d, eax
jl 0x1801adef0
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x88]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x90]
mov eax, dword [rbx + 4]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1801adf79
mov eax, dword [rbx + 8]
mov dword [rcx], eax
mov rax, rbp
jmp 0x1801adf88
mov rcx, rbp
call fcn.1801cc408
xor eax, eax
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1801c74b0
add rsp, 0x4b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret