Function at 0x140a53c40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov qword [rsp + 0xa0], r9
mov rsi, r8
mov r13, rdx
mov rbp, rcx
mov rax, qword [rcx + 0x2a0]
cmp qword [rcx + 0x120], rdx
jne 0x140a53c8c
lea rcx, [rbp + 0x220]
mov qword [rsp + 0x98], rcx
lea rcx, [rbp + 0x228]
jmp 0x140a53c9f
mov rcx, qword [rbp + 0x238]
mov qword [rsp + 0x98], rcx
lea rcx, [rcx + 8]
mov qword [rsp + 0x78], rcx
mov r15d, dword [rsp + 0x120]
lea rcx, [rbp + 0x1f0]
mov qword [rsp + 0xb0], rcx
lea rcx, [rax + 0xa0]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x50], rax
lea rax, [rax + 0x108]
mov qword [rsp + 0x88], rax
lea rax, [rbp + 0x278]
mov qword [rsp + 0xa8], rax
lea rax, [rbp + 0x300]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x310]
mov qword [rsp + 0x90], rax
lea r12, [0x140a530e0]
mov qword [rsp + 0x68], rbp
mov rax, qword [rsp + 0x98]
mov qword [rax], rsi
mov r9, qword [rsp + 0x128]
mov rax, qword [rsp + 0x78]
mov qword [rax], r9
test r15d, r15d
jg 0x140a53e0e
cmp byte [rsp + 0x138], 0
je 0x140a53d59
test r15d, r15d
je 0x140a53d59
mov rax, qword [rsp + 0x130]
mov qword [rax], rsi
xor edi, edi
jmp case.0x140a53f9d.3
cmp r15d, 0xfffffff1
jne 0x140a53d6a
mov r15d, 0xf
jmp 0x140a53e0e
lea eax, [r15 + 4]
mov ecx, 4
cmp eax, ecx
ja case.0x140a53f9d.1
mov edi, 5
lea rcx, [0x140a56d30]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x98]
mov qword [rax], r9
jmp 0x140a5428e
cmp r13, qword [rbp + 0x120]
je 0x140a53de8
mov rax, qword [rbp + 0x238]
cmp byte [rax + 0x24], 0
je 0x140a53d47
mov qword [rsp + 0x20], r13
mov rcx, qword [rsp + 0xb0]
mov edx, 0xfffffffc
mov r8, qword [rsp + 0xa0]
mov r9, r8
call qword [rcx]
cmp eax, 0xffffffff
jne 0x140a53d47
mov edi, 0x1d
jmp case.0x140a53f9d.3
cmp byte [rbp + 0x380], 0
jne 0x140a53db6
mov edi, 3
jmp case.0x140a53f9d.3
neg r15d
mov r9, qword [rsp + 0xa0]
mov qword [rsp + 0x128], r9
mov qword [rsp + 0x20], r13
mov rcx, qword [rsp + 0xb0]
mov edx, r15d
mov r8, rsi
call qword [rcx]
mov r14d, eax
cmp eax, 0x39
ja 0x140a53e3e
mov eax, r14d
movabs rcx, 0x200000000000006
bt rcx, rax
jb 0x140a53e6d
mov r9, qword [rsp + 0x128]
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x20], eax
mov rcx, rbp
mov edx, r15d
mov r8, rsi
call fcn.140a56e40
test al, al
jne 0x140a53e6d
mov edi, 0x2b
jmp case.0x140a53f9d.3
mov qword [rsp + 0x60], rsi
mov eax, r12d
imul eax, r12d
and eax, 3
cmp eax, 1
seta al
or al, 2
movzx eax, al
movzx ecx, byte [0x140d16de3]
bt ecx, eax
jb 0x140a53f78
mov al, byte [0x140d16de3]
mov ecx, r12d
imul ecx, r12d
and ecx, 3
cmp ecx, 1
seta cl
or cl, 2
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16de3], dl
jne 0x140a53e9d
mov ecx, r12d
imul ecx, r12d
and ecx, 3
cmp ecx, 1
seta cl
or cl, 2
xor cl, 7
movzx eax, al
movzx ecx, cl
bt eax, ecx
jae 0x140a53f07
mov eax, r12d
imul eax, r12d
and eax, 3
cmp eax, 1
seta al
or al, 2
movzx eax, al
movzx ecx, byte [0x140d16de3]
bt ecx, eax
jae 0x140a53ee4
jmp 0x140a53f78
mov eax, r12d
imul eax, r12d
and eax, 3
cmp eax, 1
seta al
or al, 2
movzx eax, al
movzx ecx, byte [0x140d16de3]
bt ecx, eax
jb 0x140a53f58
mov eax, r12d
imul eax, r12d
and eax, 3
xor ecx, ecx
cmp eax, 1
seta cl
or rcx, 0x56651b4a
add rcx, 0x68
xor dword [0x140d16ddc], ecx
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16de3], al
mov eax, r12d
imul eax, r12d
and eax, 3
cmp eax, 1
seta cl
or cl, 2
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16de3], al
lea eax, [r14 + 1]
cmp eax, 0x3d
ja case.default.0x140a53f9d
mov qword [rsp + 0x58], r13
xor ebx, ebx
fild dword [rcx - 0x4b]
add dword [rax - 0x73], ecx
or eax, 0x2dae
fild dword [rcx - 0x4b]
add dword [rax - 0x73], ecx
or eax, 0x2dae
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov r9, qword [rsp + 0x128]
mov rcx, rbp
xor edx, edx
mov r8, qword [rsp + 0x60]
call fcn.140a56f10
test eax, eax
je 0x140a540ec
mov edi, eax
jmp case.0x140a53f9d.3
cmp qword [rbp + 0xa8], 0
jne 0x140a53fd4
mov r13b, 1
jmp 0x140a54022
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
call fcn.140a57270
mov qword [rbp + 0x258], rax
test rax, rax
jne 0x140a54006
mov edi, 1
jmp case.0x140a53f9d.3
mov rax, qword [rbp + 0x318]
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x268], 0
add byte [rbp + 0x31], al
in eax, dx
add byte [rbp + 0x31], al
in eax, dx
mov qword [rbp + 0x260], 0
jmp 0x140a56bba
mov rax, qword [rbp + 0xa8]
test rax, rax
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov r9, qword [rbp + 0x268]
mov r8, qword [rbp + 0x260]
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rbp + 8]
mov dword [rsp + 0x20], 1
call rax
mov qword [rbp + 0x258], 0
mov rax, qword [rbp + 0x308]
test rax, rax
jne 0x140a54091
mov rax, qword [rbp + 0x300]
mov qword [rbp + 0x308], rax
jmp 0x140a540b6
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140a540b6
mov rdx, qword [rcx]
mov qword [rcx], rax
mov qword [rbp + 0x308], rcx
mov rax, rcx
mov rcx, rdx
test rdx, rdx
jne 0x140a5409e
xor eax, eax
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x90]
and al, 0x90
add byte [rax], al
add byte [rax - 0x77], cl
adc byte [r15], cl
push rdi
ror byte [rdi], 0x11
add ecx, ebp
in eax, 0x2b
add byte [rax], al
and al, 0x90
add byte [rax], al
add byte [rax - 0x77], cl
adc byte [r15], cl
push rdi
ror byte [rdi], 0x11
add ecx, ebp
in eax, 0x2b
add byte [rax], al
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov edx, 1
add byte [rax], al
add cl, ch
sar dh, 0xff
invalid
add byte [rax], al
add cl, ch
sar dh, 0xff
dec dword [rbx + rcx*4 - 0x53]
and byte [rcx], al
add byte [rax], al
mov r13, qword [rbp + 0x120]
jmp 0x140a56cbc
mov byte [rbp + 0x381], 0
lea r8, [0x140d16ddc]
mov r9d, 0x40
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
call fcn.140a572c0
mov qword [rbp + 0x250], rax
mov edi, 1
test rax, rax
je case.0x140a53f9d.3
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x101], 1
cmp qword [rbp + 0xa8], 0
je 0x140a541d1
mov r8, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
mov r9, qword [rsp + 0x98]
call qword [rsi + 0x68]
test eax, eax
jne 0x140a5417c
mov edi, 0x20
jmp case.0x140a53f9d.3
mov r9, qword [rsp + 0x128]
movsxd r8, dword [rsi + 0x80]
sub r9, r8
add r8, rbx
mov rcx, qword [rsp + 0x70]
mov rdx, rsi
call fcn.140a57270
test rax, rax
mov edi, 1
je case.0x140a53f9d.3
mov rsi, rax
mov rcx, rax
call fcn.140a575d0
mov rax, qword [rbp + 0x318]
add byte [rax - 0x77], cl
test dword [rax], esp
add eax, dword [rax]
add byte [rax - 0x77], cl
mov ch, 0x68
add al, byte [rax]
add byte [rbp + 0x31], al
in eax, dx
add byte [rax - 0x77], cl
test dword [rax], esp
add eax, dword [rax]
add byte [rax - 0x77], cl
mov ch, 0x68
add al, byte [rax]
add byte [rbp + 0x31], al
in eax, dx
jmp 0x140a541fc
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
mov r9, qword [rsp + 0x98]
call qword [rcx + 0x68]
mov r13b, 1
test eax, eax
je 0x140a54172
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
je 0x140a56bba
cmp qword [rbp + 0x250], 0
je 0x140a56bba
mov r9, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x58]
movsxd r8, dword [rdx + 0x80]
sub r9, r8
add r8, rbx
mov rcx, qword [rsp + 0x80]
call fcn.140a57270
test rax, rax
je 0x140a53ffc
mov rsi, rax
mov rcx, rax
call fcn.140a575d0
mov rax, qword [rbp + 0x250]
mov qword [rax + 0x28], rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xb8]
mov qword [rcx + 0xc0], rax
add eax, 0x41000000
cmp esi, 0xe
add eax, 0x41000000
cmp esi, 0xe
je 0x140a55d20
jmp 0x140a56bba
cmp byte [rsp + 0x140], 1
je 0x140a54298
mov edi, 4
jmp case.0x140a53f9d.3
mov rdx, qword [rbp + 0x258]
test rdx, rdx
jne 0x140a542a9
mov r13b, 1
jmp 0x140a54327
mov r9, qword [rbp + 0x268]
mov r8, qword [rbp + 0x260]
mov rcx, qword [rbp + 8]
mov dword [rsp + 0x20], 0
call qword [rbp + 0xa8]
mov rax, qword [rbp + 0x308]
test rax, rax
jne 0x140a542e5
mov rax, qword [rbp + 0x300]
mov qword [rbp + 0x308], rax
jmp 0x140a5430a
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140a5430a
mov rdx, qword [rcx]
mov qword [rcx], rax
mov qword [rbp + 0x308], rcx
mov rax, rcx
mov rcx, rdx
test rdx, rdx
jne 0x140a542f2
xor r13d, r13d
mov rax, qword [rsp + 0x70]
mov qword [rax], r13
mov rax, qword [rsp + 0x90]
mov qword [rax + 0x10], r13
xorps xmm0, xmm0
movups xmmword [rax], xmm0
cmp qword [rbp + 0x260], 0
jne 0x140a5433e
cmp byte [rbp + 0x381], 0
je 0x140a5442d
mov rax, qword [rsp + 0x50]
mov bl, byte [rax + 0x101]
mov byte [rax + 0x101], 1
cmp dword [rbp + 0x384], 0
je 0x140a54426
cmp qword [rbp + 0xe0], 0
je 0x140a54426
lea r8, [0x140d16ddc]
mov r9d, 0x40
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
call fcn.140a572c0
test rax, rax
je 0x140a53ffc
cmp byte [rbp + 0x381], 0
je 0x140a543a5
mov rcx, qword [rbp + 0x2a8]
mov qword [rax + 0x20], rcx
mov rsi, qword [rsp + 0x50]
mov byte [rsi + 0x103], 0
mov rdx, qword [rax + 0x28]
mov r9, qword [rax + 0x18]
mov r8, qword [rax + 0x20]
mov rcx, qword [rbp + 0xe8]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [rbp + 0xe0]
test eax, eax
jne 0x140a543df
mov edi, 0x15
jmp case.0x140a53f9d.3
cmp byte [rsi + 0x103], 0
je 0x140a54411
cmp byte [rsi + 0x102], 0
jne 0x140a54426
mov rax, qword [rbp + 0xd8]
test rax, rax
je 0x140a54426
mov rcx, qword [rbp + 8]
call rax
test eax, eax
jne 0x140a54426
mov edi, 0x16
jmp case.0x140a53f9d.3
cmp qword [rbp + 0x260], 0
jne 0x140a54426
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x101], bl
mov byte [rbp + 0x381], 0
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x140a56bba
mov rcx, qword [rbp + 8]
call rax
jmp 0x140a55d30
cmp byte [rbp + 0x381], 0
mov rsi, qword [rsp + 0x50]
je 0x140a54516
mov bl, byte [rsi + 0x101]
mov byte [rsi + 0x101], 1
cmp dword [rbp + 0x384], 0
je 0x140a54516
cmp qword [rbp + 0xe0], 0
je 0x140a54516
lea r8, [0x140d16ddc]
mov r9d, 0x40
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
call fcn.140a572c0
test rax, rax
je 0x140a53ffc
mov rcx, qword [rbp + 0x2a8]
mov qword [rax + 0x20], rcx
mov byte [rsi + 0x103], 0
mov rdx, qword [rax + 0x28]
mov r9, qword [rax + 0x18]
mov r8, qword [rax + 0x20]
mov rcx, qword [rbp + 0xe8]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [rbp + 0xe0]
test eax, eax
je 0x140a543d5
cmp byte [rsi + 0x103], 0
je 0x140a54510
cmp byte [rsi + 0x102], 0
jne 0x140a54516
mov rax, qword [rbp + 0xd8]
test rax, rax
je 0x140a54516
mov rcx, qword [rbp + 8]
call rax
test eax, eax
je 0x140a54407
jmp 0x140a54516
mov byte [rsi + 0x101], bl
lea rax, [fcn.140a57640]
mov qword [rbp + 0x210], rax
mov rcx, rbp
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0xa0]
add byte [rax], al
add byte [rax], al
mov r9, qword [rsp + 0x130]
call fcn.140a57640
jmp 0x140a53fbe
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a576b0
mov qword [rbp + 0x288], rax
mov dword [rbp + 0x288], eax
mov dword [rbp + 0x288], eax
test rax, rax
je 0x140a53ffc
jmp 0x140a551dc
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a57740
mov qword [rbp + 0x290], rax
test rax, rax
je 0x140a53ffc
mov word [rbp + 0x298], 0
add byte [rax], al
add byte [rax], al
mov qword [rbp + 0x270], 0
jmp 0x140a551dc
lea rax, [fcn.140a57b10]
imul eax, eax
and eax, 3
mov ecx, 3
cmp eax, ecx
sete al
not al
and al, 3
movzx eax, al
movzx ecx, byte [0x140d16def]
bt ecx, eax
jb 0x140a5472b
mov al, byte [0x140d16def]
lea rcx, [fcn.140a57b10]
imul ecx, ecx
and ecx, 3
mov edx, 3
cmp ecx, edx
sete cl
not cl
and cl, 3
xor cl, 7
mov bl, 1
shl bl, cl
or bl, al
lock cmpxchg byte [0x140d16def], bl
jne 0x140a545f2
lea rcx, [fcn.140a57b10]
imul ecx, ecx
and ecx, 3
cmp ecx, edx
sete cl
not cl
and cl, 3
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a54675
lea rax, [fcn.140a57b10]
imul eax, eax
and eax, 3
mov ecx, 3
cmp eax, ecx
sete al
not al
and al, 3
movzx eax, al
movzx ecx, byte [0x140d16def]
bt ecx, eax
jae 0x140a54646
jmp 0x140a5472b
lea rax, [fcn.140a57b10]
imul eax, eax
and eax, 3
mov edx, 3
xor ebp, ebp
cmp eax, edx
sete bpl
xor rbp, 0x576ce1bb
add rbp, 0x1080
mov eax, ebp
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16def]
bt ecx, eax
jb 0x140a54702
lea rbx, [0x140d16de4]
xor eax, eax
mov edi, dword [rbx]
xor edi, ebp
mov esi, ebp
mov ecx, eax
shl esi, cl
xor cl, 0x1f
shr ebp, cl
mov dword [rbx], edi
or ebp, esi
not edi
imul ebp, edi
add rbx, 4
inc eax
cmp eax, 2
jne 0x140a546b9
lea rax, [fcn.140a57b10]
imul eax, eax
and eax, 3
mov ecx, 3
cmp eax, ecx
sete cl
not cl
and cl, 3
mov al, 1
shl al, cl
or byte [0x140d16def], al
lea rax, [fcn.140a57b10]
imul eax, eax
and eax, 3
cmp eax, edx
sete cl
not cl
and cl, 3
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16def], al
mov rbp, qword [rsp + 0x68]
invalid
push 0x29885c6
add byte [rax], al
add dword [rax - 0x73], ecx
add eax, 0x2c26ab
mov byte [rbp + 0x298], 1
lea rax, [0x140d16de4]
jmp 0x140a551d0
lea rax, [0x140a530f0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete al
xor al, 3
movzx eax, al
movzx ecx, byte [0x140d16df7]
bt ecx, eax
jb 0x140a5486c
mov al, byte [0x140d16df7]
lea rcx, [0x140a530f0]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
sete cl
not cl
and cl, 3
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16df7], dl
jne 0x140a5476d
lea rcx, [0x140a530f0]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
sete cl
not cl
and cl, 3
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a547ea
lea rax, [0x140a530f0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete al
xor al, 3
movzx eax, al
movzx ecx, byte [0x140d16df7]
bt ecx, eax
jae 0x140a547c0
jmp 0x140a5486c
lea rax, [0x140a530f0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete al
xor al, 3
movzx eax, al
movzx ecx, byte [0x140d16df7]
bt ecx, eax
jb 0x140a54846
lea rax, [0x140a530f0]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, 0xbc48e53b
xor rcx, rax
lea eax, [rcx + 0x1000]
xor dword [0x140d16df0], eax
and cl, 3
mov al, 1
shl al, cl
or byte [0x140d16df7], al
lea rax, [0x140a530f0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete cl
not cl
and cl, 3
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16df7], al
invalid
add dh, al
test dword [rcx + 0x1000002], ebx
mov byte [rbp + 0x299], 1
lea rax, [0x140d16df0]
jmp 0x140a551d0
lea rax, [fcn.140a59cd0]
mov ecx, 3
sub ecx, eax
xor ecx, eax
sete al
or al, 6
movzx eax, al
movzx ecx, byte [0x140d16e03]
bt ecx, eax
jb 0x140a549ce
mov al, byte [0x140d16e03]
lea rcx, [fcn.140a59cd0]
mov edx, 3
sub edx, ecx
xor edx, ecx
sete cl
or cl, 6
xor cl, 7
mov dl, 1
shl dl, cl
mov ecx, 3
or dl, al
lock cmpxchg byte [0x140d16e03], dl
jne 0x140a548ad
lea rdx, [fcn.140a59cd0]
sub ecx, edx
xor ecx, edx
sete cl
or cl, 6
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a54923
lea rax, [fcn.140a59cd0]
mov ecx, 3
sub ecx, eax
xor ecx, eax
sete al
or al, 6
movzx eax, al
movzx ecx, byte [0x140d16e03]
bt ecx, eax
jae 0x140a548fa
jmp 0x140a549ce
lea rax, [fcn.140a59cd0]
mov edx, 3
mov ecx, 3
sub ecx, eax
xor ebp, ebp
xor ecx, eax
sete bpl
or rbp, 0x4a9f7b6
add rbp, 0x1000
mov eax, ebp
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e03]
bt ecx, eax
jb 0x140a549ab
lea rbx, [0x140d16df8]
xor eax, eax
mov edi, dword [rbx]
xor edi, ebp
mov esi, ebp
mov ecx, eax
shl esi, cl
xor cl, 0x1f
shr ebp, cl
mov dword [rbx], edi
or ebp, esi
not edi
imul ebp, edi
add rbx, 4
inc eax
cmp eax, 2
jne 0x140a54968
lea rax, [fcn.140a59cd0]
mov ecx, 3
sub ecx, eax
xor ecx, eax
sete cl
or cl, 6
mov al, 1
shl al, cl
or byte [0x140d16e03], al
lea rax, [fcn.140a59cd0]
sub edx, eax
xor edx, eax
sete cl
or cl, 6
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e03], al
and al, 0x2c
add byte [rax - 0x75], cl
insb byte [rdi], dx
and al, 0x68
and al, 0x2c
add byte [rax - 0x75], cl
insb byte [rdi], dx
and al, 0x68
lea rax, [0x140d16df8]
jmp 0x140a551d0
lea rax, [fcn.140a58bb0]
mov ecx, 3
sub ecx, eax
xor edx, edx
xor ecx, eax
sete dl
setne al
add al, al
movzx eax, al
lea eax, [rdx + rax]
add eax, 6
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e0f]
bt ecx, eax
jb 0x140a54b8a
mov al, byte [0x140d16e0f]
lea rcx, [fcn.140a58bb0]
mov edx, 3
sub edx, ecx
xor ebp, ebp
xor edx, ecx
sete bpl
mov ecx, ebp
xor ecx, 1
lea ecx, [rbp + rcx*2 + 6]
and cl, 7
xor cl, 7
mov dl, 1
shl dl, cl
mov ecx, 3
or dl, al
lock cmpxchg byte [0x140d16e0f], dl
jne 0x140a54a18
lea rdx, [fcn.140a58bb0]
sub ecx, edx
xor ebp, ebp
xor ecx, edx
sete bpl
mov ecx, ebp
xor ecx, 1
lea ecx, [rbp + rcx*2 + 6]
and cl, 7
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
mov rbp, qword [rsp + 0x68]
jae 0x140a54abb
lea rax, [fcn.140a58bb0]
mov ecx, 3
sub ecx, eax
xor edx, edx
xor ecx, eax
sete dl
setne al
add al, al
movzx eax, al
lea eax, [rdx + rax]
add eax, 6
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e0f]
bt ecx, eax
jae 0x140a54a82
jmp 0x140a54b8a
lea rax, [fcn.140a58bb0]
mov edx, 3
mov ecx, 3
sub ecx, eax
xor ebp, ebp
xor ecx, eax
sete bpl
mov eax, 0xdb03771e
or rax, rbp
not ebp
and ebp, 0xc1
lea rbp, [rax + rbp*2]
mov eax, ebp
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e0f]
bt ecx, eax
jb 0x140a54b5a
lea rbx, [0x140d16e04]
xor eax, eax
mov edi, dword [rbx]
xor edi, ebp
mov esi, ebp
mov ecx, eax
shl esi, cl
xor cl, 0x1f
shr ebp, cl
mov dword [rbx], edi
or ebp, esi
not edi
imul ebp, edi
add rbx, 4
inc eax
cmp eax, 2
jne 0x140a54b06
lea rax, [fcn.140a58bb0]
mov ecx, 3
sub ecx, eax
xor ebp, ebp
xor ecx, eax
sete bpl
setne al
add al, al
movzx eax, al
lea ecx, [rax + rbp]
add ecx, 6
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16e0f], al
lea rax, [fcn.140a58bb0]
sub edx, eax
xor ecx, ecx
xor edx, eax
sete cl
mov eax, ecx
xor eax, 1
lea ecx, [rcx + rax*2]
add ecx, 6
and cl, 7
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e0f], al
and ch, byte [rax + rax]
and ch, byte [rax + rax]
mov rbp, qword [rsp + 0x68]
lea rax, [0x140d16e04]
jmp 0x140a551d0
lea rax, [fcn.140a5afc0]
mov ecx, eax
xor ecx, 2
or eax, 2
xor edx, edx
add eax, ecx
sete dl
mov eax, edx
xor eax, 1
lea eax, [rdx + rax*2]
add eax, 2
movzx ecx, byte [0x140d16e1b]
bt ecx, eax
jb 0x140a54d2e
mov al, byte [0x140d16e1b]
lea rcx, [fcn.140a5afc0]
mov edx, ecx
xor edx, 2
or ecx, 2
xor ebp, ebp
add ecx, edx
sete bpl
mov ecx, ebp
xor ecx, 1
lea ecx, [rbp + rcx*2 + 2]
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e1b], dl
jne 0x140a54bcd
lea rcx, [fcn.140a5afc0]
mov edx, ecx
xor edx, 2
or ecx, 2
xor ebp, ebp
add ecx, edx
sete bpl
mov ecx, ebp
xor ecx, 1
lea ecx, [rbp + rcx*2 + 2]
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
mov rbp, qword [rsp + 0x68]
jae 0x140a54c65
lea rax, [fcn.140a5afc0]
mov ecx, eax
xor ecx, 2
or eax, 2
xor edx, edx
add eax, ecx
sete dl
mov eax, edx
xor eax, 1
lea eax, [rdx + rax*2]
add eax, 2
movzx ecx, byte [0x140d16e1b]
bt ecx, eax
jae 0x140a54c33
jmp 0x140a54d2e
lea rax, [fcn.140a5afc0]
mov ecx, eax
xor ecx, 2
or eax, 2
xor edx, edx
add eax, ecx
sete dl
mov eax, 0xc824a9da
or rax, rdx
not edx
and edx, 0x425
lea rdx, [rax + rdx*2]
mov eax, edx
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e1b]
bt ecx, eax
jb 0x140a54d00
lea rbp, [0x140d16e10]
xor eax, eax
mov ebx, dword [rbp]
xor ebx, edx
mov edi, edx
mov ecx, eax
shl edi, cl
xor cl, 0x1f
shr edx, cl
mov dword [rbp], ebx
or edx, edi
not ebx
imul edx, ebx
add rbp, 4
inc eax
cmp eax, 2
jne 0x140a54cab
lea rax, [fcn.140a5afc0]
mov ecx, eax
xor ecx, 2
or eax, 2
xor edx, edx
add eax, ecx
sete dl
mov eax, edx
xor eax, 1
lea ecx, [rdx + rax*2]
add ecx, 2
mov al, 1
shl al, cl
or byte [0x140d16e1b], al
mov rbp, qword [rsp + 0x68]
lea rax, [fcn.140a5afc0]
mov ecx, eax
xor ecx, 2
or eax, 2
xor edx, edx
add eax, ecx
sete dl
mov eax, edx
xor eax, 1
lea ecx, [rdx + rax*2]
add ecx, 2
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e1b], al
lea rax, [0x140d16e10]
jmp 0x140a551d0
lea rax, [fcn.1408ca1b0]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
sete al
or al, 4
add al, 4
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e2b]
bt ecx, eax
jb 0x140a54eab
mov al, byte [0x140d16e2b]
lea rcx, [fcn.1408ca1b0]
mov edx, ecx
not edx
and edx, 1
add edx, ecx
sete cl
or cl, 4
add cl, 4
and cl, 7
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e2b], dl
jne 0x140a54d6c
lea rcx, [fcn.1408ca1b0]
mov edx, ecx
not edx
and edx, 1
add edx, ecx
sete cl
or cl, 4
add cl, 4
and cl, 7
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a54df2
lea rax, [fcn.1408ca1b0]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
sete al
or al, 4
add al, 4
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e2b]
bt ecx, eax
jae 0x140a54dc5
jmp 0x140a54eab
lea rax, [fcn.1408ca1b0]
mov ecx, eax
not ecx
and ecx, 1
xor edx, edx
add ecx, eax
sete dl
mov eax, 0xd39f4d74
add rdx, rax
add rdx, 0x404
mov eax, edx
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e2b]
bt ecx, eax
jb 0x140a54e82
lea rbp, [0x140d16e1c]
xor eax, eax
mov ebx, dword [rbp]
xor ebx, edx
mov edi, edx
mov ecx, eax
shl edi, cl
xor cl, 0x1f
shr edx, cl
mov dword [rbp], ebx
or edx, edi
not ebx
imul edx, ebx
add rbp, 4
inc eax
cmp eax, 3
jne 0x140a54e32
lea rax, [fcn.1408ca1b0]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
sete cl
or cl, 4
add cl, 4
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16e2b], al
mov rbp, qword [rsp + 0x68]
lea rax, [fcn.1408ca1b0]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
sete cl
or cl, 4
add cl, 4
and cl, 7
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e2b], al
lea rax, [0x140d16e1c]
jmp 0x140a551d0
lea rax, [fcn.140a576b0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete al
not al
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e3b]
bt ecx, eax
jb 0x140a5501b
mov al, byte [0x140d16e3b]
lea rcx, [fcn.140a576b0]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
sete cl
not cl
and cl, 7
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e3b], dl
jne 0x140a54ee8
lea rcx, [fcn.140a576b0]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
sete cl
not cl
and cl, 7
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a54f67
lea rax, [fcn.140a576b0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete al
not al
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e3b]
bt ecx, eax
jae 0x140a54f3b
jmp 0x140a5501b
lea rax, [fcn.140a576b0]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov edx, 0xb0c0f84f
xor rdx, rax
add rdx, 0xd00
mov eax, edx
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e3b]
bt ecx, eax
jb 0x140a54ff5
lea rbp, [0x140d16e2c]
xor eax, eax
mov ebx, dword [rbp]
xor ebx, edx
mov edi, edx
mov ecx, eax
shl edi, cl
xor cl, 0x1f
shr edx, cl
mov dword [rbp], ebx
or edx, edi
not ebx
imul edx, ebx
add rbp, 4
inc eax
cmp eax, 3
jne 0x140a54fa8
lea rax, [fcn.140a576b0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete cl
not cl
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16e3b], al
mov rbp, qword [rsp + 0x68]
lea rax, [fcn.140a576b0]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
sete cl
not cl
and cl, 7
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e3b], al
lea rax, [0x140d16e2c]
jmp 0x140a551d0
lea rax, [0x140a53880]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, eax
not ecx
lea eax, [rax + rcx*2]
add eax, 4
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e4b]
bt ecx, eax
jb 0x140a551c9
mov al, byte [0x140d16e4b]
lea rcx, [0x140a53880]
mov edx, ecx
and edx, 1
xor edx, ecx
xor ecx, ecx
cmp edx, 0xffffffff
sete cl
mov edx, ecx
not edx
lea ecx, [rcx + rdx*2]
add ecx, 4
and cl, 7
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e4b], dl
jne 0x140a55062
lea rcx, [0x140a53880]
mov edx, ecx
and edx, 1
xor edx, ecx
xor ecx, ecx
cmp edx, 0xffffffff
sete cl
mov edx, ecx
not edx
lea ecx, [rcx + rdx*2]
add ecx, 4
and cl, 7
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a550ff
lea rax, [0x140a53880]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, eax
not ecx
lea eax, [rax + rcx*2]
add eax, 4
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e4b]
bt ecx, eax
jae 0x140a550c9
jmp 0x140a551c9
lea rax, [0x140a53880]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe82abfac
or rcx, rax
not eax
and eax, 3
lea rdx, [rcx + rax*2]
mov eax, edx
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e4b]
bt ecx, eax
jb 0x140a55199
lea rbp, [0x140d16e3c]
xor eax, eax
mov ebx, dword [rbp]
xor ebx, edx
mov edi, edx
mov ecx, eax
shl edi, cl
xor cl, 0x1f
shr edx, cl
mov dword [rbp], ebx
or edx, edi
not ebx
imul edx, ebx
add rbp, 4
inc eax
cmp eax, 3
jne 0x140a55142
lea rax, [0x140a53880]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, eax
not ecx
lea ecx, [rax + rcx*2]
add ecx, 4
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16e4b], al
mov rbp, qword [rsp + 0x68]
lea rax, [0x140a53880]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, eax
not ecx
lea ecx, [rax + rcx*2]
add ecx, 4
and cl, 7
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e4b], al
lea rax, [0x140d16e3c]
mov qword [rbp + 0x270], rax
mov r13, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
je case.default.0x140a53f9d
invalid
add byte [rax - 0x7d], cl
mov ebp, 0x108
add byte [rdi], cl
test byte [rsi - 0x16ffffe6], bl
mov ebx, 0x4800001a
mov eax, dword [rsp + 0x50]
cmp qword [rbp + 0x108], 0
je case.default.0x140a53f9d
jmp 0x140a56cbc
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
cmp qword [rbp + 0x108], 0
je case.default.0x140a53f9d
lea rax, [0x140a530c0]
imul eax, eax
and eax, 3
cmp eax, 1
seta al
or al, 6
movzx eax, al
movzx ecx, byte [0x140d16e5b]
bt ecx, eax
jb 0x140a55378
mov al, byte [0x140d16e5b]
lea rcx, [0x140a530c0]
imul ecx, ecx
and ecx, 3
cmp ecx, 1
seta cl
or cl, 6
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e5b], dl
jne 0x140a55254
lea rcx, [0x140a530c0]
imul ecx, ecx
and ecx, 3
cmp ecx, 1
seta cl
or cl, 6
xor cl, 7
movzx eax, al
movzx ecx, cl
bt eax, ecx
jae 0x140a552ca
lea rax, [0x140a530c0]
imul eax, eax
and eax, 3
cmp eax, 1
seta al
or al, 6
movzx eax, al
movzx ecx, byte [0x140d16e5b]
bt ecx, eax
jae 0x140a552a1
jmp 0x140a55378
lea rax, [0x140a530c0]
imul eax, eax
and eax, 3
xor ecx, ecx
cmp eax, 1
seta cl
mov eax, 0x829f5426
lea rdx, [rcx + rax]
add rdx, 0x4a0
mov eax, edx
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e5b]
bt ecx, eax
jb 0x140a55355
lea rbp, [0x140d16e4c]
xor eax, eax
mov ebx, dword [rbp]
xor ebx, edx
mov edi, edx
mov ecx, eax
shl edi, cl
xor cl, 0x1f
shr edx, cl
mov dword [rbp], ebx
or edx, edi
not ebx
imul edx, ebx
add rbp, 4
inc eax
cmp eax, 3
jne 0x140a5530b
lea rax, [0x140a530c0]
imul eax, eax
and eax, 3
cmp eax, 1
seta cl
or cl, 6
mov al, 1
shl al, cl
or byte [0x140d16e5b], al
mov rbp, qword [rsp + 0x68]
lea rax, [0x140a530c0]
imul eax, eax
and eax, 3
cmp eax, 1
seta cl
or cl, 6
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e5b], al
lea rax, [fcn.140a58530]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne al
sete cl
add cl, cl
or cl, al
movzx eax, cl
movzx ecx, byte [0x140d16e63]
bt ecx, eax
jb 0x140a554cc
mov al, byte [0x140d16e63]
lea rcx, [fcn.140a58530]
mov edx, ecx
and edx, 1
xor edx, ecx
xor ecx, ecx
cmp edx, 0xffffffff
sete cl
mov edx, ecx
xor edx, 1
lea ecx, [rdx + rcx*2]
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e63], dl
jne 0x140a553ac
lea rcx, [fcn.140a58530]
mov edx, ecx
and edx, 1
xor edx, ecx
xor ecx, ecx
cmp edx, 0xffffffff
sete cl
mov edx, ecx
xor edx, 1
lea ecx, [rdx + rcx*2]
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
jae 0x140a55438
lea rax, [fcn.140a58530]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne al
sete cl
add cl, cl
or cl, al
movzx eax, cl
movzx ecx, byte [0x140d16e63]
bt ecx, eax
jae 0x140a55409
jmp 0x140a554cc
lea rax, [fcn.140a58530]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne al
sete cl
add cl, cl
or cl, al
movzx eax, cl
movzx ecx, byte [0x140d16e63]
bt ecx, eax
jb 0x140a554a1
lea rax, [fcn.140a58530]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, 0x888b7ba9
xor rcx, rax
or eax, 0x404
and eax, 0x405
lea rcx, [rcx + rax*2]
xor dword [0x140d16e5c], ecx
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16e63], al
lea rax, [fcn.140a58530]
mov ecx, eax
and ecx, 1
xor ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
sete al
mov ecx, eax
xor ecx, 1
lea ecx, [rcx + rax*2]
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e63], al
lea rax, [0x140a53020]
mov ecx, eax
and ecx, 1
inc ecx
xor edx, edx
xor ecx, eax
sete dl
mov eax, edx
not eax
lea eax, [rax + rdx*2]
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e6b]
bt ecx, eax
mov rbx, qword [rsp + 0x60]
jb 0x140a55639
mov al, byte [0x140d16e6b]
lea rcx, [0x140a53020]
mov edx, ecx
and edx, 1
inc edx
xor ebp, ebp
xor edx, ecx
sete bpl
mov ecx, ebp
not ecx
lea ecx, [rcx + rbp*2]
and cl, 7
xor cl, 7
mov dl, 1
shl dl, cl
or dl, al
lock cmpxchg byte [0x140d16e6b], dl
jne 0x140a55508
lea rcx, [0x140a53020]
mov edx, ecx
and edx, 1
inc edx
xor ebp, ebp
xor edx, ecx
sete bpl
mov ecx, ebp
not ecx
lea ecx, [rcx + rbp*2]
and cl, 7
xor cl, 7
movzx ecx, cl
movzx eax, al
bt eax, ecx
mov rbp, qword [rsp + 0x68]
jae 0x140a555a0
lea rax, [0x140a53020]
mov ecx, eax
and ecx, 1
inc ecx
xor edx, edx
xor ecx, eax
sete dl
mov eax, edx
not eax
lea eax, [rax + rdx*2]
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e6b]
bt ecx, eax
jae 0x140a5556e
jmp 0x140a55639
lea rax, [0x140a53020]
mov ecx, eax
and ecx, 1
inc ecx
xor edx, edx
xor ecx, eax
sete dl
mov eax, edx
not eax
lea eax, [rax + rdx*2]
and al, 7
movzx eax, al
movzx ecx, byte [0x140d16e6b]
bt ecx, eax
jb 0x140a5560d
lea rax, [0x140a53020]
mov ecx, eax
and ecx, 1
inc ecx
xor edx, edx
xor ecx, eax
sete dl
mov eax, 0xcce36bcf
xor rax, rdx
or edx, 0x400
and edx, 0x401
lea rcx, [rax + rdx*2]
xor dword [0x140d16e64], ecx
and cl, 7
mov al, 1
shl al, cl
or byte [0x140d16e6b], al
lea rax, [0x140a53020]
mov ecx, eax
and ecx, 1
inc ecx
xor edx, edx
xor ecx, eax
sete dl
mov eax, edx
not eax
lea ecx, [rax + rdx*2]
and cl, 7
xor cl, 7
mov al, 0xfe
rol al, cl
and byte [0x140d16e6b], al
cmp r14d, 0x20
lea rax, [0x140d16e4c]
lea rcx, [0x140d16e64]
cmove rcx, rax
cmp qword [rbp + 0x270], 0
lea rsi, [0x140d16e5c]
cmove rsi, rcx
mov al, byte [rsi]
test al, al
je 0x140a556a8
mov rcx, qword [rbp + 0x318]
cmp rcx, qword [rbp + 0x310]
jne 0x140a55693
mov rcx, qword [rsp + 0x70]
call fcn.140a57b10
test al, al
je 0x140a53ffc
mov al, byte [rsi]
mov rcx, qword [rbp + 0x318]
lea rdx, [rcx + 1]
mov qword [rbp + 0x318], rdx
mov byte [rcx], al
mov al, byte [rsi + 1]
inc rsi
jmp 0x140a55664
mov edi, 1
cmp qword [rbp + 0x320], 0
je case.0x140a53f9d.3
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x70]
mov rdx, r13
mov r8, rbx
call fcn.140a57990
mov edi, 1
test rax, rax
je case.0x140a53f9d.3
invalid
add byte [rax - 0x75], cl
test dword [rax], esp
add eax, dword [rax]
add byte [rax - 0x77], cl
test dword [rax + 2], esi
add byte [rax], al
mov rax, qword [rbp + 0x320]
mov qword [rbp + 0x270], rax
jmp 0x140a56cbc
mov r13b, 1
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
je 0x140a55857
mov r9b, byte [rbp + 0x299]
mov r8b, byte [rbp + 0x298]
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x290]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], 0
call fcn.140a57a10
mov edi, 1
test eax, eax
je case.0x140a53f9d.3
cmp qword [rbp + 0x108], 0
mov rsi, qword [rsp + 0x60]
je 0x140a55857
mov rax, qword [rbp + 0x270]
test rax, rax
je 0x140a55857
mov cl, byte [rax]
cmp cl, 0x28
je 0x140a55782
cmp cl, 0x4e
jne 0x140a55811
cmp byte [rax + 1], 0x4f
jne 0x140a55811
mov rax, qword [rbp + 0x318]
cmp rax, qword [rbp + 0x310]
jne 0x140a557ab
mov rcx, qword [rsp + 0x70]
call fcn.140a57b10
test al, al
je 0x140a53ffc
mov rax, qword [rbp + 0x318]
lea rcx, [rax + 1]
mov qword [rbp + 0x318], rcx
mov byte [rax], 0x29
mov rax, qword [rbp + 0x318]
cmp rax, qword [rbp + 0x310]
jne 0x140a557e7
mov rcx, qword [rsp + 0x70]
call fcn.140a57b10
mov edi, 1
test al, al
je case.0x140a53f9d.3
mov rax, qword [rbp + 0x318]
lea rcx, [rax + 1]
mov qword [rbp + 0x318], rcx
mov byte [rax], 0
mov rax, qword [rbp + 0x318]
mov rcx, qword [rbp + 0x320]
mov qword [rbp + 0x270], rcx
mov qword [rbp + 0x320], rax
mov rax, qword [rsp + 0x78]
mov qword [rax], rsi
xor eax, eax
cmp r14d, 0x24
sete al
mov r9, qword [rbp + 0x270]
mov rcx, qword [rbp + 0x290]
mov r8, qword [rcx]
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rcx]
mov rcx, qword [rbp + 8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
call qword [rbp + 0x108]
xor r13d, r13d
mov rax, qword [rbp + 0x308]
test rax, rax
jne 0x140a55873
mov rax, qword [rbp + 0x300]
mov qword [rbp + 0x308], rax
jmp 0x140a55898
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140a55898
mov rdx, qword [rcx]
mov qword [rcx], rax
mov qword [rbp + 0x308], rcx
mov rax, rcx
mov rcx, rdx
test rdx, rdx
jne 0x140a55880
xor eax, eax
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x90]
and al, 0x90
add byte [rax], al
add byte [rax - 0x77], cl
adc byte [r15], cl
push rdi
ror byte [rdi], 0x11
add ecx, ebp
add dword [rbx], edx
add byte [rax], al
and al, 0x90
add byte [rax], al
add byte [rax - 0x77], cl
adc byte [r15], cl
push rdi
ror byte [rdi], 0x11
add ecx, ebp
add dword [rbx], edx
add byte [rax], al
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov rax, qword [rsp + 0x128]
movsxd r9, dword [r13 + 0x80]
sub rax, r9
add r9, qword [rsp + 0x60]
mov r8b, byte [rbp + 0x298]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 2
mov rcx, rbp
mov rdx, r13
call fcn.140a57cd0
test eax, eax
jne 0x140a53fbe
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xb8]
mov rsi, qword [rcx + 0xc0]
mov qword [rcx + 0xc0], rax
mov r8b, byte [rbp + 0x298]
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x290]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
xor r9d, r9d
call fcn.140a57a10
mov edi, 1
test eax, eax
je case.0x140a53f9d.3
cmp qword [rbp + 0x108], 0
je case.default.0x140a53f9d
mov rax, qword [rbp + 0x270]
test rax, rax
je case.default.0x140a53f9d
mov cl, byte [rax]
cmp cl, 0x28
mov rbx, qword [rsp + 0x60]
je 0x140a559a6
cmp cl, 0x4e
jne 0x140a55a35
cmp byte [rax + 1], 0x4f
jne 0x140a55a35
mov rax, qword [rbp + 0x318]
cmp rax, qword [rbp + 0x310]
jne 0x140a559cf
mov rcx, qword [rsp + 0x70]
call fcn.140a57b10
test al, al
je 0x140a53ffc
mov rax, qword [rbp + 0x318]
lea rcx, [rax + 1]
mov qword [rbp + 0x318], rcx
mov byte [rax], 0x29
mov rax, qword [rbp + 0x318]
cmp rax, qword [rbp + 0x310]
jne 0x140a55a0b
mov rcx, qword [rsp + 0x70]
call fcn.140a57b10
mov edi, 1
test al, al
je case.0x140a53f9d.3
mov rax, qword [rbp + 0x318]
lea rcx, [rax + 1]
mov qword [rbp + 0x318], rcx
mov byte [rax], 0
mov rax, qword [rbp + 0x318]
mov rcx, qword [rbp + 0x320]
mov qword [rbp + 0x270], rcx
mov qword [rbp + 0x320], rax
mov rax, qword [rsp + 0x78]
mov qword [rax], rbx
xor eax, eax
cmp r14d, 0x26
sete al
mov r9, qword [rbp + 0x270]
mov rcx, qword [rbp + 0x290]
mov r8, qword [rcx]
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rcx]
mov rcx, qword [rbp + 8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call qword [rbp + 0x108]
mov rax, qword [rbp + 0x308]
test rax, rax
je 0x140a54081
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140a540b6
mov rdx, qword [rcx]
mov qword [rcx], rax
mov qword [rbp + 0x308], rcx
or byte [rbx], al
add byte [rax], al
or byte [rbx], al
add byte [rax], al
mov rax, rcx
mov rcx, rdx
test rdx, rdx
jne 0x140a55a95
jmp 0x140a540b6
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov r9, qword [rsp + 0x128]
movsxd r8, dword [r13 + 0x80]
sub r9, r8
mov rsi, qword [rsp + 0x60]
add r8, rsi
mov dword [rsp + 0x20], 2
mov rcx, rbp
mov rdx, r13
call fcn.140a57d60
mov edi, eax
mov rax, qword [rbp + 0x250]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 0xf0]
test rax, rax
je 0x140a55b94
mov qword [rax + 8], rcx
mov eax, dword [rdx + 0xe8]
sub eax, dword [rdx + 0xf0]
mov rcx, qword [rbp + 0x250]
mov dword [rcx + 0x10], eax
mov rax, qword [rdx + 0xe8]
mov qword [rdx + 0xf0], rax
cmp qword [rbp + 0x110], 0
je 0x140a55b9b
mov rax, qword [rsp + 0x78]
mov qword [rax], rsi
mov rax, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x250]
mov ebx, dword [rcx + 0x10]
mov rdx, qword [rcx]
mov r9, qword [rcx + 8]
movzx r8d, byte [rcx + 0x39]
mov rcx, qword [rbp + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x40], 0
call qword [rbp + pe_nt_image_headers64]
xor r13d, r13d
jmp 0x140a55b9e
mov qword [rdx + 0xe8], rcx
call 0x181a55b9c
mov ch, 1
mov r13b, 1
test edi, edi
je 0x140a56bba
jmp case.0x140a53f9d.3
mov byte [rbp + 0x381], 0
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x101], 1
cmp qword [rbp + 0xa8], 0
je 0x140a55c11
mov r9, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x58]
movsxd r8, dword [rdx + 0x80]
sub r9, r8
add r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
call fcn.140a57270
mov qword [rbp + 0x260], rax
test rax, rax
je 0x140a53ffc
mov rax, qword [rbp + 0x318]
mov qword [rbp + 0x320], rax
xor r13d, r13d
jmp 0x140a55c22
lea rax, [0x140d16ddc]
mov qword [rbp + 0x260], rax
mov r13b, 1
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x102], 0
jne 0x140a55c53
cmp dword [rbp + 0x384], 0
jne 0x140a55c53
mov rax, qword [rbp + 0xd8]
test rax, rax
je 0x140a55c53
mov rcx, qword [rbp + 8]
call rax
test eax, eax
je 0x140a54407
cmp qword [rbp + 0x250], 0
jne 0x140a55c92
lea r8, [0x140d16ddc]
mov r9d, 0x40
mov rcx, rbp
mov ecx, ebp
mov rdx, qword [rsp + 0x88]
call fcn.140a572c0
mov qword [rbp + 0x250], rax
add al, byte [rax]
add byte [rax - 0x7b], cl
ror byte [rdi], 0x84
jb 0x140a55c6b
invalid
invalid
add al, byte [rax]
add byte [rax - 0x7b], cl
ror byte [rdi], 0x84
jb 0x140a55c6b
invalid
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
je 0x140a56bba
cmp qword [rbp + 0x250], 0
je 0x140a56bba
mov r9, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x58]
movsxd r8, dword [rdx + 0x80]
sub r9, r8
add r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
call fcn.140a57270
mov rcx, qword [rbp + 0x250]
mov qword [rcx + 0x18], rax
mov rax, qword [rbp + 0x250]
cmp qword [rax + 0x18], 0
je 0x140a53ffc
mov rcx, qword [rbp + 0x2a8]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xb8]
mov qword [rcx + 0xc0], rax
cmp r14d, 0xd
jne 0x140a56bba
mov rax, qword [rbp + 0x110]
test rax, rax
je 0x140a56bba
add byte [rax - 0x7b], cl
ror byte [rdi], 0x84
mov cl, byte [rsi]
add byte [rax], al
mov r13, qword [rsp + 0x58]
jmp 0x140a56cbc
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
cmp qword [rbp + 0x250], 0
je case.default.0x140a53f9d
cmp qword [rbp + 0x110], 0
je case.default.0x140a53f9d
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0x250]
mov rbp, qword [rax + 0x28]
mov rdx, qword [rax]
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x20]
movzx r8d, byte [rax + 0x39]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x38], rbp
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x20], 0
and al, 0x20
add byte [rax], al
add byte [rax], al
and al, 0x20
add byte [rax], al
add byte [rax], al
xor r9d, r9d
call qword [rbp + pe_nt_image_headers64]
jmp 0x140a56cbc
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
cmp qword [rbp + 0x250], 0
je case.default.0x140a53f9d
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x80]
mov rdx, r13
mov rsi, qword [rsp + 0x60]
mov r8, rsi
call fcn.140a57270
mov rcx, qword [rbp + 0x250]
mov qword [rcx + 0x30], rax
mov rax, qword [rbp + 0x250]
cmp qword [rax + 0x30], 0
je 0x140a53ffc
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xb8]
mov qword [rcx + 0xc0], rax
cmp qword [rbp + 0xb8], 0
je 0x140a55e82
mov rax, qword [rsp + 0x78]
mov qword [rax], rsi
mov rax, qword [rbp + 0x250]
movups xmm0, xmmword [rax + 0x28]
mov rdx, qword [rax]
mov r9, qword [rax + 0x18]
mov r8, qword [rax + 0x20]
mov rcx, qword [rbp + 8]
movups xmmword [rsp + 0x20], xmm0
call qword [rbp + 0xb8]
jmp 0x140a56cbc
cmp qword [rbp + 0x110], 0
je case.default.0x140a53f9d
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0x250]
mov rbp, qword [rax + 0x30]
mov rbx, qword [rax + 0x28]
mov rdx, qword [rax]
mov rdi, qword [rax + 0x18]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x40], rbp
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
xor r8d, r8d
jmp 0x140a55dc3
mov r8, qword [rsp + 0x128]
mov r13, qword [rsp + 0x58]
mov rcx, r13
mov rsi, qword [rsp + 0x60]
mov rdx, rsi
call qword [r13 + 0x58]
test eax, eax
je 0x140a55f19
mov qword [rbp + 0x250], 0
jmp case.default.0x140a53f9d
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x100], 0
je 0x140a55f88
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x80]
mov rdx, r13
mov r8, rsi
call fcn.140a57270
mov edi, 1
test rax, rax
je case.0x140a53f9d.3
mov rsi, rax
mov r9d, 0x40
mov rcx, rbp
mov rdx, qword [rsp + 0x50]
mov r8, rax
call fcn.140a572c0
mov edi, 1
mov qword [rbp + 0x250], rax
test rax, rax
je case.0x140a53f9d.3
cmp qword [rax], rsi
je 0x140a55f9b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xc0]
mov qword [rcx + 0xb8], rax
jmp 0x140a55f09
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xb8]
mov qword [rcx + 0xc0], rax
mov rax, qword [rbp + 0x250]
xor ecx, ecx
mov qword [rax + 0x28], rcx
mov rax, qword [rbp + 0x250]
mov byte [rax + 0x39], 0
mov al, 1
cmp qword [rbp + 0x370], rcx
jne 0x140a55fdc
cmp qword [rbp + 0x238], 0
setne al
xor al, 1
mov rcx, qword [rbp + 0x250]
mov byte [rcx + 0x3a], al
jmp 0x140a56c43
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x100], 0
je 0x140a56c7c
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x80]
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a57270
mov edi, 1
test rax, rax
je case.0x140a53f9d.3
mov rsi, rax
mov r9d, 0x40
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
mov r8, rax
call fcn.140a572c0
mov edi, 1
mov qword [rbp + 0x250], rax
test rax, rax
je case.0x140a53f9d.3
cmp qword [rax], rsi
jne 0x140a55f83
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xb8]
mov qword [rcx + 0xc0], rax
mov rax, qword [rbp + 0x250]
xor ecx, ecx
mov qword [rax + 0x28], rcx
mov rax, qword [rbp + 0x250]
mov byte [rax + 0x39], 1
jmp 0x140a55fc6
xorps xmm0, xmm0
mov rax, qword [rsp + 0xa8]
movups xmmword [rax], xmm0
cmp qword [rbp + 0xc0], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x70]
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a57270
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
test rax, rax
je 0x140a53ffc
invalid
dec dword [rax - 0x75]
test dword [rax], ebx
add eax, dword [rax]
add byte [rax - 0x77], cl
test dword [rax], esp
add eax, dword [rax]
add cl, ch
ror dword [rbx], 0
add byte [rbx + rcx*4 - 0x7c], cl
and al, 0x28
add dword [rax], eax
add byte [rbx + rcx*4 + 0x6c], cl
and al, 0x58
mov rax, qword [rbp + 0x318]
mov qword [rbp + 0x320], rax
jmp 0x140a56cbc
mov r8, qword [rsp + 0x128]
mov r13, qword [rsp + 0x58]
mov rcx, r13
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x98]
call qword [r13 + 0x68]
test eax, eax
je 0x140a54172
mov rax, qword [rsp + 0xa8]
cmp qword [rax], 0
je case.default.0x140a53f9d
mov r9, qword [rsp + 0x128]
movsxd rax, dword [r13 + 0x80]
sub r9, rax
mov r8, qword [rsp + 0x60]
add r8, rax
mov rcx, qword [rsp + 0x70]
mov rdx, r13
call fcn.140a57270
test rax, rax
je 0x140a53ffc
mov rsi, rax
mov rcx, rax
call fcn.140a575d0
mov qword [rbp + 0x280], rsi
jmp 0x140a560e8
mov r13b, 1
mov rax, qword [rsp + 0xa8]
cmp qword [rax], 0
je 0x140a56219
cmp qword [rbp + 0xc0], 0
mov rsi, qword [rsp + 0x60]
je 0x140a56219
mov r9, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x58]
movsxd r8, dword [rdx + 0x80]
sub r9, r8
add r8, rsi
mov rcx, qword [rsp + 0x70]
call fcn.140a57270
test rax, rax
je 0x140a53ffc
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rsi
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rcx + 0x280]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rcx + 0x2a8]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x278]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x20], rbp
mov rbp, qword [rsp + 0x68]
mov r9, rax
call qword [rbp + 0xc0]
xor r13d, r13d
mov rax, qword [rbp + 0x308]
test rax, rax
je 0x140a55863
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140a55898
mov rdx, qword [rcx]
mov qword [rcx], rax
mov qword [rbp + 0x308], rcx
or byte [rbx], al
add byte [rax], al
or byte [rbx], al
add byte [rax], al
mov rax, rcx
mov rcx, rdx
test rdx, rdx
jne 0x140a5623a
jmp 0x140a55898
mov r13b, 1
cmp qword [rbp + 0x280], 0
je 0x140a562a5
cmp qword [rbp + 0xc0], 0
mov rcx, qword [rsp + 0x60]
je 0x140a562a5
mov rax, qword [rsp + 0x78]
mov qword [rax], rcx
mov rax, qword [rbp + 0x280]
mov r8, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x278]
mov rcx, qword [rbp + 8]
mov qword [rsp + 0x20], rax
xor r13d, r13d
xor r9d, r9d
call qword [rbp + 0xc0]
mov rax, qword [rbp + 0x308]
test rax, rax
je 0x140a55863
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140a55898
mov rdx, qword [rcx]
mov qword [rcx], rax
mov qword [rbp + 0x308], rcx
or byte [rbx], al
add byte [rax], al
or byte [rbx], al
add byte [rax], al
mov rax, rcx
mov rcx, rdx
test rdx, rdx
jne 0x140a562c6
jmp 0x140a55898
cmp r15d, 0xc
mov eax, 0x11
mov ecx, 2
cmove ecx, eax
cmp r15d, 0x1c
mov edi, 0xa
cmovne edi, ecx
jmp case.0x140a53f9d.3
cmp qword [rbp + 0xa0], 0
mov r13, qword [rsp + 0x58]
je 0x140a5632c
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a53910
mov al, byte [rsp + 0x138]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x128]
mov rcx, rbp
mov rdx, r13
mov r9, qword [rsp + 0xa0]
call fcn.140a58230
test eax, eax
jne 0x140a53fbe
cmp qword [rsp + 0x128], 0
jne 0x140a56cbc
lea rax, [0x140a58390]
lea eax, [0x140a58390]
mov qword [rbp + 0x210], rax
xor edi, edi
jmp case.0x140a53f9d.3
mov edx, dword [rbp + 0x368]
cmp dword [rbp + 0x1f8], edx
mov r13, qword [rsp + 0x58]
jb 0x140a56412
test edx, edx
je 0x140a56477
mov edi, 1
js case.0x140a53f9d.3
add edx, edx
mov dword [rbp + 0x368], edx
mov rcx, qword [rbp + 0x360]
call qword [rbp + 0x20]
test rax, rax
jne 0x140a563d3
shr dword [rbp + 0x368], 1
jmp 0x140a53ffc
mov qword [rbp + 0x360], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x160]
test rcx, rcx
je 0x140a56412
mov edx, dword [rbp + 0x368]
shl rdx, 2
call qword [rbp + 0x20]
test rax, rax
mov edi, 1
je case.0x140a53f9d.3
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x160], rax
mov rax, qword [rbp + 0x360]
mov ecx, dword [rbp + 0x1f8]
xor edx, edx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x140], dl
je case.default.0x140a53f9d
mov rcx, rbp
call fcn.140a58410
test eax, eax
js 0x140a53ffc
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rbx + 0x160]
movsxd rdx, dword [rbx + 0x15c]
mov dword [rcx + rdx*4], eax
inc dword [rbx + 0x15c]
mov rcx, qword [rbx + 0x148]
cdqe
shl rax, 5
mov dword [rcx + rax], 6
jmp 0x140a564e0
mov dword [rbp + 0x368], 0x20
mov ecx, 0x20
call qword [rbp + 0x18]
mov qword [rbp + 0x360], rax
test rax, rax
jne 0x140a56412
test dword [rcx - 1], edi
invalid
invalid
test dword [rcx - 1], edi
invalid
mov dword [rbp + 0x368], 0
jmp 0x140a53ffc
mov rax, qword [rbp + 0x360]
mov ecx, dword [rbp + 0x1f8]
cmp byte [rax + rcx], 0x7c
jne 0x140a564c5
mov edi, 2
jmp case.0x140a53f9d.3
mov byte [rax + rcx], 0x2c
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x140], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
invalid
add byte [rax - 0x7d], cl
mov ebp, 0x100
add byte [rdi], cl
test byte [rdi + rax - 0x36170000], ch
invalid
cmp qword [rbp + 0x100], 0
je case.default.0x140a53f9d
jmp 0x140a56cbc
mov rax, qword [rbp + 0x360]
mov ecx, dword [rbp + 0x1f8]
mov dl, byte [rax + rcx]
cmp dl, 0x2c
je 0x140a564bb
mov r13b, 1
test dl, dl
jne 0x140a56569
mov rbx, qword [rsp + 0x50]
mov dl, byte [rbx + 0x140]
test dl, dl
je 0x140a56569
mov rdx, qword [rbx + 0x148]
mov rbp, qword [rbx + 0x160]
movsxd rbx, dword [rbx + 0x15c]
movsxd rbp, dword [rbp + rbx*4 - 4]
shl rbp, 5
cmp dword [rdx + rbp], 3
je 0x140a56569
add rdx, rbp
mov dword [rdx], 5
mov rcx, qword [rsp + 0x68]
cmp qword [rcx + 0x100], 0
sete r13b
mov rax, qword [rcx + 0x360]
and dword [rax + 3], 0x898b0000
clc
add dword [rax], eax
invalid
add byte [rcx + 0xf], al
xchg esp, eax
invalid
and dword [rax + 3], 0x898b0000
clc
add dword [rax], eax
add dh, al
add al, 8
jl 0x140a56557
mov byte [rax + rcx], 0x7c
jmp 0x140a56a47
invalid
mov rcx, qword [rsp + 0x50]
mov byte [rcx + 0x101], 1
cmp dword [rbp + 0x384], 0
jne 0x140a565c1
mov al, byte [rcx + 0x102]
mov byte [rcx + 0x100], al
mov r13b, 1
test al, al
jne 0x140a56bba
mov rdx, qword [rbp + 0xd8]
test rdx, rdx
je 0x140a56bba
mov rcx, qword [rbp + 8]
call rdx
test eax, eax
je 0x140a54407
jmp 0x140a56bba
mov r9, qword [rsp + 0x128]
mov r13, qword [rsp + 0x58]
movsxd r8, dword [r13 + 0x80]
sub r9, r8
add r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov rdx, r13
call fcn.140a57270
test rax, rax
je 0x140a53ffc
mov rsi, rax
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
mov r8, rax
xor r9d, r9d
call fcn.140a572c0
mov r15, rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xc0]
mov qword [rcx + 0xb8], rax
cmp dword [rbp + 0x204], 0
je 0x140a56646
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x102], 0
je 0x140a5668a
cmp qword [rbp + 0x238], 0
je 0x140a56693
test r15, r15
jne 0x140a566b3
mov rcx, qword [rsp + 0x50]
mov al, byte [rcx + 0x102]
mov byte [rcx + 0x100], al
cmp r14d, 0x3c
jne case.default.0x140a53f9d
mov rax, qword [rbp + 0xf0]
test rax, rax
je case.default.0x140a53f9d
mov rcx, qword [rbp + 8]
mov rdx, rsi
mov r8d, 1
call rax
jmp 0x140a56cbc
cmp byte [rax + 0x101], 0
jne 0x140a56646
test r15, r15
jne 0x140a566a2
mov edi, 0xb
jmp case.0x140a53f9d.3
cmp byte [r15 + 0x3a], 0
jne 0x140a566b3
mov edi, 0x18
jmp case.0x140a53f9d.3
cmp byte [r15 + 0x38], 0
je 0x140a566c4
mov edi, 0xc
jmp case.0x140a53f9d.3
cmp qword [r15 + 8], 0
je 0x140a566eb
cmp r14d, 0x3c
sete r8b
mov rcx, rbp
mov rdx, r15
call fcn.140a58530
test eax, eax
jne 0x140a53fbe
jmp 0x140a56cbc
cmp qword [rbp + 0xe0], 0
je 0x140a567ae
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x103], 0
mov byte [r15 + 0x38], 1
mov rcx, rbp
mov rax, rcx
mov rcx, qword [rcx + 0x370]
test rcx, rcx
jne 0x140a5670d
inc dword [rax + 0x3b0]
mov edx, dword [rax + 0x3b4]
mov ecx, dword [rax + 0x3b8]
inc edx
mov dword [rax + 0x3b4], edx
cmp edx, ecx
jbe 0x140a56742
inc ecx
mov dword [rax + 0x3b8], ecx
mov rax, qword [r15 + 0x28]
mov r9, qword [r15 + 0x18]
mov r8, qword [r15 + 0x20]
mov rcx, qword [rbp + 0xe8]
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [rbp + 0xe0]
mov rdx, rbp
mov rcx, rdx
mov rdx, qword [rdx + 0x370]
test rdx, rdx
jne 0x140a56765
dec dword [rcx + 0x3b4]
mov byte [r15 + 0x38], 0
test eax, eax
je 0x140a543d5
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x103], 0
mov al, byte [rcx + 0x102]
je 0x140a567a3
xor r13d, r13d
jmp 0x140a56596
mov byte [rcx + 0x100], al
jmp 0x140a56cbc
mov rcx, qword [rsp + 0x50]
and al, 0x50
mov al, byte [rcx + 0x102]
mov byte [rcx + 0x100], al
jmp case.default.0x140a53f9d
cmp qword [rbp + 0x100], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a576b0
mov qword [rbp + 0x288], rax
test rax, rax
je 0x140a53ffc
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x158], 0
pop rax
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add dh, al
add byte [rax + 1], 0
add byte [rcx], al
pop rax
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add dh, al
add byte [rax + 1], 0
add byte [rcx], al
jmp 0x140a56cbc
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x140], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
cmp qword [rbp + 0x100], 0
jne 0x140a56841
mov r13b, 1
jmp 0x140a56895
mov ecx, 0x20
call qword [rbp + 0x18]
test rax, rax
je 0x140a53ffc
mov qword [rax + 0x18], 0
xor ecx, ecx
cmp r14d, 0x29
sete cl
inc ecx
xorps xmm0, xmm0
movups xmmword [rax + 4], xmm0
mov dword [rax], ecx
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rcx]
mov rcx, qword [rbp + 8]
mov r8, rax
call qword [rbp + 0x100]
xor r13d, r13d
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x140], 0
jmp 0x140a56bba
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x140], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 0x148]
mov rcx, qword [rdx + 0x160]
movsxd rdx, dword [rdx + 0x15c]
movsxd rcx, dword [rcx + rdx*4 - 4]
invalid
xchg rcx, rax
cld
shl rcx, 5
add eax, 0x30804c7
add byte [rax], al
add cl, ch
hlt
sti
invalid
invalid
invalid
add eax, 0x30804c7
add byte [rax], al
add cl, ch
hlt
invalid
mov ebx, 1
jmp 0x140a568ff
mov ebx, 2
jmp 0x140a568ff
mov ebx, 3
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x140], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov r14, qword [rsp + 0x128]
test ebx, ebx
je 0x140a5692c
movsxd rax, dword [r13 + 0x80]
sub r14, rax
mov rcx, rbp
call fcn.140a58410
mov edi, 1
test eax, eax
js case.0x140a53f9d.3
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi + 0x148]
movsxd rdi, eax
shl rdi, 5
mov dword [rdx + rdi], 4
mov rax, qword [rsi + 0x148]
mov dword [rax + rdi + 4], ebx
mov rcx, rbp
mov rdx, r13
mov r8, qword [rsp + 0x60]
mov r9, r14
call fcn.140a576b0
test rax, rax
je 0x140a53ffc
mov rcx, qword [rax]
mov rax, qword [rsi + 0x148]
mov qword [rax + rdi + 8], rcx
xor eax, eax
cmp byte [rcx + rax], 0
lea rax, [rax + 1]
jne 0x140a56993
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x150]
mov edx, 0xffffffff
xor rdx, rcx
cmp rax, rdx
mov rbp, qword [rsp + 0x68]
mov edi, 1
ja case.0x140a53f9d.3
add byte [rax], al
add byte [rax], al
add eax, ecx
mov rcx, qword [rsp + 0x50]
and al, 0x50
and al, 0x50
mov dword [rcx + 0x150], eax
jmp 0x140a564e0
invalid
add cl, ch
or edi, ebx
invalid
invalid
mov ebx, 1
jmp 0x140a569e8
mov ebx, 2
jmp 0x140a569e8
mov ebx, 3
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x140], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
mov rax, qword [rbp + 0x100]
test rax, rax
sete r13b
mov rsi, qword [rsp + 0x50]
movsxd rcx, dword [rsi + 0x15c]
lea rdx, [rcx - 1]
mov dword [rsi + 0x15c], edx
mov rdx, qword [rsi + 0x148]
mov rbp, qword [rsi + 0x160]
movsxd rcx, dword [rbp + rcx*4 - 4]
shl rcx, 5
mov dword [rdx + rcx + 4], ebx
cmp dword [rsi + 0x15c], 0
je 0x140a56a51
mov rbp, qword [rsp + 0x68]
jmp 0x140a56bba
test rax, rax
mov rbp, qword [rsp + 0x68]
je 0x140a56ba4
mov r14, qword [rbp + 0x2a0]
mov ecx, dword [r14 + 0x150]
mov eax, dword [r14 + 0x158]
shl rax, 5
add rcx, rax
call qword [rbp + 0x18]
test rax, rax
je 0x140a53ffc
mov r8d, dword [r14 + 0x158]
shl r8, 5
add r8, rax
mov dword [rax + 0x10], 0
cmp r8, rax
mov rbx, qword [rsp + 0x60]
jbe 0x140a56b85
mov rdx, rax
add rdx, 0x20
mov rcx, r8
mov r9, rax
movsxd rdi, dword [r9 + 0x10]
mov rbp, qword [r14 + 0x148]
shl rdi, 5
mov ebp, dword [rbp + rdi]
mov dword [r9], ebp
mov rsi, qword [r14 + 0x148]
mov esi, dword [rsi + rdi + 4]
mov dword [r9 + 4], esi
cmp ebp, 4
jne 0x140a56b13
mov qword [r9 + 8], rcx
mov rbp, qword [r14 + 0x148]
mov rdi, qword [rbp + rdi + 8]
mov bl, byte [rdi]
mov byte [rcx], bl
inc rcx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x140a56af1
mov dword [r9 + 0x10], 0
mov qword [r9 + 0x18], 0
jmp 0x140a56b6e
mov qword [r9 + 8], 0
mov rbp, qword [r14 + 0x148]
mov ebp, dword [rbp + rdi + 0x18]
mov dword [r9 + 0x10], ebp
mov qword [r9 + 0x18], rdx
test ebp, ebp
jne 0x140a56b39
mov rbp, qword [rsp + 0x68]
jmp 0x140a56b78
mov rbp, qword [r14 + 0x148]
add rbp, rdi
add rbp, 0x10
xor edi, edi
movsxd rbp, dword [rbp]
mov dword [rdx + 0x10], ebp
add rdx, 0x20
inc edi
mov rbx, qword [r14 + 0x148]
shl rbp, 5
add rbp, rbx
add rbp, 0x1c
cmp edi, dword [r9 + 0x10]
jb 0x140a56b49
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
add r9, 0x20
cmp r9, r8
jb 0x140a56ab7
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rbx
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rcx]
mov rcx, qword [rbp + 8]
mov r8, rax
call qword [rbp + 0x100]
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x140], 0
add dword [rax], eax
add byte [rax], al
add dword [rax], eax
add byte [rax], al
mov dword [rax + 0x150], 0
test r13b, r13b
jmp 0x140a56c0c
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov r8, qword [rsp + 0x60]
and al, 0x60
and al, 0x60
call fcn.140a58710
test eax, eax
je 0x140a53ffc
jmp 0x140a56cbc
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a58860
jmp 0x140a56bdc
cmp r15d, 0xe
mov r13, qword [rsp + 0x58]
jne case.default.0x140a53f9d
jmp 0x140a56cbc
cmp qword [rbp + 0xa8], 0
mov r13, qword [rsp + 0x58]
je case.default.0x140a53f9d
jmp 0x140a56cbc
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
add byte [rbx + rcx*4 + 0x6c], cl
and al, 0x58
add byte [rbx + rcx*4 + 0x6c], cl
and al, 0x58
je case.default.0x140a53f9d
cmp qword [rbp + 0x110], 0
je case.default.0x140a53f9d
mov ebp, pe_nt_image_headers64
add byte [rbp + rcx*2 - 0x15], dh
insd dword [rdi], dx
jmp 0x140a56cbc
cmp qword [rbp + 0xc0], 0
jmp 0x140a56c24
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x100], 0
mov r13, qword [rsp + 0x58]
jne 0x140a551ee
jmp case.default.0x140a53f9d
cmp qword [rbp + 0x100], 0
jmp 0x140a56c24
mov rax, qword [rcx + 0xc0]
mov qword [rcx + 0xb8], rax
mov qword [rbp + 0x250], 0
mov r13, qword [rsp + 0x58]
cmp qword [rbp + 0xa0], 0
je 0x140a56cbc
mov r9, qword [rsp + 0x128]
mov rcx, rbp
mov rdx, r13
mov r8, qword [rsp + 0x60]
call fcn.140a53910
mov eax, dword [rbp + 0x378]
cmp eax, 2
jne 0x140a56cce
mov edi, 0x23
jmp case.0x140a53f9d.3
cmp eax, 3
jne 0x140a56cea
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
mov qword [rcx], rax
xor edi, edi
jmp case.0x140a53f9d.3
mov rsi, qword [rsp + 0x128]
mov rcx, r13
mov rdx, rsi
mov r8, qword [rsp + 0xa0]
lea r9, [rsp + 0x128]
call qword [r13]
mov r15d, eax
jmp 0x140a53d14
mov edi, 6
mov eax, edi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret