Function at 0x1c204
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x398
mov rax, qword [0x00017100]
xor rax, rsp
mov qword [rsp + 0x380], rax
mov rbp, rdx
xor edx, edx
mov r15, r8
mov rdi, rcx
movabs rbx, 0xfffff78000000320
lea r8d, [rdx + 0x58]
mov rbx, qword [rbx]
lea rcx, [rsp + 0x130]
mov r14, r9
mov qword [rsp + 0x48], r9
call fcn.000163a0
mov rcx, rbp
xor esi, esi
xor r12b, r12b
call fcn.0001a36c
movzx ecx, byte [rbp]
lea r11d, [rsi + 1]
cmp ecx, 0x15
mov byte [rsp + 0x131], r11b
jg 0x1cf08
je 0x1ceba
test ecx, ecx
je 0x1ce96
lea r13d, [rsi + 2]
sub ecx, r13d
je 0x1ce6c
sub ecx, r11d
je 0x1ce0a
sub ecx, r13d
je 0x1cdeb
sub ecx, 0xb
je 0x1cd6d
sub ecx, r11d
je 0x1cce3
sub ecx, r11d
je 0x1ca00
sub ecx, r11d
je 0x1c325
cmp ecx, r11d
jne 0x1d1c7
movzx eax, byte [rbp + 1]
cmp byte [rax + rdi + 0x29c], sil
jne 0x1d1bf
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
mov eax, 0xabcd
mov word [rsp + 0x132], ax
mov eax, 0x1234
mov word [rsp + 0x134], ax
movzx eax, byte [rbp + 1]
mov byte [rax + rdi + 0x29c], sil
jmp 0x1d1a7
cmp byte [rdi + 0x9b], sil
jne 0x1c5bc
movzx eax, byte [rbp + 1]
xor edx, edx
mov byte [rsp + 0x131], sil
cmp byte [rax + rdi + 0x29c], 3
lea r8d, [rdx + 0x38]
jne 0x1c522
lea rcx, [rsp + 0xc0]
call fcn.000163a0
movzx esi, byte [rdi + 0x3dc]
mov r11d, dword [rbp + 2]
mov dword [rsp + 0xc0], r11d
movsxd rcx, esi
test esi, esi
js 0x1c3a2
lea r8, [rdi + rcx*2 + 0x39c]
add rcx, r13
lea rdx, [rsp + 0xc4]
shr rcx, 1
mov eax, dword [r8]
sub r8, 4
mov dword [rdx], eax
add rdx, 4
sub rcx, 1
jne 0x1c38f
movzx eax, byte [rbp + 1]
movzx r10d, word [rdi + 0xa8]
movzx edx, word [rdi + 0xa4]
movzx ecx, word [rdi + rax*2 + 0x9e]
movzx eax, word [rdi + rax*2 + 0x9c]
shl ecx, 0x10
or ecx, eax
bt ecx, 0x1f
jae 0x1c4de
bt ecx, 0x1e
mov r9d, 0xc000
jb 0x1c412
and ecx, 0x3fff3fff
mov eax, edx
shl eax, 0x10
or ecx, r9d
or eax, edx
mov dword [rsp + 0x74], ecx
or eax, r9d
mov dword [rsp + 0x6c], eax
test cl, 1
je 0x1c408
bts ecx, 0x1e
mov dword [rsp + 0x74], ecx
and dword [rsp + 0x68], 0
jmp 0x1c4c7
mov r8d, ecx
movzx edx, cx
shr r8d, 0x10
and r8d, 0x3fff
mov ecx, r8d
or ecx, r9d
mov eax, ecx
shr ecx, 1
shl eax, 0xf
or eax, ecx
movzx ecx, ax
mov eax, ecx
shr eax, 0xf
xor eax, ecx
and ecx, 0xfffe
and eax, 1
or eax, ecx
mov dword [rsp + 0x70], eax
test r8b, 0xf
jne 0x1c455
or r8d, 0x10
mov ecx, 0x1e0
test ecx, r8d
jne 0x1c464
bts r8d, 9
mov r9d, 0x3c00
test r9d, r8d
jne 0x1c474
bts r8d, 0xe
bt edx, 0xf
jae 0x1c47f
bts r8d, 0xe
mov eax, r8d
shl eax, 2
or eax, 3
mov dword [rsp + 0x74], eax
test dl, 0xf
jne 0x1c494
or edx, 0x10
test ecx, edx
jne 0x1c49c
bts edx, 9
test r9d, edx
jne 0x1c4a5
bts edx, 0xe
xor edx, 1
mov eax, r10d
mov dword [rsp + 0x68], 1
and edx, 0x7fff
shl eax, 2
or eax, 3
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x6c], eax
lea r8, [rsp + 0x68]
lea rcx, [rsp + 0xc0]
mov edx, 0xe
call fcn.0001f470
xor ecx, ecx
lea r11d, [rcx + 1]
test esi, esi
js 0x1c514
lea rcx, [rsi + 2]
lea rdx, [rsp + 0xc0]
lea r8, [rdi + rsi*2 + 0x39c]
shr rcx, 1
mov r9, rcx
mov eax, dword [rdx]
add rdx, 4
mov dword [r8], eax
sub r8, 4
sub r9, r11
jne 0x1c502
mov eax, ecx
mov ecx, dword [rsp + rax*4 + 0xc0]
jmp 0x1c5b5
lea rcx, [rsp + 0xf8]
call fcn.000163a0
mov r11d, dword [rbp + 2]
movzx r9d, byte [rdi + 0x3dc]
mov dword [rsp + 0xf8], r11d
movsxd rcx, r9d
mov r11d, 1
test r9d, r9d
js 0x1c579
lea r8, [rdi + rcx*2 + 0x39c]
add rcx, r13
lea rdx, [rsp + 0xfc]
shr rcx, 1
mov eax, dword [r8]
sub r8, 4
mov dword [rdx], eax
add rdx, 4
sub rcx, r11
jne 0x1c567
xor ecx, ecx
test r9d, r9d
js 0x1c5ac
lea rcx, [r9 + 2]
lea r8, [rdi + r9*2 + 0x39c]
lea rdx, [rsp + 0xf8]
shr rcx, 1
mov r9, rcx
mov eax, dword [rdx]
add rdx, 4
mov dword [r8], eax
sub r8, 4
sub r9, r11
jne 0x1c59a
mov eax, ecx
mov ecx, dword [rsp + rax*4 + 0xf8]
mov dword [rsp + 0x132], ecx
cmp byte [rdi + 0x9b], r11b
jne 0x1c9f8
mov eax, dword [r15]
mov esi, 8
mov byte [rsp + 0x131], 0
and eax, 0xfffffff8
mov r14d, r11d
cmp eax, esi
jbe 0x1c602
mov r12d, esi
mov ecx, r12d
add rcx, rbp
call fcn.0001a36c
mov eax, dword [r15]
inc r14d
shr eax, 3
add r12d, esi
cmp r14d, eax
jb 0x1c5e6
mov r12d, 0x50
lea rcx, [rsp + 0x190]
xor edx, edx
mov r8, r12
call fcn.000163a0
lea rcx, [rsp + 0x1e0]
mov r8, r12
xor edx, edx
call fcn.000163a0
mov r14d, dword [r15]
mov r11d, dword [rbp + 2]
mov r9d, r14d
mov dword [rsp + 0x1e0], r11d
shr r9d, 3
cmp r9d, 1
jbe 0x1c67d
mov r10d, r14d
xor r8d, r8d
lea rdx, [rbp + 8]
shr r10d, 3
dec r10d
mov eax, dword [rdx]
mov dword [rsp + r8 + 0x190], eax
movzx eax, word [rdx + 4]
add rdx, rsi
mov word [rsp + r8 + 0x194], ax
add r8d, 6
sub r10, 1
jne 0x1c659
lea eax, [r9 + r9]
sub r14d, eax
mov al, byte [rbp + 6]
and al, 6
sub r14d, r13d
cmp al, 4
jne 0x1c694
add r14d, 0xfffffffe
mov r8d, 0xfffffffc
cmp al, r13b
jne 0x1c6a2
add r14d, r8d
mov r12d, r14d
or r13d, 0xffffffff
mov r11b, 1
shr r12d, 2
lea edx, [r12 - 1]
test edx, edx
je 0x1c6df
lea r10d, [rdx*4 - 4]
mov eax, dword [rsp + r10 + 0x190]
movzx ecx, r11b
inc r11b
add r10d, r8d
add edx, r13d
mov dword [rsp + rcx*4 + 0x1e0], eax
jne 0x1c6c1
movzx ebp, byte [rbp + 1]
cmp byte [rdi + rbp + 0x29c], 3
jne 0x1c93e
mov r13d, 0x50
lea rcx, [rsp + 0x190]
xor edx, edx
mov r8, r13
call fcn.000163a0
lea rcx, [rsp + 0x230]
mov r8, r13
xor edx, edx
call fcn.000163a0
xor r13d, r13d
cmp r14d, r13d
jbe 0x1c742
mov rcx, r13
mov edx, r14d
mov al, byte [rsp + rcx + 0x1e0]
inc rcx
xor al, 0x69
sub rdx, 1
mov byte [rsp + rcx + 0x22f], al
jne 0x1c729
lea rax, [0x0001fa90]
lea r9, [rdi + 0x14f0]
lea r8, str.RegistryMACHINESystemCurrentControlSetutool
lea rdx, [0x0001faa0]
lea rcx, [rsp + 0x280]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_swprintf]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea rax, [rsp + 0xb0]
lea r8, [rsp + 0x80]
lea rcx, [rsp + 0x40]
mov edx, 0x20019
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x80], 0x30
mov qword [rsp + 0x88], r13
mov dword [rsp + 0x98], 0x40
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], r13
call qword [sym.imp.ntoskrnl.exe_ZwOpenKey]
test eax, eax
js 0x1c87a
lea rcx, [rsp + 0x280]
xor edx, edx
mov r8d, 0x100
call fcn.000163a0
test r12d, r12d
je 0x1c852
lea rbp, [rsp + 0x1e2]
mov r13d, r12d
movzx eax, byte [rbp + 1]
movzx ecx, byte [rbp]
movzx edx, byte [rbp - 1]
movzx r9d, byte [rbp - 2]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
lea r8, [rsp + 0x280]
lea rcx, [rsp + 0x280]
lea rdx, [0x0001fac0]
call qword [sym.imp.ntoskrnl.exe_swprintf]
add rbp, 4
sub r13, 1
jne 0x1c80e
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x230]
lea rdx, [rsp + 0x280]
mov r9d, r14d
call fcn.00013ec8
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
xor r8b, r8b
mov r11d, 1
test r12d, r12d
je 0x1c8ae
lea edx, [r12*4 - 4]
mov eax, dword [rsp + rdx + 0x230]
movzx ecx, r8b
add r8b, r11b
add edx, 0xfffffffc
add r12d, 0xffffffff
mov dword [rsp + rcx*4 + 0x190], eax
jne 0x1c890
mov eax, dword [rsp + 0x190]
mov r13d, r11d
mov dword [rsp + 0x132], eax
mov eax, dword [r15]
and eax, 0xfffffff8
cmp eax, esi
jbe 0x1c9f3
mov r14d, 6
xor r12d, r12d
mov ebp, 0x4d2
lea eax, [r14 - 2]
lea rcx, [rsp + r12 + 0x138]
movzx r8d, r13w
mov edx, eax
mov eax, dword [rsp + rax + 0x190]
imul r8w, bp
mov dword [rcx], eax
movzx eax, word [rsp + rdx + 0x194]
xor r8w, bx
mov word [rcx + 4], ax
lea eax, [r12 + 6]
mov word [rsp + rax + 0x138], r8w
call fcn.0001a36c
mov eax, dword [r15]
mov r11d, 1
shr eax, 3
add r14d, 6
add r13d, r11d
add r12d, esi
cmp r13d, eax
jb 0x1c8db
jmp 0x1c9f3
xor r8b, r8b
mov r11d, 1
test r12d, r12d
je 0x1c971
lea edx, [r12*4 - 4]
mov eax, dword [rsp + rdx + 0x1e0]
movzx ecx, r8b
add r8b, r11b
add edx, 0xfffffffc
add r12d, r13d
mov dword [rsp + rcx*4 + 0x190], eax
jne 0x1c954
mov eax, dword [rsp + 0x190]
mov r13d, r11d
mov dword [rsp + 0x132], eax
cmp r9d, r11d
jbe 0x1c9f3
mov r14d, 6
xor r12d, r12d
mov ebp, 0x4d2
lea eax, [r14 - 2]
lea rcx, [rsp + r12 + 0x138]
movzx r8d, r13w
mov edx, eax
mov eax, dword [rsp + rax + 0x190]
imul r8w, bp
mov dword [rcx], eax
movzx eax, word [rsp + rdx + 0x194]
xor r8w, bx
mov word [rcx + 4], ax
lea eax, [r12 + 6]
mov word [rsp + rax + 0x138], r8w
call fcn.0001a36c
mov eax, dword [r15]
mov r11d, 1
shr eax, 3
add r14d, 6
add r13d, r11d
add r12d, esi
cmp r13d, eax
jb 0x1c995
mov r14, qword [rsp + 0x48]
mov esi, dword [r15]
jmp 0x1d1c4
cmp byte [rdi + 0x9b], sil
jne 0x1cb77
movzx eax, byte [rbp + 1]
mov byte [rsp + 0x131], sil
cmp byte [rax + rdi + 0x29c], 3
jne 0x1cb5f
movzx eax, byte [rbp + 1]
movzx r10d, word [rdi + 0xa8]
movzx edx, word [rdi + 0xa4]
movzx ecx, word [rdi + rax*2 + 0x9e]
movzx eax, word [rdi + rax*2 + 0x9c]
shl ecx, 0x10
or ecx, eax
bt ecx, 0x1f
jae 0x1cb5f
bt ecx, 0x1e
mov r9d, 0xc000
jb 0x1ca96
and ecx, 0x3fff3fff
mov eax, edx
shl eax, 0x10
or ecx, r9d
or eax, edx
mov dword [rsp + 0x5c], ecx
or eax, r9d
mov dword [rsp + 0x54], eax
test r11b, cl
je 0x1ca8d
bts ecx, 0x1e
mov dword [rsp + 0x5c], ecx
and dword [rsp + 0x50], esi
jmp 0x1cb48
mov r8d, ecx
movzx edx, cx
shr r8d, 0x10
and r8d, 0x3fff
mov ecx, r8d
or ecx, r9d
mov eax, ecx
shr ecx, 1
shl eax, 0xf
or eax, ecx
movzx ecx, ax
mov eax, ecx
shr eax, 0xf
xor eax, ecx
and ecx, 0xfffe
and eax, r11d
or eax, ecx
mov dword [rsp + 0x58], eax
test r8b, 0xf
jne 0x1cad9
or r8d, 0x10
mov ecx, 0x1e0
test ecx, r8d
jne 0x1cae8
bts r8d, 9
mov r9d, 0x3c00
test r9d, r8d
jne 0x1caf8
bts r8d, 0xe
bt edx, 0xf
jae 0x1cb03
bts r8d, 0xe
mov eax, r8d
shl eax, 2
or eax, 3
mov dword [rsp + 0x5c], eax
test dl, 0xf
jne 0x1cb18
or edx, 0x10
test ecx, edx
jne 0x1cb20
bts edx, 9
test r9d, edx
jne 0x1cb29
bts edx, 0xe
xor edx, r11d
mov eax, r10d
mov dword [rsp + 0x50], r11d
and edx, 0x7fff
shl eax, 2
or eax, 3
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x54], eax
lea rcx, [rbp + 2]
lea r8, [rsp + 0x50]
mov edx, r11d
call fcn.0001f470
mov r11d, 1
movzx eax, word [rbp + 2]
mov word [rsp + 0x132], ax
movzx eax, word [rbp + 4]
mov word [rsp + 0x134], ax
cmp byte [rdi + 0x9b], r11b
jne 0x1d1bf
mov eax, dword [rbp + 2]
mov byte [rsp + 0x131], sil
mov dword [rsp + 0x132], eax
movzx eax, byte [rbp + 1]
cmp byte [rax + rdi + 0x29c], 3
jne 0x1d1bf
mov ecx, 0x69ad
mov dword [rsp + 0x28], eax
lea rax, [0x0001fa90]
xor word [rsp + 0x132], cx
mov ecx, 0x5c9f
lea r9, [rdi + 0x14f0]
xor word [rsp + 0x134], cx
lea r8, str.RegistryMACHINESystemCurrentControlSetutool
lea rdx, [0x0001faa0]
lea rcx, [rsp + 0x280]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_swprintf]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
xor ecx, ecx
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rcx
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x80]
mov edx, 0x20019
mov dword [rsp + 0x80], 0x30
mov dword [rsp + 0x98], 0x40
mov qword [rsp + 0x90], rax
call qword [sym.imp.ntoskrnl.exe_ZwOpenKey]
test eax, eax
js 0x1ccd8
lea rcx, [rsp + 0x280]
xor edx, edx
mov r8d, 0x100
call fcn.000163a0
movzx r11d, byte [rbp + 5]
movzx eax, byte [rbp + 4]
movzx r9d, byte [rbp + 3]
movzx r8d, byte [rbp + 2]
mov dword [rsp + 0x28], r11d
lea rdx, [0x0001faf0]
lea rcx, [rsp + 0x280]
mov dword [rsp + 0x20], eax
call qword [sym.imp.ntoskrnl.exe_swprintf]
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x132]
lea rdx, [rsp + 0x280]
mov r9d, 4
call fcn.00013ec8
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov r11d, 1
jmp 0x1d1bf
movzx eax, byte [rbp + 1]
mov byte [rsp + 0x131], sil
mov dl, byte [rax + rdi + 0x29c]
cmp dl, r13b
ja 0x1cd30
movzx eax, byte [rbp + 1]
and dl, 3
movzx ecx, word [rdi + rax*2 + 0x9c]
movzx eax, cx
shl cx, 2
shr ax, 0xe
mov word [rsp + 0x132], ax
movzx eax, dl
or ax, cx
mov word [rsp + 0x134], ax
jmp 0x1d1bf
cmp byte [rdi + 0x9b], r11b
jne 0x1d1bf
movzx eax, bx
mov ecx, 0xff01
and ax, cx
or ax, r11w
mov word [rsp + 0x132], ax
movzx eax, byte [rbp + 1]
movzx ecx, word [rdi + rax*2 + 0x9c]
mov word [rsp + 0x134], cx
jmp 0x1d1bf
movzx ecx, byte [rbp + 1]
mov byte [rsp + 0x131], sil
cmp byte [rcx + rdi + 0x29c], r13b
ja 0x1cd98
movzx eax, word [rdi + rcx*2 + 0x9c]
mov word [rsp + 0x132], ax
jmp 0x1d1bf
cmp byte [rdi + 0x9b], r11b
jne 0x1d1bf
cmp cl, 7
ja 0x1cdba
movzx eax, word [rdi + rcx*2 + 0x9c]
mov word [rsp + 0x132], ax
cmp cl, 0xf7
jne 0x1d1bf
movzx ecx, byte [rbp + 1]
mov al, byte [rdi + rcx + 0x29c]
movzx ecx, word [rdi + rcx*2 + 0x9c]
and al, 3
movzx eax, al
and cx, ax
mov word [rsp + 0x132], cx
jmp 0x1d1bf
mov eax, 0x7c07
mov word [rsp + 0x132], ax
mov eax, 0x400
mov word [rsp + 0x134], ax
jmp 0x1d1b7
movzx ecx, byte [rbp + 1]
mov eax, dword [rbp + 2]
mov byte [rsp + 0x131], sil
shr rcx, 1
mov dword [rdi + rcx*2 + 0x39c], eax
mov al, byte [rbp + 1]
movzx ecx, byte [rdi + 0x9b]
shr al, 1
mov byte [rdi + 0x3dc], al
test ecx, ecx
je 0x1ce55
cmp ecx, r11d
jne 0x1d1bf
mov word [rsp + 0x132], r13w
mov eax, 0xb203
jmp 0x1cd23
mov eax, 0x400
mov word [rsp + 0x132], ax
mov eax, 0xa703
jmp 0x1cd23
movzx ecx, byte [rbp + 1]
mov rax, rcx
shr rax, 1
shr rcx, 1
movzx eax, word [rdi + rax*2 + 0x39c]
mov word [rsp + 0x132], ax
movzx eax, word [rdi + rcx*2 + 0x39e]
jmp 0x1cdfd
movzx ecx, byte [rdi + 0x9b]
mov byte [rsp + 0x131], sil
test ecx, ecx
je 0x1ce55
cmp ecx, r11d
jne 0x1d1bf
mov r13d, 2
jmp 0x1ce42
movzx eax, byte [rbp + 1]
cmp byte [rax + rdi + 0x29c], sil
jne 0x1d1bf
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
mov eax, 0xabcd
mov word [rsp + 0x132], ax
mov eax, 0x1234
mov word [rsp + 0x134], ax
movzx eax, byte [rbp + 1]
mov byte [rax + rdi + 0x29c], r11b
jmp 0x1d1a7
sub ecx, 0x16
je 0x1d160
sub ecx, r11d
je 0x1d142
sub ecx, r11d
je 0x1d10a
sub ecx, r11d
je 0x1d0d2
sub ecx, r11d
je 0x1d09a
sub ecx, r11d
je 0x1d036
mov r13d, 2
sub ecx, r13d
je 0x1cfdd
cmp ecx, 4
jne 0x1d1c7
cmp byte [rdi + 0x9b], r11b
jne 0x1d1bf
movzx r9d, word [rbp + 4]
movzx ecx, word [rbp + 2]
lea r10d, [r13 + 0x1e]
mov edx, r9d
mov eax, r9d
and eax, 0xff00
shl edx, 0x10
or edx, eax
mov eax, ecx
shr eax, 8
shl edx, 8
movzx r8d, al
movzx eax, cl
shl eax, 8
or r8d, eax
mov ecx, edx
mov eax, r8d
sub r10d, r11d
shl eax, 0xc
and ecx, 0xfffff000
shr r8d, 1
xor ecx, eax
mov eax, edx
and eax, 0xfff00000
shl ecx, 8
xor ecx, eax
mov eax, edx
shl ecx, 0xb
shr eax, 1
mov edx, ecx
or edx, eax
test r10d, r10d
jg 0x1cf95
mov word [rsp + 0x132], dx
mov word [rsp + 0x134], r9w
jmp 0x1d1b7
movzx eax, byte [rbp + 1]
mov cl, byte [rax + rdi + 0x29c]
test cl, cl
je 0x1cff5
cmp cl, r13b
jne 0x1d1bf
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
mov eax, 0xabcd
mov ecx, 0xffff
mov word [rsp + 0x132], ax
mov eax, 0x1234
mov word [rsp + 0x134], ax
movzx eax, byte [rbp + 1]
add word [rdi + rax*2 + 0x9c], cx
jmp 0x1d1b7
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39c]
cmp word [rdi + 0xa0], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39e]
cmp word [rdi + 0xa2], ax
jne 0x1d1bf
mov eax, 0xabcd
mov word [rsp + 0x132], ax
mov eax, 0x1234
mov word [rsp + 0x134], ax
movzx eax, byte [rbp + 1]
mov byte [rax + rdi + 0x29c], 3
jmp 0x1d1a7
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39c]
cmp word [rdi + 0xa0], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39e]
cmp word [rdi + 0xa2], ax
jmp 0x1d179
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39c]
cmp word [rdi + 0xa0], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39e]
cmp word [rdi + 0xa2], ax
jmp 0x1ced7
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39c]
cmp word [rdi + 0xa0], ax
jne 0x1d1bf
movzx eax, word [rdi + 0x39e]
cmp word [rdi + 0xa2], ax
jmp 0x1c2f4
movzx eax, byte [rbp + 1]
cmp byte [rax + rdi + 0x29c], sil
jne 0x1d1bf
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jmp 0x1d069
movzx eax, byte [rbp + 1]
cmp byte [rax + rdi + 0x29c], sil
jne 0x1d1bf
movzx eax, word [rbp + 4]
cmp word [rdi + 0xa4], ax
jne 0x1d1bf
mov eax, 0xabcd
mov r13d, 2
mov word [rsp + 0x132], ax
mov eax, 0x1234
mov word [rsp + 0x134], ax
movzx eax, byte [rbp + 1]
mov byte [rax + rdi + 0x29c], r13b
movzx ecx, byte [rbp + 1]
movzx eax, word [rbp + 2]
mov word [rdi + rcx*2 + 0x9c], ax
mov byte [rsp + 0x131], sil
mov esi, 8
mov r12b, r11b
mov al, byte [rsp + 0x132]
mov word [rsp + 0x136], bx
add al, byte [rsp + 0x133]
add al, byte [rsp + 0x134]
add al, byte [rsp + 0x135]
add al, byte [rsp + 0x131]
mov byte [rsp + 0x130], al
test r12b, r12b
je 0x1d20b
lea rcx, [rsp + 0x130]
call fcn.0001a36c
mov eax, dword [r15]
lea rdx, [rsp + 0x130]
mov rcx, r14
cmp esi, eax
cmovb eax, esi
mov r8d, eax
mov dword [r15], eax
call fcn.00015fc0
mov r11d, dword [r15]
mov dword [rdi + 0x42e], r11d
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.00015f60
add rsp, 0x398
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret