Function at 0x180073670
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xd0
lea rdi, [rsp + 0x50]
mov ecx, 0x20
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xe0]
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x74], 0
lea r8, [rsp + 0x74]
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
call fcn.18002afa0
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jne 0x1800736e1
jmp 0x1800743a9
mov rax, qword [rsp + 0x50]
movzx eax, word [rax]
lea rcx, [0x180096180]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
lea rcx, [0x180095fe0]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x74], 0
je 0x1800737d4
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
and eax, 0x2000
test eax, eax
je 0x180073785
mov rax, qword [rsp + 0xe8]
cmp dword [rax + 0x18], 1
jne 0x180073785
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x24]
and eax, 8
test eax, eax
je 0x180073785
mov rax, qword [rsp + 0xe8]
cmp dword [rax + 0x1c], 0
jne 0x180073785
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
btr eax, 0xd
mov rcx, qword [rsp + 0xe8]
mov dword [rcx], eax
mov edx, 3
mov rcx, qword [rsp + 0xe8]
call fcn.18002b054
mov rax, qword [rsp + 0xe8]
mov edx, dword [rax]
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rax + 0x24]
call fcn.1800735b0
mov dword [rsp + 0x64], eax
mov r9d, dword [rsp + 0x68]
mov rax, qword [rsp + 0xe8]
mov r8d, dword [rax + 0x24]
mov rax, qword [rsp + 0xe8]
mov edx, dword [rax]
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rax + 0x24]
call fcn.1800735f0
mov dword [rsp + 0x60], eax
jmp 0x180073801
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x64], eax
mov r9d, dword [rsp + 0x68]
xor r8d, r8d
xor edx, edx
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rax + 0x24]
call fcn.1800735f0
mov dword [rsp + 0x60], eax
mov r8d, 0x40
xor edx, edx
mov rcx, qword [rsp + 0xf8]
call fcn.18002acee
mov eax, dword [rsp + 0x68]
and eax, 1
test eax, eax
je 0x180073891
mov eax, dword [rsp + 0x68]
and eax, 0x40000000
test eax, eax
jne 0x18007387e
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x20]
dec eax
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x98]
mov dword [rax + 0x20], ecx
cmp dword [rsp + 0x98], 0
jge 0x18007387e
jmp 0x1800743a9
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx + 8]
mov rax, qword [rax]
and rax, rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 2]
mov word [rax + 0x20], cx
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 6]
and eax, 0x8000
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
mov rax, qword [rsp + 0xf8]
mov byte [rax + 0x35], 0xff
mov rax, qword [rsp + 0xf8]
mov byte [rax + 0x34], 0xff
mov eax, dword [rsp + 0x64]
and eax, 3
shl eax, 0xa
mov rcx, qword [rsp + 0xf8]
movzx ecx, word [rcx + 0x18]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180073c9c
mov dword [rsp + 0x84], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0xf8]
lea rax, [rcx + rax + 0x22]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x68]
and eax, 0x10100000
test eax, eax
je 0x1800739c2
cmp dword [rsp + 0x6c], 0xc0
jae 0x1800739a2
mov eax, dword [rsp + 0x68]
and eax, 0x100000
test eax, eax
je 0x1800739a2
jmp 0x1800743a9
mov eax, dword [rsp + 0x68]
and eax, 0x10000000
test eax, eax
je 0x1800739c2
mov eax, dword [rsp + 0x6c]
shr eax, 3
and eax, 7
test eax, eax
je 0x1800739c2
jmp 0x1800743a9
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 2]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
call fcn.18002a3ca
test eax, eax
jne 0x180073a4d
jmp 0x1800743a9
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 1]
test eax, eax
je 0x180073c51
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 1]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
call fcn.18002a3ca
test eax, eax
jne 0x180073ae9
jmp 0x1800743a9
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x68]
and eax, 0x20000
test eax, eax
je 0x180073c51
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 5]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
call fcn.18002a3ca
test eax, eax
jne 0x180073b95
jmp 0x1800743a9
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x68]
and eax, 0x40000
test eax, eax
je 0x180073c51
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 6]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
call fcn.18002a3ca
test eax, eax
jne 0x180073c41
jmp 0x1800743a9
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x68]
and eax, 0x80000000
shr eax, 0x19
mov rcx, qword [rsp + 0xf8]
movzx ecx, word [rcx + 0x18]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
movzx eax, byte [rsp + 0x84]
mov rcx, qword [rsp + 0xf8]
movzx ecx, byte [rcx + 0x32]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xf8]
mov byte [rcx + 0x32], al
mov eax, dword [rsp + 0x68]
and eax, 0x8e0c060
test eax, eax
je 0x180074014
cmp qword [rsp + 0xe8], 0
je 0x180073cee
mov eax, dword [rsp + 0x68]
and eax, 0x8000
test eax, eax
je 0x180073cee
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
and eax, 0x2000
mov rcx, qword [rsp + 0xe8]
mov ecx, dword [rcx + 4]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xe0]
cmp dword [rax + 0x24], 2
je 0x180073d10
mov eax, dword [rsp + 0x68]
and eax, 0x8000000
test eax, eax
je 0x180073d0e
jmp 0x1800743a9
jmp 0x180073d22
mov eax, dword [rsp + 0x68]
and eax, 0x800000
test eax, eax
je 0x180073d22
jmp 0x1800743a9
mov eax, dword [rsp + 0x68]
and eax, 0x200000
test eax, eax
je 0x180073d91
mov rcx, qword [rsp + 0xe0]
call fcn.18002af78
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jne 0x180073d4e
jmp 0x1800743a9
mov rax, qword [rsp + 0x50]
movzx eax, word [rax]
lea rcx, [0x180096180]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
lea rcx, [0x180095fe0]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 2]
mov word [rax + 0x20], cx
mov eax, dword [rsp + 0x68]
and eax, 0x400000
test eax, eax
je 0x180073e8c
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x20]
dec eax
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0xc0]
mov dword [rax + 0x20], ecx
cmp dword [rsp + 0xc0], 0
jge 0x180073dd7
jmp 0x1800743a9
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x18], rax
mov eax, dword [rsp + 0x68]
and eax, 0x20000000
test eax, eax
je 0x180073e4f
cmp dword [rsp + 0x90], 0x20
jb 0x180073e24
jmp 0x1800743a9
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 2]
mov ecx, dword [rsp + 0x90]
lea rdx, [0x18009c250]
movzx ecx, word [rdx + rcx*2]
add eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x20], ax
jmp 0x180073e87
cmp dword [rsp + 0x90], 8
jb 0x180073e5e
jmp 0x1800743a9
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 2]
mov ecx, dword [rsp + 0x90]
lea rdx, [0x18009c240]
movzx ecx, word [rdx + rcx*2]
add eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x20], ax
jmp 0x18007419f
cmp dword [rsp + 0x74], 0
je 0x180073f48
mov eax, dword [rsp + 0x68]
and eax, 0x60
test eax, eax
je 0x180073f48
mov eax, dword [rsp + 0x68]
and eax, 0x20
test eax, eax
je 0x180073ef8
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
and eax, 0x20
test eax, eax
je 0x180073ef8
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
or eax, 0x20
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xf8]
movzx eax, word [rax + 0x18]
or eax, 2
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
jmp 0x180073f48
mov eax, dword [rsp + 0x68]
and eax, 0x40
test eax, eax
je 0x180073f48
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
and eax, 0x40
test eax, eax
je 0x180073f48
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
or eax, 0x40
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xf8]
movzx eax, word [rax + 0x18]
or eax, 4
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
mov eax, dword [rsp + 0x68]
and eax, 0x4000
test eax, eax
je 0x180074014
mov eax, dword [rsp + 0x68]
and eax, 0x10000
test eax, eax
je 0x180073fd3
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
bts eax, 0xe
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
cmp dword [rsp + 0x64], 0
jne 0x180073f9e
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 2]
mov word [rax + 0x20], cx
jmp 0x180073fd1
cmp dword [rsp + 0x64], 1
jne 0x180073fbc
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 8]
mov word [rax + 0x20], cx
jmp 0x180073fd1
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0xa]
mov word [rax + 0x20], cx
jmp 0x18007400f
mov eax, dword [rsp + 0x68]
and eax, 0x8000
test eax, eax
je 0x18007400f
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 2]
mov word [rax + 0x20], cx
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
bts eax, 0xe
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
jmp 0x18007419f
cmp dword [rsp + 0x60], 1
jne 0x1800740aa
mov rax, qword [rsp + 0xf8]
movzx eax, word [rax + 0x18]
bts eax, 8
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
mov eax, dword [rsp + 0x68]
and eax, 0x10000
test eax, eax
je 0x1800740a5
mov eax, dword [rsp + 0x68]
and eax, 0x80000
test eax, eax
je 0x180074076
cmp dword [rsp + 0x6c], 0xc0
jae 0x180074074
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 8]
mov word [rax + 0x20], cx
jmp 0x18007408b
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 8]
mov word [rax + 0x20], cx
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
bts eax, 0xd
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
jmp 0x18007419f
cmp dword [rsp + 0x60], 2
jne 0x180074165
mov rax, qword [rsp + 0xf8]
movzx eax, word [rax + 0x18]
bts eax, 9
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x18], ax
mov eax, dword [rsp + 0x68]
and eax, 0x4010000
test eax, eax
je 0x180074163
cmp dword [rsp + 0x6c], 0xc0
jb 0x1800740fe
mov eax, dword [rsp + 0x68]
and eax, 0x80000
test eax, eax
je 0x1800740fe
jmp 0x1800743a9
mov eax, dword [rsp + 0x68]
and eax, 0x4000000
test eax, eax
je 0x18007414e
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x24]
and eax, 8
test eax, eax
je 0x18007414e
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
bts eax, 0x19
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0xa]
mov word [rax + 0x20], cx
jmp 0x180074163
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 8]
mov word [rax + 0x20], cx
jmp 0x18007419f
mov rax, qword [rsp + 0xf8]
movzx ecx, word [rax + 0x18]
mov word [rax + 0x18], cx
mov eax, dword [rsp + 0x68]
and eax, 0x1010008
cmp eax, 0x10000
jne 0x18007419f
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
bts eax, 0xd
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + 4], eax
cmp dword [rsp + 0x74], 0
je 0x18007420c
mov eax, dword [rsp + 0x68]
and eax, 0x20000000
test eax, eax
je 0x18007420c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 4]
and eax, 4
test eax, eax
je 0x1800741d5
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x24]
and eax, 8
test eax, eax
jne 0x1800741f7
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 4]
and eax, 8
test eax, eax
je 0x18007420c
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x24]
and eax, 0x10
test eax, eax
je 0x18007420c
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 8]
mov word [rax + 0x20], cx
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rax + 0x18]
sub rax, rcx
mov rcx, qword [rsp + 0xf8]
mov byte [rcx + 0x33], al
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + 0x33]
cmp eax, 0xf
jle 0x180074244
jmp 0x1800743a9
cmp dword [rsp + 0x74], 0
je 0x180074264
mov rcx, qword [rsp + 0xe8]
call fcn.18002a10e
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x1a], ax
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x58]
movzx ecx, word [rcx + 6]
mov word [rax + 0x38], cx
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x28]
and eax, 0x4000
test eax, eax
je 0x18007439f
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 4]
test eax, eax
je 0x1800742eb
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 4]
and eax, 0xd5
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 4]
and ecx, 2
shl ecx, 8
or eax, ecx
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 4]
and ecx, 8
shl ecx, 7
or eax, ecx
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 4]
and ecx, 0x20
shl ecx, 6
or eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x3c], ax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 3]
test eax, eax
je 0x180074345
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 3]
and eax, 0xd5
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 3]
and ecx, 2
shl ecx, 8
or eax, ecx
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 3]
and ecx, 8
shl ecx, 7
or eax, ecx
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 3]
and ecx, 0x20
shl ecx, 6
or eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x3a], ax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 5]
test eax, eax
je 0x18007439f
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 5]
and eax, 0xd5
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 5]
and ecx, 2
shl ecx, 8
or eax, ecx
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 5]
and ecx, 8
shl ecx, 7
or eax, ecx
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx + 5]
and ecx, 0x20
shl ecx, 6
or eax, ecx
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x3e], ax
mov eax, 1
jmp 0x1800744b8
mov rax, qword [rsp + 0xf0]
movzx eax, byte [rax]
cmp eax, 0x9b
jne 0x1800744b3
mov r8d, 0x40
xor edx, edx
mov rcx, qword [rsp + 0xf8]
call fcn.18002acee
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx + 8]
mov rax, qword [rax]
and rax, rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xf8]
mov byte [rax], 0x9b
mov rax, qword [rsp + 0xf8]
mov byte [rax + 0x34], 0xff
mov rax, qword [rsp + 0xf8]
mov byte [rax + 0x35], 0xff
mov rax, qword [rsp + 0xf8]
mov byte [rax + 0x33], 1
mov eax, 0x2746
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x20], ax
mov rax, qword [rsp + 0xf8]
movzx eax, word [rax + 0x38]
bts eax, 8
mov rcx, qword [rsp + 0xf8]
mov word [rcx + 0x38], ax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rax + 0x18]
sub rax, rcx
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x20]
mov ecx, dword [rsp + 0x94]
lea eax, [rcx + rax - 1]
mov rcx, qword [rsp + 0xe0]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0xf0]
inc rax
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x18], rax
mov eax, 1
jmp 0x1800744b8
mov eax, 3
mov rdi, rax
mov rcx, rsp
lea rdx, [0x180088840]
call fcn.18002ae4c
mov rax, rdi
add rsp, 0xd0
pop rdi
ret