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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov r14d, 2
mov rsi, rdx
mov r9d, r14d
mov rbx, rcx
xor edi, edi
nop dword [rax + rax]
movzx edx, byte [rbx + 0xc]
mov ecx, dword [rbx + 8]
add dl, dl
inc ecx
cmp ecx, 8
jl 0x18005370d
mov r8d, dword [rbx]
mov ecx, edi
mov dword [rbx + 8], edi
lea eax, [r8 + 1]
cmp eax, dword [rbx + 4]
jae 0x1800536fe
mov rax, qword [rbx + 0x20]
mov byte [r8 + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 8]
shl dword [rbx + 0x10], 8
inc dword [rbx + 0x14]
movzx eax, dl
or dword [rbx + 0x10], eax
xor dl, dl
add dl, dl
lea r8d, [rcx + 1]
mov byte [rbx + 0xc], dl
cmp r8d, 8
jl 0x18005374c
mov dword [rbx + 8], edi
mov r8d, edi
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053739
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov r8d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov dword [rbx + 0x10], ecx
inc dword [rbx + 0x14]
xor dl, dl
add dl, dl
inc r8d
mov byte [rbx + 0xc], dl
cmp r8d, 8
jl 0x18005378a
mov dword [rbx + 8], edi
mov r8d, edi
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053777
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov r8d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov dword [rbx + 0x10], ecx
inc dword [rbx + 0x14]
xor dl, dl
add dl, dl
lea eax, [r8 + 1]
mov byte [rbx + 0xc], dl
mov dword [rbx + 8], eax
cmp eax, 8
jl 0x1800537c6
mov dword [rbx + 8], edi
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800537b1
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov dword [rbx + 0x10], ecx
inc dword [rbx + 0x14]
mov byte [rbx + 0xc], dil
sub r9, 1
jne 0x1800536d0
cmp dword [rsi], 0x80
mov eax, 7
mov r8d, 0xf
mov rcx, rbx
cmovne r8d, eax
lea edx, [rax - 4]
call fcn.18004b0f0
mov r11d, dword [rsi]
mov r10d, 0x80
mov rbp, r14
nop dword [rax]
movzx eax, byte [rbx + 0xc]
test r11d, r10d
mov r9d, dword [rbx + 8]
setne r8b
add al, al
or r8b, al
inc r9d
cmp r9d, 8
jl 0x18005388f
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
mov r9d, edi
test eax, eax
jne 0x18005385f
cmp r8b, 4
jae 0x18005385f
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x18005384b
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053877
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
lea eax, [rdx + 1]
add dword [rbx + 0x14], eax
xor r8b, r8b
mov dword [rbx + 0x10], ecx
mov eax, r10d
ror eax, 1
test r11d, eax
setne dl
add r8b, r8b
or dl, r8b
inc r9d
mov byte [rbx + 0xc], dl
cmp r9d, 8
jl 0x18005391d
mov dword [rbx + 8], edi
mov r8d, edi
movzx eax, word [rbx + 0x10]
mov r9d, edi
test eax, eax
jne 0x1800538ef
cmp dl, 4
jae 0x1800538ef
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800538da
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053906
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
mov eax, r10d
ror eax, 2
test r11d, eax
setne r8b
add dl, dl
or r8b, dl
lea edx, [r9 + 1]
mov byte [rbx + 0xc], r8b
cmp edx, 8
jl 0x1800539ae
mov dword [rbx + 8], edi
mov r9d, edi
movzx eax, word [rbx + 0x10]
mov edx, edi
test eax, eax
jne 0x18005397e
cmp r8b, 4
jae 0x18005397e
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053969
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov edx, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov r9d, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053995
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
lea eax, [r9 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
mov eax, r10d
ror eax, 3
test r11d, eax
setne r9b
add r8b, r8b
or r9b, r8b
inc edx
mov byte [rbx + 0xc], r9b
mov dword [rbx + 8], edx
cmp edx, 8
jl 0x180053a45
mov dword [rbx + 8], edi
mov r8d, edi
movzx eax, word [rbx + 0x10]
mov edx, edi
test eax, eax
jne 0x180053a11
cmp r9b, 4
jae 0x180053a11
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800539fc
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov edx, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053a28
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r9b
inc dword [rbx]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, r9b
shl ecx, 8
or ecx, eax
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r9b, r9b
mov byte [rbx + 0xc], dil
ror r10d, 4
sub rbp, 1
jne 0x180053800
mov r8d, dword [rsi + 4]
lea eax, [rdx + 1]
and r8b, 1
mov dword [rbx + 8], eax
add r9b, r9b
or r8b, r9b
mov byte [rbx + 0xc], r8b
cmp eax, 8
jl 0x180053adb
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180053aab
cmp r8b, 4
jae 0x180053aab
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053a97
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053abf
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
mov edx, dword [rsi + 8]
add r8b, r8b
inc dword [rbx + 8]
and dl, 1
or dl, r8b
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x180053b5d
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180053b2f
cmp dl, 4
jae 0x180053b2f
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053b1a
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053b42
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
mov r9d, dword [rsi + 0xc]
add dl, dl
inc dword [rbx + 8]
and r9b, 1
or r9b, dl
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], r9b
jl 0x180053be2
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180053bb2
cmp r9b, 4
jae 0x180053bb2
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053b9e
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053bc6
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r9b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, r9b
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r9b, r9b
mov r8d, dword [rsi + 0x10]
add r9b, r9b
inc dword [rbx + 8]
and r8b, 1
or r8b, r9b
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], r8b
jl 0x180053c68
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180053c38
cmp r8b, 4
jae 0x180053c38
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053c24
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053c4c
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
mov eax, dword [rsi + 0x14]
add r8b, r8b
inc dword [rbx + 8]
and al, 1
or r8b, al
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], r8b
jl 0x180053ceb
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180053cbb
cmp r8b, 4
jae 0x180053cbb
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053ca7
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053ccf
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
mov edx, dword [rsi + 0x18]
add r8b, r8b
inc dword [rbx + 8]
and dl, 1
or dl, r8b
cmp dword [rbx + 8], 8
jl 0x180053d66
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180053d3c
cmp dl, 4
jae 0x180053d3c
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053d27
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053d4f
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
lea eax, [r8 + 1]
add dword [rbx + 0x14], eax
xor dl, dl
mov dword [rbx + 0x10], ecx
mov r8d, dword [rbx + 8]
add dl, dl
inc r8d
cmp r8d, 8
jl 0x180053de6
movzx eax, word [rbx + 0x10]
mov r9d, edi
mov dword [rbx + 8], edi
mov r8d, edi
test eax, eax
jne 0x180053db8
cmp dl, 4
jae 0x180053db8
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053da3
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov r8d, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov r9d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053dcf
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov r8d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
lea eax, [r9 + 1]
add dword [rbx + 0x14], eax
xor dl, dl
mov dword [rbx + 0x10], ecx
add dl, dl
lea eax, [r8 + 1]
mov byte [rbx + 0xc], dl
mov dword [rbx + 8], eax
cmp eax, 8
jl 0x180053e61
mov dword [rbx + 8], edi
mov r8d, edi
movzx eax, word [rbx + 0x10]
test eax, eax
jne 0x180053e33
cmp dl, 4
jae 0x180053e33
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053e1e
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053e46
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
mov byte [rbx + 0xc], dil
mov r11d, dword [rsi + 0x1c]
mov r10d, 0x80
nop dword [rax + rax]
mov r9d, dword [rbx + 8]
test r11d, r10d
setne r8b
add dl, dl
or r8b, dl
inc r9d
cmp r9d, 8
jl 0x180053efb
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
mov r9d, edi
test eax, eax
jne 0x180053ecb
cmp r8b, 4
jae 0x180053ecb
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053eb7
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053ee3
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
lea eax, [rdx + 1]
add dword [rbx + 0x14], eax
xor r8b, r8b
mov dword [rbx + 0x10], ecx
mov eax, r10d
ror eax, 1
test r11d, eax
setne dl
add r8b, r8b
or dl, r8b
inc r9d
mov byte [rbx + 0xc], dl
cmp r9d, 8
jl 0x180053f89
mov dword [rbx + 8], edi
mov r8d, edi
movzx eax, word [rbx + 0x10]
mov r9d, edi
test eax, eax
jne 0x180053f5b
cmp dl, 4
jae 0x180053f5b
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053f46
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053f72
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
mov eax, r10d
ror eax, 2
test r11d, eax
setne r8b
add dl, dl
or r8b, dl
inc r9d
mov byte [rbx + 0xc], r8b
cmp r9d, 8
jl 0x18005401a
mov dword [rbx + 8], edi
mov edx, edi
movzx eax, word [rbx + 0x10]
mov r9d, edi
test eax, eax
jne 0x180053fea
cmp r8b, 4
jae 0x180053fea
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180053fd6
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054002
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov r9d, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
mov eax, r10d
ror eax, 3
test r11d, eax
lea eax, [r9 + 1]
setne dl
add r8b, r8b
or dl, r8b
mov byte [rbx + 0xc], dl
mov dword [rbx + 8], eax
cmp eax, 8
jl 0x1800540a5
mov dword [rbx + 8], edi
mov r8d, edi
movzx eax, word [rbx + 0x10]
test eax, eax
jne 0x180054077
cmp dl, 4
jae 0x180054077
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054062
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
mov dword [rbx + 0x10], eax
inc dword [rbx + 0x18]
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x18005408a
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
mov byte [rbx + 0xc], dil
ror r10d, 4
sub r14, 1
jne 0x180053e70
mov edx, dword [rsi + 0x20]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov ecx, dword [rsi]
lea eax, [rcx - 0x64]
cmp eax, 0x2c
ja 0x1800540db
movabs rdx, 0x100010400401
bt rdx, rax
jb 0x1800540e7
cmp ecx, 0xf4
jne 0x1800542b7
mov edx, dword [rsi + 0x24]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
cmp dword [rsi + 0x24], 3
jne 0x180054181
mov edx, dword [rsi + 0x2c]
movzx eax, byte [rbx + 0xc]
and dl, 1
inc dword [rbx + 8]
add al, al
or dl, al
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x180054181
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180054155
cmp dl, 4
jae 0x180054155
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054140
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054168
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
mov edx, dword [rsi + 0x30]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x34]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x38]
movzx eax, byte [rbx + 0xc]
and dl, 1
inc dword [rbx + 8]
add al, al
or dl, al
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x180054221
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x1800541f3
cmp dl, 4
jae 0x1800541f3
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800541de
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054206
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
mov r8d, dword [rsi + 0x3c]
add dl, dl
inc dword [rbx + 8]
and r8b, 1
or r8b, dl
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], r8b
jl 0x1800542a3
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180054276
cmp r8b, 4
jae 0x180054276
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054262
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x18005428a
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, r8b
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
cmp dword [rsi + 0x3c], edi
je 0x1800542b7
lea rdx, [rsi + 0x860]
mov rcx, rbx
call fcn.18004e2b0
mov edx, dword [rsi + 0x40]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x44]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov eax, dword [rsi + 0x44]
test eax, eax
jne 0x1800542df
mov edx, dword [rsi + 0x48]
jmp 0x180054346
cmp eax, 1
jne 0x180054351
mov edx, dword [rsi + 0x4c]
movzx r9d, al
mov r8d, eax
mov rcx, rbx
call fcn.18004af90
mov ecx, dword [rsi + 0x50]
mov r8b, 1
mov eax, ecx
cdq
mov r9d, eax
mov eax, edi
xor r9d, edx
sub r9d, edx
test ecx, ecx
mov rcx, rbx
setg al
lea edx, [r9 + r9]
sub edx, eax
call fcn.18004ae50
mov ecx, dword [rsi + 0x54]
mov r8b, 1
mov eax, ecx
cdq
mov r9d, eax
mov eax, edi
xor r9d, edx
sub r9d, edx
test ecx, ecx
mov rcx, rbx
setg al
lea edx, [r9 + r9]
sub edx, eax
call fcn.18004ae50
xor edx, edx
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x58]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x5c]
movzx eax, byte [rbx + 0xc]
and dl, 1
inc dword [rbx + 8]
add al, al
or dl, al
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x1800543e1
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x1800543b5
cmp dl, 4
jae 0x1800543b5
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800543a0
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800543c8
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
mov edx, dword [rsi + 0x60]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x64]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x68]
movzx eax, byte [rbx + 0xc]
and dl, 1
inc dword [rbx + 8]
add al, al
or dl, al
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x180054481
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180054453
cmp dl, 4
jae 0x180054453
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x18005443e
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054466
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, dl
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor dl, dl
cmp dword [rsi + 0x68], edi
jne 0x180054513
mov r8d, dword [rsi + 0x6c]
add dl, dl
inc dword [rbx + 8]
and r8b, 1
or r8b, dl
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], r8b
jl 0x18005450f
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x1800544df
cmp r8b, 4
jae 0x1800544df
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800544cb
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800544f3
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
movzx edx, r8b
mov r8d, dword [rsi + 0x70]
add dl, dl
inc dword [rbx + 8]
and r8b, 1
or r8b, dl
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], r8b
jl 0x180054598
movzx eax, word [rbx + 0x10]
mov edx, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x180054568
cmp r8b, 4
jae 0x180054568
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x180054554
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edx, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x18005457c
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], r8b
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
movzx eax, r8b
shl ecx, 8
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [rdx + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
xor r8b, r8b
mov edx, dword [rsi + 0x74]
add r8b, r8b
inc dword [rbx + 8]
and dl, 1
or dl, r8b
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x180054618
movzx eax, word [rbx + 0x10]
mov r8d, edi
mov dword [rbx + 8], edi
test eax, eax
jne 0x1800545ec
cmp dl, 4
jae 0x1800545ec
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800545d7
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov r8d, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800545ff
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov byte [rbx + 0xc], dil
lea eax, [r8 + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
cmp dword [rsi + 0x74], 1
jne 0x18005465c
mov edx, dword [rsi + 0x78]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x7c]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x80]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x84]
mov r8b, 1
mov rcx, rbx
call fcn.18004ae50
mov edx, dword [rsi + 0x88]
movzx eax, byte [rbx + 0xc]
and dl, 1
inc dword [rbx + 8]
add al, al
or dl, al
cmp dword [rbx + 8], 8
mov byte [rbx + 0xc], dl
jl 0x1800546dc
movzx eax, word [rbx + 0x10]
mov dword [rbx + 8], edi
test eax, eax
jne 0x1800546b1
cmp dl, 4
jae 0x1800546b1
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x18005469d
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], 3
inc dword [rbx]
mov eax, dword [rbx + 0x10]
mov edi, 1
shl eax, 8
or eax, 3
inc dword [rbx + 0x18]
mov dword [rbx + 0x10], eax
mov ecx, dword [rbx]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 4]
jae 0x1800546c4
mov rax, qword [rbx + 0x20]
mov byte [rcx + rax], dl
inc dword [rbx]
mov ecx, dword [rbx + 0x10]
shl ecx, 8
movzx eax, dl
or ecx, eax
mov byte [rbx + 0xc], 0
lea eax, [rdi + 1]
mov dword [rbx + 0x10], ecx
add dword [rbx + 0x14], eax
cmp dword [rsi + 0x88], 1
jne 0x1800546f4
lea rdx, [rsi + 0x8c]
mov rcx, rbx
call fcn.180054910
cmp dword [rsi], 0x80
je 0x180054706
mov dl, 1
mov rcx, rbx
call fcn.18004c110
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret