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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov ebp, dword [rsp + 0x80]
xor ebx, ebx
mov rdi, qword [rsp + 0xa8]
mov rsi, rdx
mov rdx, qword [rsp + 0x90]
mov r15, r8
mov r10, rcx
lea eax, [rbp - 0x36]
cmp eax, 0xd
ja 0x1800063e2
mov r11d, dword [rsp + 0x88]
mov r8d, r11d
shr r8d, 6
and r8d, 3
cmp r8d, 3
jne 0x1800062c2
cmp ebp, 0x3e
jne case.default.0x18000681d
mov eax, 1
jmp 0x1800077be
cdqe
lea r14, [0x180000000]
mov eax, dword [r14 + rax*4 + 0x77d8]
add rax, r14
jmp rax
cmp dword [rsp + 0x98], 2
jne case.0x1800062d6.1
mov ecx, 0x2000000
or dword [rdx + 4], ecx
mov ebx, 0x40
jmp case.0x1800062d6.0
mov ebx, 0x20
jmp case.0x1800062d6.0
mov qword [rsp + 0x38], rdi
and r11d, 7
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r8d
mov r9d, dword [rsp + 0xa0]
mov r8, rsi
mov rcx, r10
call fcn.180005d00
movzx ecx, byte [rdi]
sub cl, 6
mov word [rdi + 2], bx
cmp cl, 1
ja 0x1800077be
movzx ecx, byte [rdi + 1]
mov ecx, dword [r14 + rcx*4 + 0x43300]
or dword [rsi + 0x1c], ecx
jmp 0x1800077be
lea eax, [rbp - 0x44]
cmp eax, 0x18
ja 0x1800067ea
mov r8d, dword [rsp + 0x88]
lea r14, [0x180000000]
mov r15d, r8d
cdqe
shr r15d, 6
and r15d, 3
cmp r15d, 3
je case.default.0x18000641f
mov eax, dword [r14 + rax*4 + 0x7810]
add rax, r14
jmp rax
mov ebx, 0x20
jmp 0x180006525
mov eax, 0x2000
or dword [rdx + 4], eax
mov ebx, 0x10
jmp 0x180006525
mov ebx, 8
jmp 0x180006525
mov qword [rsp + 0x38], rdi
and r8d, 7
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], r15d
jmp 0x1800063a8
mov eax, dword [r14 + rax*4 + 0x7874]
and r8d, 7
add rax, r14
jmp rax
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x180006605
sub ecx, 1
je 0x1800065b6
cmp ecx, 1
jne 0x1800065e5
lea r10, [rdx + 4]
mov ecx, 0x2000000
cmp ebp, 0x47
jne 0x18000657d
or dword [r10], ecx
test ecx, r9d
je 0x18000658b
or dword [r10], ecx
lea r11, [rdx + 4]
jmp 0x18000658e
mov r11, r10
bt r9d, 0x18
jb 0x18000659a
or dword [r10], ecx
jmp 0x18000659d
mov r11, r10
test byte [rdx + 0x24], 1
je 0x1800065af
mov eax, dword [r10]
or eax, ecx
mov dword [r11], eax
add r8d, 8
mov ebx, 0x40
jmp 0x1800065e5
mov r9d, dword [rdx + 4]
mov eax, 0x2000
or r9d, eax
test byte [rdx + 0x24], 1
mov dword [rdx + 4], r9d
je 0x1800065dc
mov ecx, 0x2000000
or r9d, ecx
mov dword [rdx + 4], r9d
add r8d, 8
mov ebx, 0x20
add r8d, 0x10
mov eax, dword [r14 + r8*4 + 0x43300]
mov word [rdi + 2], bx
mov byte [rdi + 1], r8b
mov byte [rdi], 1
or dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov r9d, dword [rdx + 4]
mov eax, 0x2000
or r9d, eax
test byte [rdx + 0x24], 1
mov dword [rdx + 4], r9d
je 0x18000662b
mov ecx, 0x2000000
or r9d, ecx
mov dword [rdx + 4], r9d
add r8d, 8
mov ebx, 0x10
add r8d, 0x20
jmp 0x1800065e5
test byte [rdx + 0x24], 1
je 0x1800066c0
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r8d, 8
add r8d, 0x20
mov ebx, 0x10
jmp 0x1800065e5
cmp dword [rdx + 0x18], 1
jne 0x180006708
mov eax, dword [rdx + 0x24]
mov ecx, 0x2000000
or dword [rdx + 4], ecx
and eax, 1
mov edx, 0x30
mov ebx, 8
lea ecx, [r8 + rax*8]
mov r8d, 0x3c
lea eax, [rcx - 4]
cmp eax, 3
cmova r8d, edx
add r8d, ecx
jmp 0x1800065e5
add r8d, 0x30
mov ebx, 8
jmp 0x1800065e5
test byte [rdx + 0x24], 1
je 0x1800065dc
mov ecx, 0x2000000
or dword [rdx + 4], ecx
jmp 0x1800065d8
mov r11d, dword [rsp + 0x88]
lea eax, [rbp - 1]
mov r8d, r11d
shr r8d, 3
and r8d, 7
cmp eax, 0x34
ja case.default.0x18000681d
cdqe
lea r14, [0x180000000]
mov eax, dword [r14 + rax*4 + 0x78d8]
add rax, r14
jmp rax
mov byte [rdi], 2
mov word [rdi + 2], 8
sub dword [rcx + 0x20], 1
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax]
mov eax, 1
mov byte [rsi], cl
inc qword [r10 + 0x18]
jmp 0x1800077be
mov eax, dword [rsp + 0x98]
test eax, eax
jne 0x180006888
mov eax, 0x2000
or dword [rdx + 4], eax
mov byte [rdi], 2
mov word [rdi + 2], 0x10
sub dword [rcx + 0x20], 2
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, word [rax]
mov eax, 1
mov word [rsi], cx
add qword [r10 + 0x18], 2
jmp 0x1800077be
cmp eax, 2
jne 0x1800068d1
and r9d, 0x3000000
cmp r9d, 0x3000000
jne 0x1800068d1
mov ecx, 0x2000000
mov byte [rdi], al
or dword [rdx + 4], ecx
mov word [rdi + 2], 0x40
sub dword [r10 + 0x20], 8
js case.default.0x18000681d
mov rax, qword [r10 + 0x18]
mov rcx, qword [rax]
mov eax, 1
mov qword [rsi], rcx
add qword [r10 + 0x18], 8
jmp 0x1800077be
mov eax, 0x2000
or dword [rdx + 4], eax
mov byte [rdi], 2
mov eax, dword [rcx + 0x24]
mov word [rdi + 2], 0x20
cmp eax, 2
jne 0x180006912
or word [rsi + 0x18], 0x20
sub dword [rcx + 0x20], 4
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax]
mov eax, 1
mov qword [rsi], rcx
add qword [r10 + 0x18], 4
jmp 0x1800077be
sub dword [rcx + 0x20], 4
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
mov ecx, dword [rax]
mov eax, 1
mov dword [rsi], ecx
add qword [r10 + 0x18], 4
jmp 0x1800077be
mov eax, 0x2000
mov byte [rdi], 2
test eax, r9d
je 0x180006968
test dword [rdx], eax
je 0x180006968
or dword [rdx + 4], eax
mov ecx, dword [rcx + 0x24]
test ecx, ecx
je 0x180006960
sub ecx, 1
je 0x180006958
cmp ecx, 1
jne 0x18000696e
mov word [rdi + 2], 0x10
jmp 0x18000696e
mov word [rdi + 2], 0x20
jmp 0x18000696e
mov word [rdi + 2], 8
or word [rsi + 0x18], 0x20
sub dword [r10 + 0x20], 1
js case.default.0x18000681d
mov rax, qword [r10 + 0x18]
movsx rcx, byte [rax]
mov eax, 1
mov qword [rsi], rcx
inc qword [r10 + 0x18]
jmp 0x1800077be
mov byte [rdi], 3
mov word [rdi + 2], 0x10
sub dword [rcx + 0x20], 2
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, word [rax]
mov eax, 1
mov word [rsi], cx
add qword [r10 + 0x18], 2
jmp 0x1800077be
mov byte [rdi], 3
mov word [rdi + 2], 8
sub dword [rcx + 0x20], 1
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax]
mov eax, 1
mov byte [rsi], cl
inc qword [r10 + 0x18]
jmp 0x1800077be
mov byte [rdi], 4
mov word [rdi + 2], 8
sub dword [rcx + 0x20], 1
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax]
mov eax, 1
mov byte [rsi + 4], cl
inc qword [r10 + 0x18]
jmp 0x1800077be
mov byte [rdi], 1
mov word [rdi + 2], 8
cmp dword [rdx + 0x18], ebx
je 0x180006a5d
mov eax, dword [rdx + 0x24]
mov ecx, 0x2000000
or dword [rdx + 4], ecx
and eax, 4
mov edx, 0x30
lea ecx, [r8 + rax*2]
mov r8d, 0x3c
lea eax, [rcx - 4]
cmp eax, 3
cmova r8d, edx
add r8b, cl
mov byte [rdi + 1], r8b
movzx eax, r8b
jmp 0x180006ae8
add r8b, 0x30
mov byte [rdi + 1], r8b
movzx eax, r8b
jmp 0x180006ae8
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x180006afd
sub ecx, 1
je 0x180006ab7
cmp ecx, 1
jne 0x180006af3
mov eax, dword [rdx + 0x24]
mov ecx, 0x2000000
or dword [rdx + 4], ecx
and eax, 4
mov byte [rdi], 1
mov word [rdi + 2], 0x40
lea ecx, [r8 + rax*2]
mov eax, dword [r14 + rcx*4 + 0x43300]
mov byte [rdi + 1], cl
or dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov r9d, dword [rdx + 0x24]
and r9d, 4
je 0x180006ac5
add r8d, 8
test r9d, r9d
mov ecx, 0x2000000
mov eax, 0x2000
cmove ecx, eax
or dword [rdx + 4], ecx
mov byte [rdi], 1
lea eax, [r8 + 0x10]
mov word [rdi + 2], 0x20
mov byte [rdi + 1], al
mov eax, dword [r14 + rax*4 + 0x43300]
or dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov r9d, dword [rdx + 4]
mov eax, 0x2000
or r9d, eax
test byte [rdx + 0x24], 4
mov dword [rdx + 4], r9d
je case.0x18000681d.7
mov ecx, 0x2000000
or r9d, ecx
mov dword [rdx + 4], r9d
add r8d, 8
lea eax, [r8 + 0x20]
mov byte [rdi], 1
mov word [rdi + 2], 0x10
jmp 0x180006ae5
test byte [rdx + 0x24], 4
je 0x180006ad8
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r8d, 8
jmp 0x180006ad8
mov r11d, dword [rdx + 0x24]
mov ecx, 0x2000000
test r11b, 4
je 0x180006b5c
or dword [rdx + 4], ecx
add r8d, 8
cmp dword [r10 + 0x24], 2
jne 0x180006b77
and r9d, 0x3000000
cmp r9d, 0x1000000
je 0x1800072a0
mov byte [rdi], 1
test r11b, 8
je 0x180006adb
or dword [rdx + 4], ecx
jmp 0x1800072a3
and r11d, 7
test byte [rdx + 0x24], 1
je 0x180006ba2
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r11d, 8
mov eax, dword [r10 + 0x24]
mov byte [rdi], 1
cmp eax, 2
je 0x180006bd4
lea eax, [r11 + 0x10]
jmp 0x180006adf
lea eax, [r8 + 0x53]
mov byte [rdi], 1
mov word [rdi + 2], 0x40
jmp 0x180006ae5
and r11d, 7
mov byte [rdi], 1
add r11d, 0x53
mov eax, dword [r14 + r11*4 + 0x43300]
mov byte [rdi + 1], r11b
mov word [rdi + 2], 0x40
or dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov dword [rdi], 0x805b01
mov eax, 1
or dword [rsi + 0x1c], 0x400
jmp 0x1800077be
test byte [rdx + 0x24], 4
je 0x180006c1c
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r8d, 8
lea eax, [r8 + 0x5b]
mov byte [rdi], 1
mov word [rdi + 2], 0x80
jmp 0x180006ae5
and r11d, 7
test byte [rdx + 0x24], 1
je 0x180006c44
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r11d, 8
lea eax, [r11 + 0x5b]
mov byte [rdi], 1
mov word [rdi + 2], 0x80
jmp 0x180006ae5
test byte [rdx + 0x24], 4
je 0x180006c6e
mov ecx, 0x2000000
or dword [rdx + 4], ecx
lea rcx, [r10 + 0x24]
add r8d, 8
jmp 0x180006c88
add r10, 0x24
mov rcx, r10
cmp dword [r10], 1
jne 0x180006c88
test byte [rdx], 0x10
je 0x180006c88
add r8d, 8
or dword [rdx + 4], 0x10
cmp r8d, 8
ja case.default.0x18000681d
mov eax, 0x11d
bt eax, r8d
jae case.default.0x18000681d
mov byte [rdi], 1
mov eax, 0x40
cmp dword [rcx], 2
mov ebx, 0x20
cmovne ax, bx
add r8b, 0x7b
mov word [rdi + 2], ax
movzx eax, r8b
jmp 0x180006ae5
lea eax, [r8 - 4]
cmp eax, 1
jbe case.default.0x18000681d
test byte [rdx + 0x24], 4
jne case.default.0x18000681d
mov byte [rdi], 1
mov eax, 0x40
cmp dword [rcx + 0x24], 2
mov ebx, 0x20
cmovne ax, bx
sub r8b, 0x7c
mov word [rdi + 2], ax
movzx eax, r8b
jmp 0x180006ae5
lea rax, [rsi + 0x22]
cmp rax, rdi
jne 0x180006d16
cmp r8d, 1
je case.default.0x18000681d
cmp r8d, 5
ja case.default.0x18000681d
lea eax, [r8 + 0x44]
mov byte [rdi], 1
mov word [rdi + 2], 0x10
jmp 0x180006ae5
mov eax, 0x2000
mov byte [rdi], 1
or dword [rdx + 4], eax
and r9d, 0x1f80
mov word [rdi + 2], 0x10
cmp r9d, 0x400
ja 0x180006da6
je 0x180006d99
mov ebx, 0x80
cmp r9d, ebx
je 0x180006d8c
mov ecx, 0x100
cmp r9d, ecx
je 0x180006d7f
cmp r9d, 0x200
jne 0x180006dc9
mov byte [rdi + 1], 0x47
movzx eax, byte [rdi + 1]
jmp 0x180006ae8
mov byte [rdi + 1], 0x46
movzx eax, byte [rdi + 1]
jmp 0x180006ae8
mov byte [rdi + 1], 0x45
movzx eax, byte [rdi + 1]
jmp 0x180006ae8
mov byte [rdi + 1], 0x44
movzx eax, byte [rdi + 1]
jmp 0x180006ae8
cmp r9d, 0x800
je 0x180006dc5
cmp r9d, 0x1000
jne 0x180006dc9
mov byte [rdi + 1], 0x49
movzx eax, byte [rdi + 1]
jmp 0x180006ae8
mov byte [rdi + 1], 0x48
movzx eax, byte [rdi + 1]
jmp 0x180006ae8
mov dword [rdi], 0x83001
mov eax, 1
or dword [rsi + 0x1c], 1
jmp 0x1800077be
mov eax, dword [rsp + 0x98]
test eax, eax
jne 0x180006e0d
mov eax, 0x2000
or dword [rdx + 4], eax
mov dword [rdi], 0x102001
mov eax, 1
or dword [rsi + 0x1c], 1
jmp 0x1800077be
cmp eax, 1
je 0x180006e3a
cmp ebp, 0xe
je 0x180006e3a
bt r9d, 0x18
jb 0x180006e26
mov ecx, 0x2000000
or dword [rdx + 4], ecx
mov dword [rdi], 0x400001
mov eax, 1
or dword [rsi + 0x1c], 1
jmp 0x1800077be
mov eax, 0x2000
mov dword [rdi], 0x201001
or dword [rdx + 4], eax
mov eax, 1
or dword [rsi + 0x1c], 1
jmp 0x1800077be
mov ecx, dword [rcx + 0x20]
mov eax, 0x2000
or dword [rdx + 4], eax
cmp dword [rsp + 0x98], ebx
jne 0x180006ea6
lea eax, [rcx - 4]
mov dword [r10 + 0x20], eax
test eax, eax
js case.default.0x18000681d
mov byte [rdi], 9
mov word [rdi + 2], 0x10
mov rax, qword [r10 + 0x18]
movzx ecx, word [rax]
mov dword [rsi + 4], ecx
mov rax, qword [r10 + 0x18]
movzx ecx, word [rax + 2]
mov eax, 1
mov word [rsi], cx
add qword [r10 + 0x18], 4
jmp 0x1800077be
lea eax, [rcx - 6]
mov dword [r10 + 0x20], eax
test eax, eax
js case.default.0x18000681d
mov byte [rdi], 9
mov word [rdi + 2], 0x20
mov rax, qword [r10 + 0x18]
mov ecx, dword [rax]
mov dword [rsi + 4], ecx
mov rax, qword [r10 + 0x18]
movzx ecx, word [rax + 4]
mov eax, 1
mov word [rsi], cx
add qword [r10 + 0x18], 6
jmp 0x1800077be
cmp ebp, 0xf
jne 0x180006f0a
mov byte [rdi], 8
mov word [rdi + 2], 8
sub dword [rcx + 0x20], 1
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movsx rcx, byte [rax]
mov qword [rsi], rcx
inc qword [r10 + 0x18]
jmp 0x180006f5f
mov eax, 0x2000
or dword [rdx + 4], eax
mov byte [rdi], 8
cmp dword [rsp + 0x98], ebx
jne 0x180006f40
mov word [rdi + 2], 0x10
sub dword [rcx + 0x20], 2
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movsx rcx, word [rax]
mov qword [rsi], rcx
add qword [r10 + 0x18], 2
jmp 0x180006f5f
mov word [rdi + 2], 0x20
sub dword [rcx + 0x20], 4
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax]
mov qword [rsi], rcx
add qword [r10 + 0x18], 4
movzx eax, word [r15 + 2]
mov ecx, 0x86
sub ax, cx
cmp ax, 0x44
ja 0x180006af3
mov eax, dword [rdx]
test al, al
jns 0x180006f93
mov ebx, 0x80
mov eax, 1
or dword [rdx + 4], ebx
or word [rsi + 0x18], 0x10
jmp 0x1800077be
bt eax, 9
jae 0x180006af3
or dword [rdx + 4], 0x200
mov eax, 1
or word [rsi + 0x18], 8
jmp 0x1800077be
mov word [rdi + 2], 8
mov byte [rdi], 5
cmp word [rdi + 2], bx
jne 0x180006fed
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x180006fe7
sub ecx, 1
je 0x180006fdf
cmp ecx, 1
jne 0x180006fed
mov word [rdi + 2], 0x40
jmp 0x180006fed
mov word [rdi + 2], 0x20
jmp 0x180006fed
mov word [rdi + 2], 0x10
cmp dword [r10 + 0x24], 2
mov eax, dword [rdx]
jne 0x180007009
test eax, 0x1800
je case.0x180007036.7
shr eax, 0xc
and al, 1
or al, 0x48
mov byte [rsi + 0x34], al
jmp case.0x180007036.7
and eax, 0x1f80
test eax, 0xfffffdff
je 0x18000705c
or dword [rdx + 4], eax
shr eax, 7
dec eax
cmp eax, 0x1f
ja case.0x180007036.7
movzx eax, byte [r14 + rax + 0x79c8]
mov ecx, dword [r14 + rax*4 + 0x79ac]
add rcx, r14
jmp rcx
mov byte [rsi + 0x34], 0x45
jmp case.0x180007036.7
mov byte [rsi + 0x34], 0x46
jmp case.0x180007036.7
mov byte [rsi + 0x34], 0x47
jmp case.0x180007036.7
mov byte [rsi + 0x34], 0x44
jmp case.0x180007036.7
mov byte [rsi + 0x34], 0x48
jmp case.0x180007036.7
mov byte [rsi + 0x34], 0x49
jmp case.0x180007036.7
mov byte [rsi + 0x34], 0xc7
mov eax, dword [rsp + 0xa0]
test eax, eax
jne 0x18000709b
or dword [rdx + 4], 0x4000
mov byte [rsi + 0x37], 0x10
sub dword [r10 + 0x20], 2
js case.default.0x18000681d
mov rax, qword [r10 + 0x18]
movzx ecx, word [rax]
mov eax, 1
mov word [rsi + 8], cx
add qword [r10 + 0x18], 2
jmp 0x1800077be
cmp eax, 1
jne 0x1800070ce
or dword [rdx + 4], 0x4000
mov byte [rsi + 0x37], 0x20
sub dword [r10 + 0x20], 4
js case.default.0x18000681d
mov rax, qword [r10 + 0x18]
mov ecx, dword [rax]
mov eax, 1
mov dword [rsi + 8], ecx
add qword [r10 + 0x18], 4
jmp 0x1800077be
mov byte [rsi + 0x37], 0x40
sub dword [r10 + 0x20], 8
js case.default.0x18000681d
mov rax, qword [r10 + 0x18]
mov rcx, qword [rax]
mov eax, 1
mov qword [rsi + 8], rcx
add qword [r10 + 0x18], 8
jmp 0x1800077be
mov byte [rdi], 2
mov eax, 1
mov word [rdi + 2], 8
mov byte [rsi], 1
jmp 0x1800077be
mov dword [rdi], 0x83101
mov eax, 1
or dword [rsi + 0x1c], 2
jmp 0x1800077be
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax - 1]
and ecx, 7
mov byte [rdi], 1
add ecx, 0x4b
mov word [rdi + 2], 0x20
mov byte [rdi + 1], cl
mov eax, dword [r14 + rcx*4 + 0x43300]
or dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov dword [rdi], 0x204b01
mov ecx, 0x100
or dword [rsi + 0x1c], ecx
mov ebx, 0x20
mov rax, qword [r10 + 0x18]
movzx ecx, byte [rax - 1]
and ecx, 7
mov byte [rdi + 4], 1
add ecx, 0x4b
mov word [rdi + 6], bx
mov byte [rdi + 5], cl
mov eax, dword [r14 + rcx*4 + 0x43300]
or dword [rsi + 0x1c], eax
mov eax, 1
inc byte [rsi + 0x32]
jmp 0x1800077be
mov rax, qword [rcx + 0x18]
mov ebx, 0x20
movzx ecx, byte [rax - 1]
and ecx, 7
mov byte [rdi], 1
add ecx, 0x4b
mov word [rdi + 2], bx
mov byte [rdi + 1], cl
mov eax, dword [r14 + rcx*4 + 0x43300]
mov ecx, 0x100
or dword [rsi + 0x1c], eax
mov eax, 1
mov dword [rdi + 4], 0x204b01
or dword [rsi + 0x1c], ecx
inc byte [rsi + 0x32]
jmp 0x1800077be
mov byte [rdi], 1
mov word [rdi + 2], 8
mov rax, qword [rcx + 0x18]
movzx r8d, byte [rax - 1]
and r8d, 7
test byte [rdx + 0x24], 1
je 0x18000720d
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r8d, 0x38
mov byte [rdi + 1], r8b
movzx eax, r8b
jmp 0x180006ae8
cmp dword [rdx + 0x18], 1
jne 0x180006a5d
mov ecx, 0x2000000
or dword [rdx + 4], ecx
cmp r8d, 4
jb 0x180007236
add r8d, 0x3c
mov byte [rdi + 1], r8b
movzx eax, r8b
jmp 0x180006ae8
add r8d, 0x30
mov byte [rdi + 1], r8b
movzx eax, r8b
jmp 0x180006ae8
mov rax, qword [rcx + 0x18]
mov ecx, dword [rsp + 0x98]
movzx r8d, byte [rax - 1]
and r8d, 7
test ecx, ecx
je 0x1800072cf
sub ecx, 1
je 0x1800072c2
cmp ecx, 1
jne 0x180006af3
mov eax, dword [rdx + 0x24]
and r9d, 0x3000000
and eax, ecx
cmp r9d, 0x1000000
jne 0x180007294
test eax, eax
je 0x1800072a0
mov ecx, 0x2000000
or dword [rdx + 4], ecx
add r8d, 8
jmp 0x1800072a0
mov ecx, 0x2000000
lea r8d, [r8 + rax*8]
or dword [rdx + 4], ecx
mov byte [rdi], 1
mov eax, dword [r14 + r8*4 + 0x43300]
mov byte [rdi + 1], r8b
mov word [rdi + 2], 0x40
or dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov r9d, dword [rdx + 0x24]
and r9d, 1
jmp 0x180006abf
mov r9d, dword [rdx + 4]
mov eax, 0x2000
or r9d, eax
test byte [rdx + 0x24], 1
jmp 0x180006b0d
mov r8d, dword [rdx + 4]
bts r8d, 0xe
mov byte [rdi], 6
mov dword [rdx + 4], r8d
test r9b, 4
je 0x180007341
mov eax, 0x2000
or r8d, eax
mov eax, dword [rsp + 0x98]
mov dword [rdx + 4], r8d
test eax, eax
jne 0x180007319
mov word [rdi + 2], 0x10
jmp 0x180007347
cmp eax, 2
jne 0x180007339
bt r9d, 0x18
jae 0x180007339
mov ecx, 0x2000000
mov word [rdi + 2], 0x40
or r8d, ecx
mov dword [rdx + 4], r8d
jmp 0x180007347
mov word [rdi + 2], 0x20
jmp 0x180007347
mov word [rdi + 2], 8
mov ecx, dword [rdx]
mov byte [rsi + 0x34], 0xff
cmp dword [r10 + 0x24], 2
jne 0x18000736a
test ecx, 0x1800
je case.0x18000739e.7
shr ecx, 0xc
and cl, 1
or cl, 0x48
mov byte [rsi + 0x34], cl
jmp case.0x18000739e.7
and ecx, 0x1f80
test ecx, 0xfffffdff
je 0x1800073c4
mov eax, ecx
shr ecx, 7
or eax, r8d
dec ecx
mov dword [rdx + 4], eax
cmp ecx, 0x1f
ja case.0x18000739e.7
movzx eax, byte [r14 + rcx + 0x7a04]
mov ecx, dword [r14 + rax*4 + 0x79e8]
add rcx, r14
jmp rcx
mov byte [rsi + 0x34], 0x45
jmp case.0x18000739e.7
mov byte [rsi + 0x34], 0x46
jmp case.0x18000739e.7
mov byte [rsi + 0x34], 0x47
jmp case.0x18000739e.7
mov byte [rsi + 0x34], 0x44
jmp case.0x18000739e.7
mov byte [rsi + 0x34], 0x48
jmp case.0x18000739e.7
mov byte [rsi + 0x34], 0x49
jmp case.0x18000739e.7
mov byte [rsi + 0x34], 0xc7
mov ecx, dword [rsp + 0xa0]
test ecx, ecx
jne 0x1800073e5
mov byte [rdi + 1], 0x26
mov eax, 1
or dword [rsi + 0x1c], 0x40
jmp 0x1800077be
cmp ecx, 1
mov eax, 6
mov edx, 0x16
cmove eax, edx
mov byte [rdi + 1], al
mov eax, 1
or dword [rsi + 0x1c], 0x40
jmp 0x1800077be
mov r8d, dword [rdx + 4]
bts r8d, 0xe
mov byte [rdi], 6
mov dword [rdx + 4], r8d
test r9b, 4
je 0x180007463
mov eax, 0x2000
or r8d, eax
mov eax, dword [rsp + 0x98]
mov dword [rdx + 4], r8d
test eax, eax
jne 0x18000743b
mov word [rdi + 2], 0x10
jmp 0x180007469
cmp eax, 2
jne 0x18000745b
bt r9d, 0x18
jae 0x18000745b
mov ecx, 0x2000000
mov word [rdi + 2], 0x40
or r8d, ecx
mov dword [rdx + 4], r8d
jmp 0x180007469
mov word [rdi + 2], 0x20
jmp 0x180007469
mov word [rdi + 2], 8
cmp byte [rsi + 0x34], 0xff
jne 0x18000747a
cmp dword [r10 + 0x24], 2
je 0x18000747a
mov byte [rsi + 0x34], 0xc4
mov ecx, dword [rsp + 0xa0]
test ecx, ecx
jne 0x18000749b
mov ebx, 0x80
mov byte [rdi + 1], 0x27
or dword [rsi + 0x1c], ebx
mov eax, 1
jmp 0x1800077be
cmp ecx, 1
mov eax, 7
mov edx, 0x17
mov ebx, 0x80
cmove eax, edx
mov byte [rdi + 1], al
mov eax, 1
or dword [rsi + 0x1c], ebx
jmp 0x1800077be
mov dword [rdi], 0x102201
mov eax, 1
or dword [rsi + 0x1c], 4
jmp 0x1800077be
mov dword [rdi], 0x201101
mov eax, 1
or dword [rsi + 0x1c], 2
jmp 0x1800077be
mov r8d, dword [rdx + 4]
lea r9, [rdx + 4]
mov ecx, dword [rdx]
bts r8d, 0xe
cmp dword [r10 + 0x24], 2
mov dword [r9], r8d
jne 0x18000751b
test ecx, 0x1800
je 0x180007594
shr ecx, 0xc
and cl, 1
or cl, 0x48
mov byte [rsi + 0x34], cl
jmp 0x180007594
and ecx, 0x1f80
test ecx, 0xfffffdff
je 0x180007590
mov eax, ecx
shr ecx, 7
or eax, r8d
dec ecx
mov dword [r9], eax
mov r8d, eax
cmp ecx, 0x1f
ja case.0x180007552.7
movzx eax, byte [r14 + rcx + 0x7a40]
mov ecx, dword [r14 + rax*4 + 0x7a24]
add rcx, r14
jmp rcx
mov byte [rsi + 0x34], 0x45
lea r9, [rdx + 4]
jmp 0x180007594
mov byte [rsi + 0x34], 0x46
lea r9, [rdx + 4]
jmp 0x180007594
mov byte [rsi + 0x34], 0x47
lea r9, [rdx + 4]
jmp 0x180007594
mov byte [rsi + 0x34], 0x44
lea r9, [rdx + 4]
jmp 0x180007594
mov byte [rsi + 0x34], 0x48
lea r9, [rdx + 4]
jmp 0x180007594
mov byte [rsi + 0x34], 0x49
lea r9, [rdx + 4]
jmp 0x180007594
mov byte [rsi + 0x34], 0xc7
mov eax, dword [rsp + 0xa0]
mov dword [rdi], 0x83007
mov edx, dword [rsi + 0x1c]
or edx, 1
test eax, eax
jne 0x1800075c5
mov rax, qword [0x18004338c]
or eax, edx
mov byte [rsi + 0x35], 0x23
mov dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
cmp eax, 1
jne 0x1800075e3
mov eax, dword [0x18004334c]
or eax, edx
mov byte [rsi + 0x35], 0x13
mov dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov eax, dword [0x18004330c]
mov ecx, 0x2000000
or r8d, ecx
mov byte [rsi + 0x35], 3
or eax, edx
mov dword [r9], r8d
mov dword [rsi + 0x1c], eax
mov eax, 1
jmp 0x1800077be
mov eax, dword [rsp + 0xa0]
mov byte [rdi], 6
cmp eax, 2
jne 0x18000762d
mov byte [rdi + 1], bl
mov eax, 1
mov word [rdi + 2], 0x40
or dword [rsi + 0x1c], 1
jmp 0x1800077be
or dword [rdx + 4], 0x4000
cmp eax, 1
jne 0x18000764b
mov byte [rdi + 1], 0x10
mov word [rdi + 2], 0x20
or dword [rsi + 0x1c], eax
jmp 0x1800077be
mov byte [rdi + 1], 0x20
mov eax, 1
mov word [rdi + 2], 0x10
or dword [rsi + 0x1c], 1
jmp 0x1800077be
mov eax, dword [rdx + 0x20]
add eax, 0x5b
mov byte [rdi], 1
mov word [rdi + 2], 0x80
jmp 0x180006ae5
sub dword [rcx + 0x20], 1
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax]
shr ecx, 4
mov eax, ecx
and eax, 7
cmp dword [r10 + 0x24], 1
mov byte [rdi], 1
cmove ecx, eax
mov word [rdi + 2], 0x80
lea eax, [rcx + 0x5b]
mov byte [rdi + 1], al
mov eax, dword [r14 + rax*4 + 0x43300]
or dword [rsi + 0x1c], eax
mov eax, 1
inc qword [r10 + 0x18]
jmp 0x1800077be
mov eax, dword [rdx + 0x24]
test al, 4
je 0x1800076cb
add r8d, 8
mov byte [rdi], 1
test al, 0x10
je 0x1800076e1
lea eax, [r8 + 0x6b]
mov word [rdi + 2], 0x100
jmp 0x180006ae5
lea eax, [r8 + 0x5b]
mov word [rdi + 2], 0x80
jmp 0x180006ae5
sub dword [rcx + 0x20], 1
js case.default.0x18000681d
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax]
shr ecx, 4
mov eax, ecx
and eax, 7
cmp dword [r10 + 0x24], 1
cmove ecx, eax
mov eax, dword [rdx + 0x24]
mov byte [rdi], 1
test al, 0x10
je 0x180007726
lea eax, [rcx + 0x6b]
mov word [rdi + 2], 0x100
jmp 0x18000772f
lea eax, [rcx + 0x5b]
mov word [rdi + 2], 0x80
mov byte [rdi + 1], al
mov eax, dword [r14 + rax*4 + 0x43300]
or dword [rsi + 0x1c], eax
mov eax, 1
inc qword [r10 + 0x18]
jmp 0x1800077be
test byte [rdx + 0x24], 4
je 0x180007752
add r8d, 8
lea eax, [r8 + 0x6b]
mov byte [rdi], 1
mov word [rdi + 2], 0x100
jmp 0x180006ae5
mov eax, dword [rdx + 0x20]
add eax, 0x6b
mov byte [rdi], 1
mov word [rdi + 2], 0x100
jmp 0x180006ae5
mov eax, dword [rdx + 0x24]
mov byte [rdi], 1
mov ecx, dword [rdx + 0x20]
test al, 0x10
je 0x180007793
lea eax, [rcx + 0x6b]
mov word [rdi + 2], 0x100
jmp 0x180006ae5
lea eax, [rcx + 0x5b]
mov word [rdi + 2], 0x80
jmp 0x180006ae5
mov eax, dword [rdx + 0x24]
test al, 4
je 0x1800077ac
add r8d, 8
mov byte [rdi], 1
test al, 8
je 0x180006adb
jmp 0x1800072a3
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret