Function at 0x18001abb8
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
mov rax, qword [0x180052d38]
xor rax, rsp
mov qword [rbp + 0xb8], rax
mov eax, dword [0x180052830]
mov r8d, 0xf9379e4f
mov dword [rsp + 0x60], eax
movabs r14, 0xf4a207fab792a
movsx r13d, byte [0x18005271b]
movabs r12, 0x5a3212a40e957
mov al, byte [0x1800527f8]
mov byte [rsp + 0x42], al
mov eax, 0xf51f
movsx esi, word [0x18005271c]
mov rdi, qword [0x180052830]
mov qword [rbp - 0x70], 0x227
mov byte [rsp + 0x40], 0x15
mov word [rsp + 0x44], ax
mov eax, 0x4c72
mov dword [rsp + 0x64], 0x42f0
mov dword [rsp + 0x5c], 0x527cbf2a
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1800526ea]
mov dword [rsp + 0x68], eax
mov qword [rbp - 0x78], 0x1e
mov qword [rsp + 0x70], 0xdbe0
mov rax, qword [0x1800527f0]
mov qword [rbp - 0x70], rax
mov eax, dword [0x180052820]
mov word [rsp + 0x48], ax
mov byte [rsp + 0x42], 0xd1
mov al, byte [0x1800526ea]
mov rax, qword [0x1800527d0]
mov rax, qword [0x180052800]
mov al, byte [0x180052830]
mov byte [rsp + 0x42], al
mov rax, qword [0x180052800]
mov dword [rsp + 0x60], eax
movsx eax, byte [0x18005272d]
mov dword [rsp + 0x60], eax
mov eax, dword [0x1800527b4]
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x42], 0x32
mov al, byte [0x1800526ef]
mov qword [rbp - 0x78], 0xe9
mov eax, dword [0x1800527fc]
mov al, byte [0x1800527c0]
mov byte [rsp + 0x42], al
mov al, byte [0x18005271b]
mov rax, qword [0x1800527e0]
mov eax, dword [0x1800527fc]
mov byte [rsp + 0x42], al
movsx eax, byte [0x18005272d]
mov byte [rsp + 0x42], 0x19
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x42], 0xdc
mov al, byte [rsp + 0x40]
add al, 2
mov qword [rbp - 0x20], rcx
mov byte [rsp + 0x42], al
mov ecx, 0x8c
mov eax, dword [0x180890880]
mov dword [rsp + 0x58], eax
movsx rax, word [0x18005271c]
mov qword [rbp - 0x30], rdx
lea r9d, [rcx + 0x1c]
mov dword [rbp - 0x58], r8d
xor edx, edx
movsxd r8, dword [0x1800527dc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x14
mov byte [rsp + 0x6c], r13b
mov word [rbp - 0x5c], di
mov dword [rbp - 0x34], 0xb4
call fcn.1800249e4
xor ebx, ebx
mov dword [0x1800527e8], eax
mov eax, dword [0x1800527e8]
mov edx, ebx
cmp eax, 0x44
mov ecx, ebx
mov eax, dword [0x1800527e8]
setbe dl
test eax, eax
sete cl
cmp ecx, edx
ja 0x18001ae53
movzx eax, byte [rsp + 0x42]
cmp esi, eax
jne 0x18001adde
mov rax, qword [0x1800527c0]
sar rax, 6
mov word [0x1800527cc], ax
mov al, byte [0x180052828]
add al, 0xe
mov byte [0x1800526eb], al
jmp 0x18001ae8c
movzx eax, word [0x18005274c]
test ax, ax
je 0x18001ae25
movsx eax, word [0x1800527f8]
mov edx, 0xc7
sub eax, 0xef
cdqe
mov qword [0x1800527e0], rax
movsx eax, word [rsp + 0x4c]
sub edx, eax
movzx eax, word [rsp + 0x44]
sub edx, eax
movzx eax, byte [rsp + 0x42]
sub edx, eax
movsxd rax, edx
mov qword [0x1800527f0], rax
jmp 0x18001ae8c
mov rax, qword [0x1800527d0]
test rax, rax
je 0x18001ae8c
mov rdx, qword [0x1800527e0]
movsxd rax, dword [0x1800527d8]
not rdx
movzx r14d, byte [rsp + 0x42]
sub rdx, rdi
add rax, rdx
add r14, rax
jmp 0x18001ae8c
cmp word [0x1800527f8], bx
je 0x18001ae8c
mov al, byte [rsp + 0x42]
mov dl, bl
mov rax, qword [0x1800527f0]
movzx ecx, al
imul eax, ecx, 0x6e
add al, bl
mov byte [0x180052703], al
movsx eax, word [0x18005279c]
sub eax, 0x68ac
cdqe
mov qword [0x180052828], rax
mov eax, dword [rsp + 0x58]
mov ecx, 0xaf
add eax, 0x7b3
mov qword [rsp + 0x28], 0xf0
cmp word [0x1800527cc], bx
mov dword [rbp - 0x68], eax
mov eax, 2
mov dword [rbp - 0x54], eax
mov eax, ebx
sete al
mov qword [rsp + 0x20], rbx
sub eax, r13d
xor r9d, r9d
mov dword [rsp + 0x64], eax
xor edx, edx
mov eax, dword [0x180052704]
add eax, r14d
mov dword [0x180052704], eax
mov eax, dword [rsp + 0x68]
shr eax, 6
mov word [0x18005279c], ax
mov eax, dword [rsp + 0x58]
add eax, 0x7c6
mov dword [rsp + 0x60], eax
movzx r8d, byte [0x1800526ea]
call fcn.1800249e4
mov rdx, rax
not ax
movzx ecx, ax
mov eax, ebx
shr ecx, 0xf
cmp dx, 0x1a
mov word [0x18005279c], dx
setge al
cmp ecx, eax
je 0x18001af96
mov al, byte [0x1800526ef]
mov edx, ebx
cmp al, 0x10
mov ecx, ebx
mov al, byte [0x1800526ef]
setbe dl
cmp al, 0x22
setbe cl
cmp edx, ecx
jbe 0x18001af4a
lea rax, [rdi + 1]
imul r14, rax
jmp 0x18001af96
cmp word [0x1800527ec], bx
je 0x18001af96
mov rax, qword [0x1800527d0]
mov ecx, 0x1fcb
movsx edx, ax
movsx ecx, cx
imul edx, ecx
mov word [0x18005271c], dx
mov edx, ebx
mov rcx, qword [0x1800527d0]
movzx eax, word [0x1800527ec]
test rcx, rcx
cmove edx, eax
mov eax, dword [0x1800527dc]
add eax, edx
cdqe
mov qword [0x180052800], rax
mov eax, dword [rsp + 0x58]
xor ecx, ecx
movsx r9d, byte [0x18005271e]
add eax, 0x7dd
mov dword [rsp + 0x60], eax
mov edx, 0x94
mov eax, dword [0x180890880]
lea r8d, [rcx + 7]
mov dword [rsp + 0x58], eax
call fcn.1800243a8
mov byte [0x1800526eb], al
mov eax, dword [rsp + 0x64]
mov eax, dword [rsp + 0x58]
add eax, 0x567
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x58]
add eax, 0x6fd
mov dword [rbp - 0x40], eax
mov cl, byte [0x1800526ee]
mov al, byte [0x1800526ee]
sub cl, byte [rbp - 0x70]
add cl, al
mov byte [0x1800526ee], cl
mov eax, dword [rsp + 0x58]
add eax, 0x555
mov dword [rbp - 0x38], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x58e
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x58]
add eax, 0x7ba
mov dword [rsp + 0x60], eax
mov eax, 0xc1
mov word [0x18005271c], ax
mov eax, dword [0x180890880]
mov dword [0x1800527d8], eax
mov eax, dword [rsp + 0x58]
add eax, 0x65f
cmp dword [0x1800527b4], ebx
mov dword [rsp + 0x60], eax
jne 0x18001b0a2
movzx eax, word [0x180052810]
mov ecx, ebx
add eax, 0x65a8df11
mov rdx, rdi
mov dword [0x180052808], eax
mov rax, qword [0x1800527b8]
test rax, rax
movzx eax, word [0x1800527ec]
sete cl
add ecx, eax
movsxd rax, dword [0x180052704]
sub rdx, rcx
add rdx, rax
mov rax, rbx
sete al
mov qword [rbp - 0x70], rax
jmp 0x18001b0d7
mov ecx, dword [0x180052808]
mov edx, ebx
mov rax, qword [rsp + 0x70]
not ecx
cmp rax, rcx
mov eax, dword [rsp + 0x64]
setae dl
cmp edx, eax
jb 0x18001b0d7
movsx eax, word [rsp + 0x48]
imul eax, eax, 0xc9a1
mov dword [0x18005280c], eax
mov byte [0x18005271b], 0x1b
mov eax, dword [0x180890880]
mov edx, 2
mov dword [rsp + 0x58], eax
mov ecx, 0x2bd5
mov dword [0x1800527fc], edx
mov eax, dword [0x18005280c]
movzx esi, ax
lea r9d, [rdx - 1]
mov eax, dword [0x1800527fc]
imul esi, ecx
test eax, eax
je 0x18001b17f
sub eax, r9d
je 0x18001b149
mov r8d, 0xf9379e4f
cmp eax, r9d
jne 0x18001b199
movzx eax, word [0x180052814]
mov word [0x18005273c], ax
movzx eax, byte [0x1800526ea]
mov edx, dword [0x180052704]
imul edx, eax
mov al, byte [0x1800526ea]
add al, dl
mov byte [0x1800526ea], al
jmp 0x18001b199
movzx ecx, byte [0x1800526ea]
movsx edx, word [rsp + 0x48]
add ecx, 0xc1
movsx eax, byte [0x18005271e]
movsx r8d, byte [0x180b9a71a]
imul edx, ecx
mov dword [rbp - 0x58], r8d
movsx ecx, dl
imul ecx, eax
not cl
mov byte [rsp + 0x40], cl
jmp 0x18001b199
mov rax, qword [0x1800527b8]
mov r12, r9
add rax, rdx
mov r8d, 0xf9379e4f
mov qword [0x1800527b8], rax
mov eax, dword [rsp + 0x58]
mov edx, ebx
add eax, 0x625
mov ecx, 0x2d9
test r14b, 0xd2
mov dword [rsp + 0x60], eax
sete dl
mov al, byte [0x1800527cc]
mov dword [rbp - 0x60], eax
mov word [rsp + 0x4c], dx
mov eax, dword [0x1800527fc]
add eax, r9d
mov dword [0x1800527fc], eax
sub rcx, r9
jne 0x18001b1b4
mov eax, dword [rsp + 0x58]
add eax, 0x705
mov dword [rbp - 0x4c], eax
movsx rax, word [0x18005279c]
cmp rax, r14
jae 0x18001b236
mov rax, qword [0x1800527d0]
mov ecx, ebx
cmp r12, rax
mov eax, ebx
setle cl
cmp r12, 0x48
setbe al
cmp ecx, eax
jae 0x18001b245
imul eax, r8d, 0x27
movsxd rcx, eax
mov qword [0x180052800], rcx
mov edx, dword [0x1800527fc]
movsx eax, word [0x18005271c]
sub edx, eax
sub edx, 0x1cd63a41
mov dword [0x1800527fc], edx
jmp 0x18001b245
mov eax, dword [0x180052820]
mov eax, 0xb4
and word [rbp - 0x5c], ax
mov eax, dword [rsp + 0x58]
mov r9d, 0xdb
add eax, 0x791
movsxd rcx, ebx
mov dword [rbp - 0x50], eax
xor r8d, r8d
mov rax, qword [rsp + 0x70]
mov eax, dword [0x180890880]
mov qword [rbp - 0x78], rcx
lea ecx, [r9 + 6]
mov qword [rbp - 0x70], 0x8e4a
mov dword [rsp + 0x58], eax
movsx rdx, byte [rsp + 0x40]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0x4a
call fcn.1800246b4
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x18001b2b8
movabs rax, 0xfff9d1b38b0cb5a0
add rax, rdi
mov qword [0x1800527b8], rax
jmp 0x18001b2e6
mov rax, qword [rsp + 0x70]
mov al, byte [0x1800526ea]
test al, al
je 0x18001b2cc
mov al, byte [rbp - 0x60]
jmp 0x18001b2d0
mov rax, qword [rbp - 0x70]
mov byte [0x18005272d], al
movzx eax, word [0x18005273c]
shl ax, 8
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x58]
mov r9d, 0x24
add eax, 0x74b
xor r8d, r8d
mov dword [rbp - 0x48], eax
mov edx, dword [0x1800527d8]
movzx eax, word [0x1800527f8]
movzx ecx, word [0x18005271c]
mov word [rsp + 0x20], ax
call fcn.1800244e8
mov word [0x1800527cc], ax
test ax, ax
je 0x18001b34f
mov eax, dword [0x1800527dc]
test eax, eax
je 0x18001b369
movzx eax, word [0x180052814]
sub eax, 0x2a
mov dword [0x1800527fc], eax
mov eax, dword [0x1800527d8]
add eax, edi
mov dword [0x1800527d8], eax
jmp 0x18001b369
mov rax, qword [0x1800527f0]
test rax, rax
je 0x18001b369
movzx eax, word [rsp + 0x44]
sub ax, r13w
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x58]
add eax, 0x621
mov dword [rsp + 0x60], eax
test rdi, rdi
je 0x18001b3a0
mov rax, qword [0x1800527b8]
mov ecx, dword [0x180052808]
add rax, rcx
mov eax, dword [0x180890880]
sete byte [0x1800526ee]
mov dword [0x1800527b4], eax
jmp 0x18001b3b4
mov byte [0x18005271b], 0xb4
mov ecx, ebx
mov eax, dword [rsp + 0x5c]
mov word [0x18005271c], cx
mov eax, dword [rsp + 0x58]
mov r8d, 0x51
add eax, 0x72e
mov dword [rsp + 0x54], eax
mov dword [0x180052820], 2
mov eax, dword [0x180052820]
test eax, eax
je 0x18001b45f
sub eax, 1
je 0x18001b40d
cmp eax, 1
jne 0x18001b4a2
movzx ecx, word [rsp + 0x44]
movsx eax, byte [0x18005271e]
sub ecx, eax
movzx eax, word [rsp + 0x44]
add ax, cx
mov word [rsp + 0x44], ax
jmp 0x18001b4a2
movzx eax, word [0x1800527ec]
mov ecx, 0x38c2
sub ax, cx
mov r8, r12
movsx ecx, byte [0x1800526ee]
mov edx, dword [0x1800527fc]
imul r8, r12
mov word [rbp - 0x34], ax
mov rax, qword [0x180052830]
add rax, 0xffffffffffffc3b7
xor r8, rax
movsx eax, byte [0x18005272d]
add ecx, eax
not r8
xor rdx, rcx
add rdx, r8
mov qword [0x180052800], rdx
jmp 0x18001b4a2
mov eax, dword [rsp + 0x5c]
movzx edx, byte [0x1800526ef]
mov rax, qword [0x180052818]
movzx ecx, word [0x180052814]
not rax
and rcx, r8
imul rax, rcx
test rax, rax
sete al
xor al, dl
mov byte [rsp + 0x42], al
mov eax, 0x6444
movzx ecx, byte [0x180052703]
sub cx, ax
mov word [rsp + 0x48], cx
mov eax, dword [0x180890880]
mov edx, ebx
movsxd r13, dword [rbp - 0x58]
mov dword [rsp + 0x58], eax
movsx eax, byte [rsp + 0x40]
cmp r13d, eax
mov eax, ebx
setne dl
cmp r13d, 0x44
setne al
cmp edx, eax
jbe 0x18001b559
movzx r8d, word [rbp - 0x5c]
mov eax, 0xeb
xor r9d, r9d
mov word [rsp + 0x20], ax
movzx ecx, di
lea edx, [rax - 0x72]
call fcn.1800244e8
movzx eax, ax
mov dword [rsp + 0x64], eax
mov eax, dword [0x180052820]
test eax, eax
je 0x18001b50c
cmp dword [0x180052808], ebx
je 0x18001b50c
mov r9d, 1
jmp 0x18001b50f
mov r9d, ebx
movzx eax, byte [rsp + 0x42]
mov edx, ebx
movsx ecx, byte [rsp + 0x40]
movsx r8d, word [0x18005279c]
imul r8d, eax
mov eax, dword [rsp + 0x64]
cmp eax, ecx
mov eax, 1
seta dl
test r8d, r8d
cmove edx, eax
cmp edx, r9d
ja 0x18001b570
movsx eax, byte [0x18005272d]
mov dword [rsp + 0x68], eax
mov eax, dword [0x180052808]
mov dword [0x18005280c], eax
jmp 0x18001b570
mov eax, dword [rbp - 0x54]
mov r9d, 1
cmp word [0x180052810], bx
cmovne eax, r9d
mov dword [rbp - 0x54], eax
mov eax, dword [rsp + 0x58]
mov ecx, 0x10
add eax, 0x585
movzx r9d, r12w
mov dword [rbp - 0x64], eax
mov r8, qword [0x180052800]
mov edx, dword [0x18005280c]
call fcn.1800243a8
movsx rcx, ax
mov r10d, 1
mov qword [0x180052818], rcx
mov rax, qword [0x180052818]
mov rax, qword [0x180052818]
cmp rax, 0x30
jb 0x18001b5f1
mov r8b, 0xf6
mov ecx, 0x165f
mov byte [rsp + 0x6c], r8b
mov rax, qword [0x180052818]
mov rdi, qword [0x180052830]
sub rax, r12
mov r12, rax
neg rdi
mov rax, qword [0x1800527b8]
sub r12, rax
sub rcx, r10
jne 0x18001b5c9
jmp 0x18001b5f6
mov r8b, byte [rsp + 0x6c]
mov eax, dword [rsp + 0x58]
add eax, 0x8fd
mov dword [rbp - 0x28], eax
movzx eax, word [rsp + 0x44]
shr ax, 1
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x68]
add byte [0x18005271e], al
mov eax, dword [rsp + 0x58]
add eax, 0x580
mov dword [rsp + 0x60], eax
movsx ecx, word [rsp + 0x4c]
not ecx
test ecx, ecx
jne 0x18001b641
movzx eax, word [rsp + 0x44]
test ax, ax
jne 0x18001b641
mov al, byte [0x180052703]
movsx ecx, word [rsp + 0x48]
mov edx, ebx
mov eax, dword [rsp + 0x68]
mov r9d, 0xd
cmp ecx, eax
movzx eax, word [rsp + 0x48]
mov ecx, ebx
setb dl
cmp ax, r9w
setl cl
cmp edx, ecx
je 0x18001b67c
lea eax, [r9 - 0xb]
mov word [0x1808b7c3a], r14w
mov word [rsp + 0x44], ax
jmp 0x18001b6a8
movsx ecx, word [rsp + 0x48]
mov eax, dword [rsp + 0x64]
cmp eax, ecx
jne 0x18001b6a3
movsx rcx, byte [rsp + 0x40]
mov rax, qword [0x1800527d0]
sub rcx, rax
mov al, byte [rsp + 0x40]
or al, cl
mov byte [rsp + 0x40], al
mov eax, 2
sub si, word [0x1800527c0]
mov dword [0x1800527d8], eax
mov ecx, dword [0x180052820]
movsx eax, byte [0x18005271f]
add ecx, eax
mov eax, dword [0x180052820]
add eax, ecx
mov dword [0x180052820], eax
mov ecx, dword [0x1800527d8]
test ecx, ecx
je 0x18001b71e
sub ecx, 1
je 0x18001b704
cmp ecx, 1
jne 0x18001b734
mov al, byte [rsp + 0x42]
add al, 0x48
add al, r13b
mov byte [rsp + 0x42], al
mov rax, qword [rbp - 0x70]
sub eax, 0x39aa3938
mov dword [0x18005280c], eax
jmp 0x18001b734
movzx ecx, word [0x18005274c]
movzx eax, word [0x18005274c]
sub cx, ax
mov word [0x18005274c], cx
jmp 0x18001b734
movzx edx, word [0x18005271c]
mov ecx, 0xb810
imul edx, ecx
mov word [0x180052810], dx
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
cmp ecx, eax
jne 0x18001e0a7
mov eax, dword [0x180890880]
mov rcx, rbx
mov r9d, dword [rbp - 0x60]
mov dword [rsp + 0x58], eax
mov eax, dword [0x180052704]
add eax, 0x7e4e8cc4
mov dword [0x1800527b4], eax
mov al, byte [0x1800526ee]
add r9b, al
mov eax, dword [rsp + 0x58]
add eax, 0x749
mov dword [rbp - 0x60], r9d
mov dword [rsp + 0x7c], eax
mov qword [0x1800527d0], r10
mov eax, dword [0x1800527dc]
test eax, eax
mov rax, qword [rbp - 0x78]
mov rdx, qword [0x1800527b8]
sete cl
sub rax, rcx
not rdx
xor rdx, rax
movzx ecx, si
mov eax, dword [rsp + 0x68]
add ecx, eax
imul eax, ecx, 0x5e183869
add eax, edx
mov dword [0x18005280c], eax
mov rax, qword [0x1800527d0]
test rax, rax
je 0x18001b7d7
cmp rax, 1
jne 0x18001b7db
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x70], rax
jmp 0x18001b7db
sub si, r13w
mov eax, dword [rsp + 0x58]
mov ecx, ebx
add eax, 0x882
mov edx, 0x46
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x58]
add eax, 0x77b
mov dword [rsp + 0x58], eax
movsx eax, r8b
cmp ax, word [rbp - 0x34]
mov eax, ebx
setne cl
cmp r8b, dl
setne al
cmp ecx, eax
jae 0x18001b821
mov eax, dword [0x180052808]
add rax, r10
imul rdi, rax
jmp 0x18001b846
movzx eax, r9b
movzx ecx, r12w
sub cx, ax
movzx eax, word [rsp + 0x48]
add cx, ax
movzx eax, word [rsp + 0x4c]
not ax
movsx ecx, cx
cwde
imul eax, ecx
mov dword [rbp - 0x5c], eax
mov eax, dword [0x180890880]
lea ecx, [r14 - 0x5c3b9b12]
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x5c]
and ecx, eax
mov dword [rsp + 0x5c], ecx
mov ecx, 0x148
mov eax, dword [rbp - 0x68]
add eax, 0x53e
mov dword [rbp - 0x44], eax
lea r15d, [rcx - 0x7b]
mov qword [rsp + 0x70], r15
mov edx, 0x9b
mov eax, dword [rsp + 0x68]
add ax, dx
mov word [rsp + 0x4c], ax
sub rcx, r10
jne 0x18001b874
mov eax, dword [rbp - 0x68]
xor r9d, r9d
add eax, 0x5c9
xor edx, edx
mov dword [rbp - 0x44], eax
mov r8d, 0x3d90
mov eax, dword [0x180052704]
mov rcx, qword [rsp + 0x70]
mov word [rsp + 0x20], ax
call fcn.1800244e8
movzx eax, ax
test r14, r14
mov qword [rbp - 0x78], rax
mov rax, rbx
sete al
cmp rax, rdi
jle 0x18001b915
test r12, r12
je 0x18001b8e7
movabs rax, 0x333e4c13b63c6
mov qword [0x1800527b8], rax
jmp 0x18001b921
mov eax, dword [0x1800527fc]
mov ecx, 0xffff99de
movsx ecx, cx
movsx edx, ax
imul edx, ecx
lea ecx, [rdi - 0x11]
mov word [0x18005273c], dx
mov al, byte [0x18005271b]
add cl, al
mov byte [0x18005271b], cl
jmp 0x18001b921
mov eax, 0x3603
mov word [0x1800527ec], ax
mov eax, dword [rbp - 0x68]
mov ecx, ebx
mov r15, qword [rbp - 0x20]
add eax, 0xda8
mov dword [rbp - 0x44], eax
mov eax, dword [0x180052704]
not eax
cmp eax, 0x6412
movsx eax, word [0x18005279c]
setne cl
cmp eax, ecx
je 0x18001b956
mov eax, dword [0x1800527dc]
mov dword [rbp - 0x54], eax
mov eax, dword [0x1800527e8]
mov ecx, 0xba
movsx rdx, byte [rsp + 0x6c]
movsx r8, byte [rsp + 0x40]
mov qword [rsp + 0x28], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
lea r9d, [rdx + 0x3b]
call fcn.1800249e4
mov byte [0x1800526eb], al
mov al, byte [rsp + 0x42]
mov eax, dword [rsp + 0x68]
shr eax, 4
mov dword [0x1800527d8], eax
mov al, byte [r15]
mov dword [rbp - 0x44], 0x5ec
cmp al, 0xe9
jne 0x18001bb6b
mov eax, dword [rsp + 0x5c]
xor edx, edx
mov r8d, dword [rsp + 0x68]
mov ecx, 0x92
movzx r9d, word [rsp + 0x48]
mov word [rsp + 0x20], ax
call fcn.1800244e8
movzx edx, ax
mov r8d, 1
test rdx, rdx
je 0x18001ba3b
movzx eax, word [0x1800527ec]
mov byte [rsp + 0x42], r8b
mov rcx, qword [rsp + 0x70]
imul eax, eax, 0x41fb
xor rcx, rax
mov qword [rsp + 0x70], rcx
movzx ecx, byte [rsp + 0x42]
test ecx, ecx
je 0x18001ba15
cmp ecx, r8d
jne 0x18001ba4a
movzx eax, word [0x1800527f8]
movzx esi, si
imul esi, eax
jmp 0x18001ba4a
mov rax, qword [0x1800527b8]
mov ecx, ebx
test rax, rax
mov eax, dword [0x1800527dc]
sete cl
add ecx, dword [0x180052808]
sub cl, al
add cl, r8b
mov byte [rsp + 0x42], cl
jmp 0x18001ba4a
mov eax, dword [0x1800527e8]
shl eax, 7
mov dword [0x1800527fc], eax
mov al, byte [0x1800527f8]
mov byte [rsp + 0x42], al
mov eax, dword [0x180890880]
mov dword [0x1800527d8], 0xc6d3
mov dword [rbp - 0x68], eax
movsx rax, word [rsp + 0x4c]
cmp rax, rdx
jg 0x18001ba8d
mov rax, qword [0x1800527f0]
test rax, rax
movzx eax, byte [rsp + 0x42]
jne 0x18001ba87
mov rax, qword [rbp - 0x78]
mov dword [0x1800527dc], eax
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x44]
add ecx, eax
cmp word [0x180052814], bx
mov dword [rbp - 0x44], ecx
je 0x18001baa8
movzx eax, word [rsp + 0x44]
jmp 0x18001baae
mov eax, dword [0x1800527dc]
mov dword [0x18005280c], eax
mov eax, dword [rbp - 0x68]
movzx ecx, word [0x180052814]
add eax, 0x523
mov dword [rsp + 0x58], eax
add cx, cx
mov qword [rbp - 0x78], rbx
mov eax, dword [rsp + 0x68]
sub cx, ax
movzx eax, word [0x1800527ec]
mov word [0x180052814], cx
movabs rcx, 0xb6e1a3b934c21
sub rax, rcx
mov qword [0x1800527b8], rax
mov rax, qword [rbp - 0x78]
movzx eax, si
sub rax, 0x4f
mov qword [rbp - 0x78], rax
mov eax, dword [rbp - 0x68]
add eax, 0x748
mov dword [rsp + 0x60], eax
mov edx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x58]
add edx, eax
mov ecx, dword [rbp - 0x44]
mov eax, dword [rsp + 0x58]
add ecx, edx
mov edx, 0x43
sub edx, eax
cmp edx, ecx
je 0x18001e0a7
mov rax, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
add rax, r8
movsx ecx, word [rbp - 0x5c]
mov byte [0x18005271e], bl
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x5c]
add eax, 0xfbef3a72
mov qword [rdx], r8
add ecx, eax
mov eax, 2
mov dword [rsp + 0x5c], ecx
jmp 0x18001e0a9
mov cl, 0xff
cmp al, 0x90
jne 0x18001bc7b
cmp byte [r15 + 1], 0xe9
jne 0x18001bbc3
mov rax, qword [0x180052800]
mov dl, 0xdf
mov r9b, byte [0x180052814]
mov cl, 0xe0
mov r8b, byte [rbp - 0x5c]
mov byte [rsp + 0x30], al
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], bl
call fcn.180024268
mov rdx, qword [rbp - 0x30]
movzx eax, al
mov dword [0x1800527c8], eax
mov eax, dword [0x1800527c8]
mov eax, 2
mov qword [rdx], rax
jmp 0x18001e0a9
cmp byte [r15 + 1], 0x68
jne 0x18001bdba
cmp byte [r15 + 6], 0xc3
jne 0x18001bdba
mov al, byte [0x180890880]
mov r9d, 0x82
mov byte [rsp + 0x42], al
xor r8d, r8d
movsx eax, byte [rsp + 0x40]
movsx ecx, byte [0x1800526ee]
lea edx, [r9 + 0x30]
mov word [rsp + 0x20], ax
call fcn.1800244e8
movzx eax, ax
mov dword [0x1800527fc], eax
mov eax, dword [0x1800527fc]
test eax, eax
je 0x18001bc38
mov rax, qword [rbp - 0x78]
mov ecx, 0x3527
add ax, cx
mov word [0x1800527cc], ax
mov dword [0x1800527c8], 0x1ec
jmp 0x18001bc71
movzx edx, word [rsp + 0x4c]
mov rcx, rbx
mov rax, qword [0x180052828]
add rax, 0xffffffffffffc270
cmp dx, word [rbp - 0x34]
cmovle rcx, rax
test rcx, rcx
je 0x18001bc71
movsx eax, byte [0x1800526ee]
mov dword [rsp + 0x5c], eax
mov eax, 0xe9153e4e
mov qword [0x1800527e0], rax
mov eax, 3
jmp 0x18001bdaa
cmp al, 0x8b
jne 0x18001bd20
cmp byte [r15 + 1], cl
jne 0x18001bdba
cmp byte [r15 + 2], 0xe9
jne 0x18001bce2
mov eax, 2
mov word [0x18005271c], ax
mov eax, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x78]
add rcx, rax
mov qword [rbp - 0x78], rcx
mov rax, qword [rsp + 0x70]
movsx eax, word [0x18005271c]
mov ecx, eax
test eax, eax
je 0x18001bcd1
sub ecx, 1
je 0x18001bcd8
cmp ecx, 1
jne 0x18001bcd8
mov eax, dword [rsp + 0x64]
jmp 0x18001bcd8
mov qword [0x1800527f0], r13
mov eax, 2
jmp 0x18001e09a
cmp byte [r15 + 1], cl
jne 0x18001bdba
cmp byte [r15 + 2], cl
jne 0x18001bdba
cmp byte [r15 + 3], 0x25
jne 0x18001bdba
mov edx, 0x186
mov eax, dword [0x180052820]
mov qword [rbp - 0x78], rax
sub rdx, 1
jne 0x18001bd06
lea eax, [rdx + 4]
mov ecx, eax
jmp 0x18001dced
cmp al, 0x68
jne 0x18001bd61
cmp byte [r15 + 5], 0xc3
jne 0x18001bdba
mov rax, qword [0x180052818]
mov ecx, dword [0x18005280c]
mov dword [0x180be1400], eax
add ecx, 0xb017
mov eax, dword [0x1800527dc]
add ecx, eax
mov dword [0x1800527dc], ecx
mov al, byte [0x180052703]
jmp 0x18001d785
cmp al, cl
jne 0x18001bdba
cmp byte [r15 + 1], 0x25
jne 0x18001bdba
cmp byte [r15 + 2], bl
jne 0x18001bdba
mov al, byte [0x18005271b]
neg al
mov eax, 0xb9
sbb rcx, rcx
mov word [0x180052814], ax
add rcx, 0x3d91
mov eax, 4
mov qword [rbp - 0x78], rcx
movsx ecx, word [rsp + 0x4c]
add ecx, 0x7487eb43
mov dword [0x180052820], ecx
mov rdx, qword [rbp - 0x30]
mov qword [rdx], 2
jmp 0x18001e0a9
mov ecx, dword [rbp - 0x38]
mov eax, dword [rsp + 0x50]
and ecx, eax
mov edx, dword [rbp - 0x40]
imul edx, ecx
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
and ecx, eax
cmp ecx, edx
je 0x18001e0a7
mov rcx, qword [0x1800527f0]
mov r9d, 1
mov eax, dword [0x180052704]
and ecx, 0x62
add eax, ecx
mov dword [0x180052704], eax
mov al, byte [0x180052814]
add al, 0x41
mov byte [0x18005272d], al
mov eax, dword [rbp - 0x34]
mov byte [rsp + 0x40], al
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x5ee
mov dword [rbp - 0x40], eax
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x70]
add rcx, 0xffffffffffffc270
sub rcx, rax
mov qword [rbp - 0x70], rcx
mov eax, dword [rsp + 0x50]
add eax, 0xbf34
mov dword [rbp - 0x40], eax
movzx ecx, byte [rsp + 0x42]
mov rax, qword [0x1800527b8]
add rax, rcx
mov ecx, ebx
mov eax, dword [rsp + 0x50]
sete cl
add eax, 0x60c
mov dword [0x180052808], ecx
mov dword [rbp - 0x40], eax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x18001bece
mov rax, qword [rbp - 0x78]
mov edx, ebx
mov ecx, dword [0x180052808]
cmp rcx, rax
mov eax, ebx
setne dl
cmp dword [0x180052808], 0x15
setne al
cmp edx, eax
jae 0x18001bece
movzx eax, word [0x180052830]
add ax, word [0x18005279c]
mov rcx, qword [0x1800527d0]
add ax, r9w
mov word [0x1800527cc], ax
add rcx, 0x3d90
mov rax, qword [0x1800527d0]
add rcx, rax
mov qword [0x1800527d0], rcx
mov ecx, dword [rsp + 0x58]
mov r13d, 0x9d05
mov eax, dword [rbp - 0x80]
xor ecx, 0x16d
sub ecx, eax
mov eax, dword [rsp + 0x58]
mov edx, dword [rsp + 0x58]
add ecx, eax
mov eax, dword [rsp + 0x58]
xor edx, eax
imul edx, ecx
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x7c]
add ecx, eax
mov eax, dword [rbp - 0x40]
xor eax, 0x4b
imul ecx, edx
sub eax, ecx
mov ecx, ebx
mov dword [rbp - 0x44], eax
mov eax, dword [0x1800527e8]
test eax, eax
movsx edx, byte [rsp + 0x40]
movzx eax, byte [0x1800526ef]
sete cl
movzx r8d, word [rsp + 0x44]
sub dx, cx
sub dx, ax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
add r8w, dx
mov ecx, dword [0x1800527c8]
mov edx, ebx
movsx eax, r8w
add ecx, eax
mov word [rsp + 0x42], r8w
mov ecx, dword [rsp + 0x68]
mov eax, dword [0x180052824]
sete dl
not eax
xor ecx, eax
movzx eax, word [0x1800527f8]
sar ax, 4
add ecx, edx
mov dword [0x180052824], ecx
mov ecx, 4
mov word [0x18005273c], ax
mov eax, dword [rsp + 0x50]
add eax, 0x64cb
mov dword [rbp - 0x40], eax
mov eax, dword [0x1800527c8]
cmp eax, r9d
je 0x18001c06a
mov word [0x18005274c], cx
mov r13d, 0xfc49
mov rax, qword [rbp - 0x78]
mov byte [0x180052703], al
movsx eax, word [0x18005274c]
mov ecx, eax
test eax, eax
je 0x18001c050
sub ecx, 1
je 0x18001c044
sub ecx, 1
je 0x18001c020
sub ecx, 1
je 0x18001bffa
cmp ecx, 1
jne 0x18001c0d4
movsx ecx, word [0x18005273c]
mov eax, dword [rsp + 0x64]
sub cx, ax
mov word [0x18005273c], cx
jmp 0x18001c0d4
mov eax, 0x97b55e98
add rax, r12
mov qword [0x1800527e0], rax
movzx eax, word [0x18005271c]
sar ax, 7
cwde
mov dword [0x180052808], eax
jmp 0x18001c0d4
movzx ecx, byte [0x180052703]
mov rax, qword [0x1800527e0]
sub rcx, rax
mov al, byte [0x180052703]
add al, cl
mov byte [0x180052703], al
jmp 0x18001c0d4
mov rax, qword [rbp - 0x70]
add r12, rax
jmp 0x18001c0d4
movzx eax, word [0x180890880]
mov r14, rdi
mov word [0x18005273c], ax
and r14d, 0x5181fc47
jmp 0x18001c0d4
test r12, r12
je 0x18001c093
mov eax, 0x3d80
add ax, word [0x180052824]
mov word [0x180052814], ax
mov eax, dword [rsp + 0x64]
mov rcx, qword [rbp - 0x78]
add rcx, rax
mov qword [rbp - 0x78], rcx
jmp 0x18001c0d4
mov rax, qword [0x1800527d0]
test rax, rax
je 0x18001c0d4
mov eax, dword [rsp + 0x64]
mov edx, 0xffff62fa
mov rcx, qword [0x1800527d0]
sub edx, eax
mov rax, qword [rbp - 0x70]
and cx, ax
mov eax, 0x6c92
add cx, dx
mov word [rsp + 0x4c], cx
movsx ecx, byte [0x1800526ee]
xor cx, ax
mov word [rsp + 0x48], cx
mov eax, dword [rsp + 0x50]
xor r9d, r9d
movsx esi, byte [rsp + 0x6c]
add eax, 0x574
mov dword [rbp - 0x38], eax
mov eax, dword [0x1800527d8]
xor eax, esi
movzx edx, r13w
mov dword [0x1800527d8], eax
lea ecx, [r9 + 0x40]
mov eax, dword [rsp + 0x50]
lea r8d, [r9 + 0x49]
add eax, 0x7a51
mov qword [rsp + 0x28], 0x98
mov dword [rbp - 0x80], eax
mov qword [rsp + 0x20], 0xf
call fcn.1800249e4
mov byte [0x180052703], al
mov al, byte [0x180052703]
test al, al
jne 0x18001c14d
movsx edx, byte [rsp + 0x40]
movsx eax, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x68]
add eax, edx
add cl, al
mov byte [rsp + 0x40], cl
jmp 0x18001c18f
mov al, byte [0x1800526ef]
test al, al
je 0x18001c189
mov eax, dword [rsp + 0x5c]
mov rdx, r12
mov rcx, qword [rbp - 0x78]
and rcx, rax
mov eax, dword [rsp + 0x5c]
movzx r14d, word [0x1800527ec]
sub rdx, rax
movabs rax, 0x65104ef596337
xor rdx, rcx
or r14, rax
add r14, rdx
jmp 0x18001c18f
mov al, byte [0x1800526ee]
mov rax, qword [0x1800527f0]
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r9d, 0xb0
mov qword [rsp + 0x20], rax
lea ecx, [rdx + 0x29]
lea r8d, [rdx + 0x28]
call fcn.1800249e4
mov qword [0x180052818], rax
mov edx, ebx
mov rax, qword [0x180052818]
mov ecx, ebx
cmp rax, 0x27
mov rax, qword [0x180052818]
sete dl
test rax, rax
sete cl
cmp ecx, edx
je 0x18001c1f7
movzx eax, word [rsp + 0x44]
movzx ecx, word [rsp + 0x44]
xor rcx, rax
mov rax, qword [rbp - 0x70]
xor ax, cx
mov word [rsp + 0x44], ax
mov ecx, dword [rbp - 0x80]
xor r8d, r8d
mov eax, dword [rbp - 0x40]
xor edx, edx
or ecx, eax
mov byte [rsp + 0x30], bl
mov eax, dword [rbp - 0x38]
mov r9b, byte [0x180052814]
or eax, 0xfa
xor eax, ecx
mov byte [rsp + 0x28], bl
sub eax, 0x73a4
mov byte [rsp + 0x20], 0x4d
mov cl, 0xc6
mov dword [rbp - 0x38], eax
call fcn.180024268
movzx ecx, al
mov edx, ebx
mov eax, 0x46
mov word [0x1800527f8], cx
cmp cx, ax
mov eax, ebx
sete dl
test cx, cx
sete al
cmp eax, edx
ja 0x18001c2c6
cmp qword [0x1800527c0], rbx
je 0x18001c283
movzx edx, byte [0x1800526ef]
mov eax, dword [0x1800527fc]
xor al, byte [0x1800527b4]
movzx ecx, byte [0x1800527c0]
imul edx, ecx
not dl
add al, dl
mov dword [rbp - 0x60], eax
jmp 0x18001c2f0
movsx rax, byte [0x18005271e]
cmp rax, rdi
je 0x18001c29b
mov eax, dword [0x180052824]
mov dword [rbp - 0x58], eax
jmp 0x18001c2f0
cmp qword [0x180052828], rbx
je 0x18001c2f0
movsx eax, byte [0x18005271f]
sub eax, 0xa6a9
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x70]
sub rax, 0x3d90
mov qword [rsp + 0x70], rax
jmp 0x18001c2f0
movzx edx, word [0x180052810]
mov ecx, ebx
imul edx, dword [0x180052824]
mov rax, qword [0x180052818]
test rax, rax
sete cl
add edx, 0x6202e485
add ecx, edx
mov qword [rsp + 0x70], rcx
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov al, byte [0x18005271b]
movsx ecx, byte [rsp + 0x40]
test al, al
jne 0x18001c30e
movsx ecx, word [rsp + 0x48]
mov dword [0x1800527dc], ecx
mov byte [rsp + 0x40], 0x30
mov eax, dword [rsp + 0x50]
add eax, 0x53a
mov dword [rbp - 0x40], eax
mov al, byte [0x1800526ef]
test al, al
je 0x18001c36d
mov edx, dword [0x180890880]
mov eax, 3
movsx ecx, byte [0x18005271f]
mov r14d, edx
mov word [0x180052810], ax
movzx eax, word [0x1800527ec]
imul ecx, eax
mov dword [0x180052808], edx
not ecx
sub ecx, eax
movsx eax, word [rbp - 0x5c]
and ecx, eax
mov dword [0x180052820], ecx
jmp 0x18001c399
movsx rcx, word [rsp + 0x48]
mov rax, qword [rbp - 0x78]
cmp rcx, rax
jb 0x18001c399
mov eax, dword [rsp + 0x68]
dec eax
mov dword [rsp + 0x68], eax
movsx ecx, word [rsp + 0x4c]
mov eax, dword [0x180052820]
add eax, ecx
mov dword [0x180052820], eax
mov eax, dword [rsp + 0x50]
mov r9d, 0xe5
add eax, 0xaf40
mov qword [rsp + 0x20], 0xfc
mov dword [rbp - 0x80], eax
mov r8d, 9
mov eax, dword [rsp + 0x50]
add eax, 0x754a
mov dword [rsp + 0x7c], eax
movsx rcx, word [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
call fcn.180024b5c
movsx ecx, byte [0x18005271e]
mov word [0x18005274c], ax
mov eax, dword [0x1800527e8]
cmp eax, ecx
jae 0x18001c3fb
mov dword [0x1800527dc], 0x19c0fa94
jmp 0x18001c459
mov edx, 0x43
cmp word [0x180052814], dx
jae 0x18001c412
mov qword [0x180052828], rdi
jmp 0x18001c459
cmp qword [0x180052828], rbx
je 0x18001c434
movsx eax, word [0x1800527f8]
imul ecx, eax, 0x9ff7e60
mov eax, dword [rsp + 0x64]
add eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x18001c459
cmp byte [0x18005272d], bl
je 0x18001c459
cmp word [0x180052810], bx
movsx eax, word [0x18005279c]
mov ecx, dword [0x180052830]
cmovne ecx, eax
mov dword [0x180052824], ecx
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x40]
imul ecx, eax
mov eax, 0x3939ba9
xor ecx, 0x67ff
sub eax, ecx
cmp byte [r15], 0xb8
mov dword [rbp - 0x80], eax
jne 0x18001c71b
cmp byte [r15 + 5], 0xff
jne 0x18001c71b
cmp byte [r15 + 6], 0xe0
jne 0x18001c71b
mov rcx, qword [0x1800527b8]
mov eax, 0x8f
movzx r8d, word [0x1800527f8]
movzx edx, word [0x18005271c]
mov word [rsp + 0x20], ax
lea r9d, [rax - 0x51]
call fcn.1800244e8
movzx edx, ax
test al, al
je 0x18001c4e8
movzx eax, word [0x180890880]
mov ecx, 1
mov word [0x1800527f8], ax
mov edi, ecx
movzx eax, word [0x180052814]
and eax, 0x2b
mov qword [rsp + 0x70], rax
jmp 0x18001c511
mov al, byte [0x1800526ef]
movzx eax, word [rsp + 0x48]
mov rcx, qword [0x180052828]
test ax, ax
cmovne rcx, qword [0x1800527c0]
mov qword [0x1800527e0], rcx
mov ecx, 1
mov rax, qword [0x1800527d0]
cmp rax, r14
je 0x18001c55d
movzx eax, word [0x180890880]
mov edi, dword [0x18094d1b4]
mov dword [rsp + 0x64], ecx
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x18001c5a8
cmp eax, 1
jne 0x18001c5a8
movzx eax, word [rsp + 0x48]
test ax, ax
cmovne r13w, word [0x1800527cc]
movzx eax, r13w
mov dword [0x180052820], eax
jmp 0x18001c5a8
test dl, dl
je 0x18001c56d
movzx eax, r13w
mov dword [0x1800527fc], eax
jmp 0x18001c5a3
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18001c58f
mov rcx, qword [0x180052818]
mov eax, dword [0x180052808]
cmp rcx, rax
jne 0x18001c58f
mov rax, qword [rbp - 0x70]
jmp 0x18001c5a3
test rdi, rdi
je 0x18001c5a3
mov eax, dword [rsp + 0x5c]
add eax, 0x78ccfe32
mov dword [0x1800527c8], eax
mov edi, 0x3d90
mov eax, dword [0x180890880]
xor r9d, r9d
mov dword [rsp + 0x50], eax
xor edx, edx
mov rax, qword [0x1800527f0]
sub al, 0x44
mov byte [0x1800526ea], al
mov ecx, dword [rsp + 0x50]
mov eax, dword [rbp - 0x44]
add ecx, eax
mov dword [rsp + 0x7c], ecx
mov eax, 0xd509
mov ecx, dword [rsp + 0x50]
mov word [0x1800527cc], ax
mov eax, dword [rbp - 0x38]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov r8d, dword [rsp + 0x64]
movzx ecx, word [0x1800527c0]
call fcn.1800243a8
movsx rcx, ax
mov qword [0x1800527e0], rcx
mov rax, qword [0x1800527e0]
test rax, rax
je 0x18001c638
mov eax, dword [0x1800527c8]
add ax, 0x3c
mov word [rsp + 0x44], ax
movzx ecx, byte [0x18005271b]
add ecx, 0x6d5cc842
mov dword [0x1800527e8], ecx
jmp 0x18001c687
mov eax, dword [0x180052704]
or eax, dword [0x180052808]
jne 0x18001c653
mov rcx, qword [rsp + 0x70]
movsxd rax, edi
cmp rcx, rax
jne 0x18001c687
mov ecx, dword [rsp + 0x5c]
movsx eax, byte [0x18005271e]
imul ecx, eax
mov eax, dword [rsp + 0x5c]
sub eax, ecx
movabs rcx, 0xffad6b99cae15
mov dword [rsp + 0x5c], eax
mov rax, qword [rbp - 0x78]
xor rax, rcx
mov rcx, rbx
sete cl
mov qword [rsp + 0x70], rcx
mov ecx, dword [rsp + 0x50]
mov eax, dword [rbp - 0x80]
add ecx, eax
mov dword [rsp + 0x54], ecx
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x7c]
sub ecx, eax
mov edx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
or edx, ecx
mov ecx, 0xfffffeb0
sub ecx, eax
cmp ecx, edx
je 0x18001e0a7
movzx eax, word [rsp + 0x44]
mov edx, ebx
mov rcx, qword [0x1800527b8]
add cx, ax
mov word [rsp + 0x44], cx
movzx ecx, byte [0x1800526ef]
mov eax, dword [0x1800527c8]
cmp ecx, eax
mov al, byte [0x1800526ef]
mov ecx, ebx
setae dl
cmp al, 0x48
setae cl
cmp edx, ecx
jbe 0x18001d785
cmp dword [0x1800527b4], ebx
mov r9d, 1
je 0x18001d78b
movsx eax, byte [0x18005271e]
xor eax, 0xbf71158b
mov dword [rsp + 0x64], eax
jmp 0x18001d78b
mov eax, dword [rsp + 0x78]
cmp eax, 0x33f
je 0x18001e0a7
movsx rcx, byte [0x1800526ee]
mov r8d, ebx
mov rax, qword [0x1800527c0]
mov edx, ebx
not rax
cmp rcx, rax
movsx rcx, byte [rsp + 0x40]
mov rax, qword [0x180052818]
setge r8b
cmp rax, rcx
seta dl
cmp r8d, edx
je 0x18001c78c
movsx edx, byte [0x1800526ee]
mov eax, dword [0x1800527dc]
movsx ecx, al
mov eax, dword [0x180052808]
imul ecx, edx
add eax, 0x4094dd3c
mov byte [0x1800526ee], cl
mov dword [0x1800527e8], eax
jmp 0x18001c7a9
mov rax, qword [0x180052800]
cmp rax, 0x6657
je 0x18001c7a9
movzx eax, word [0x180ace538]
sub word [0x180052810], ax
movups xmm0, xmmword [str.DoGenericCallPkg]
mov al, byte [0x180039938]
lea rcx, [rbp]
mov byte [rbp + 0x10], al
movups xmmword [rbp], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1800526eb], al
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov qword [0x1800527e0], 2
mov eax, dword [0x1800527c8]
mov byte [0x180052703], al
movzx edx, byte [0x18005271b]
movzx ecx, byte [0x180052828]
imul edx, ecx
mov byte [0x18005271b], dl
mov rax, qword [0x1800527e0]
test rax, rax
je 0x18001c84b
sub rax, 1
je 0x18001c841
cmp rax, 1
jne 0x18001c85b
movsx eax, word [rsp + 0x4c]
mov dword [0x1800527b4], eax
movsx eax, word [0x18005271c]
imul eax, eax, 0x561f
movsxd rcx, eax
mov qword [0x180052800], rcx
jmp 0x18001c85b
add word [0x1800527ec], r14w
jmp 0x18001c85b
mov eax, 1
lea r13d, [rdi - 0x59]
add word [0x1800527f8], ax
mov eax, dword [rsp + 0x50]
mov r8d, dword [rbp - 0x54]
add eax, 0x7a1
mov dword [rsp + 0x78], eax
mov al, byte [0x180052703]
test al, al
je 0x18001c8ad
movzx eax, r8w
mov ecx, 0x2ac6
sub ax, cx
movzx r13d, ax
lea eax, [rsi + r13]
movsxd rcx, eax
mov rax, qword [rsp + 0x70]
sub rcx, rax
mov eax, dword [rsp + 0x68]
add rcx, rax
mov eax, dword [rsp + 0x68]
xor rax, rcx
not rax
mov qword [0x180052830], rax
mov eax, dword [rsp + 0x50]
mov edx, ebx
add eax, 0x540
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x50]
movzx ecx, word [0x180052814]
add eax, 0x5be
mov dword [rsp + 0x78], eax
cmp ecx, r8d
mov eax, dword [0x180890880]
setg dl
mov dword [rsp + 0x50], eax
cmp ecx, 0x4c
mov eax, ebx
seta al
cmp edx, eax
jae 0x18001c8ff
mov eax, 0x27fc
add ax, word [0x1800527f8]
mov word [rsp + 0x4c], ax
jmp 0x18001c942
mov eax, dword [0x1800527fc]
test eax, eax
jne 0x18001c916
mov eax, dword [0x1800527dc]
cmp eax, 0x2344
jl 0x18001c942
mov edx, dword [0x1800527fc]
mov eax, dword [rsp + 0x5c]
sub edx, eax
mov rcx, qword [rsp + 0x70]
movzx eax, r13w
add rdx, rax
movzx eax, word [0x180052814]
add rcx, rdx
xor rax, rcx
mov qword [0x1800527c0], rax
mov eax, dword [rsp + 0x50]
add eax, 0x5b2
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x50]
add eax, 0x52d
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x50]
add eax, 0x6594
mov dword [rbp - 0x40], eax
mov eax, dword [0x1800527c8]
cmp eax, 0xff8f4b3f
jne 0x18001c9c4
movsx eax, word [rsp + 0x4c]
mov edx, ebx
test rdi, rdi
sete dl
add edx, eax
movzx eax, byte [0x18005271b]
mov r14, qword [0x1800527f0]
add r14, rax
movsxd rdx, edx
imul r14, rdx
mov rdx, qword [0x180052828]
movzx eax, r13w
not eax
movsxd rcx, eax
movzx eax, word [rsp + 0x44]
sub rdx, rcx
not eax
movsxd rcx, eax
imul rcx, rdx
sub r14, rcx
not r14
jmp 0x18001c9d4
movsx eax, byte [0x18005271f]
imul ecx, eax, 0x5d
mov dword [0x1800527fc], ecx
movsxd rcx, dword [0x1800527b4]
mov r9d, dword [rsp + 0x64]
movsxd rdx, dword [0x1800527dc]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
movsxd r8, r8d
mov qword [rsp + 0x20], rbx
call fcn.1800249e4
mov rsi, rax
test al, al
je 0x18001ca67
mov eax, dword [0x180052820]
test eax, eax
jne 0x18001ca12
mov al, byte [0x18005271b]
movzx eax, byte [0x18005271b]
mov rdx, rbx
movsx rcx, word [rsp + 0x48]
cmp ax, r13w
setae dl
imul rcx, r12
add rcx, rdx
je 0x18001ca57
mov rax, qword [0x1800527f0]
add eax, 0x24
mov dword [0x180052820], eax
movzx eax, byte [0x1800526ef]
imul eax, eax, 0x84
mov dword [0x1800527fc], eax
jmp 0x18001ca75
movzx eax, word [0x180890880]
mov word [0x180052814], ax
jmp 0x18001ca75
mov eax, dword [rbp - 0x58]
add eax, 0x4d6aab98
mov dword [0x1800527e8], eax
mov ecx, dword [rsp + 0x78]
mov r9b, r12b
mov eax, dword [rbp - 0x80]
mov r8b, r12b
mov dl, byte [0x1800527c0]
imul ecx, eax
mov byte [rsp + 0x30], bl
mov byte [rsp + 0x28], 0x16
mov byte [rsp + 0x20], 0xa
xor ecx, 0x1d72d2
mov dword [rbp - 0x80], ecx
xor ecx, ecx
call fcn.180024268
movzx r9d, al
mov qword [rbp - 0x40], r9
test al, al
je 0x18001cada
mov rcx, qword [0x1800527e0]
mov rax, qword [0x1800527e0]
movsxd r12, dword [rbp - 0x5c]
add rcx, rax
movsx rax, r12w
add rcx, rax
mov qword [0x1800527e0], rcx
jmp 0x18001cb49
cmp word [0x18005279c], bx
mov r12d, dword [rbp - 0x5c]
je 0x18001cafb
mov rax, qword [rsp + 0x70]
lea r11d, [rax + 0x3d90]
lea edx, [rax + 0x3cd5]
jmp 0x18001cb54
mov eax, dword [0x1800527d8]
test eax, eax
je 0x18001cb28
movsx ecx, word [rsp + 0x42]
mov eax, dword [rsp + 0x5c]
movzx edx, byte [rbp - 0x60]
imul edx, ecx
mov ecx, ebx
test eax, eax
sete cl
sub cx, dx
mov word [0x18005274c], cx
jmp 0x18001cb49
mov al, byte [rsp + 0x40]
mov eax, dword [rsp + 0x5c]
movsx eax, byte [rsp + 0x40]
imul eax, eax, 0xffffff90
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0x70]
sub rax, r9
mov qword [rsp + 0x70], rax
mov edx, 0x3cd5
mov r11d, 0x3d90
mov eax, dword [0x180890880]
mov r10d, dword [rbp - 0x54]
mov dword [rsp + 0x50], eax
movsx eax, byte [0x18005271f]
cmp r10d, eax
je 0x18001cb84
mov edx, dword [rsp + 0x5c]
mov r9d, 4
add dl, 5
mov qword [rbp - 0x40], r9
mov dword [rbp - 0x60], edx
jmp 0x18001cbad
mov eax, dword [0x1800527d8]
test eax, eax
je 0x18001cbaa
movsx eax, word [rsp + 0x48]
imul eax, eax, 0x9b71
add r10d, eax
movsxd rax, edx
mov qword [0x1800527d0], rax
mov dword [rbp - 0x54], r10d
mov edx, dword [rbp - 0x60]
mov eax, dword [rsp + 0x50]
add eax, 0xbdb
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x50]
add eax, 0xf921
mov dword [rsp + 0x78], eax
mov word [0x18005274c], bx
movsx ecx, word [0x18005273c]
mov eax, dword [rsp + 0x64]
sub ecx, eax
mov eax, dword [rsp + 0x64]
add eax, ecx
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x70]
add al, 0x4b
mov byte [0x18005271e], al
movzx eax, word [0x18005274c]
test ax, ax
jne 0x18001cc13
mov dl, byte [0x180052703]
movsx eax, byte [0x1800526ee]
mov dword [0x180052808], eax
mov dword [rbp - 0x60], edx
mov eax, dword [rsp + 0x50]
mov ecx, ebx
movsxd r8, dword [rbp - 0x58]
add eax, 0x4e2a
mov dword [rsp + 0x78], eax
movzx eax, word [0x1800527cc]
sub ax, word [0x180052808]
cmp rdi, r8
mov word [0x180052814], ax
mov eax, ebx
sete cl
cmp rdi, 0x57
sete al
cmp ecx, eax
jb 0x18001cc55
movsxd r14, dword [0x180b0efa4]
mov eax, dword [rsp + 0x78]
or eax, 0x1a01
xor eax, 0x5812
cmp byte [r15], 0xb8
mov dword [rsp + 0x78], eax
jne 0x18001ce87
cmp byte [r15 + 5], 0x50
jne 0x18001ce87
cmp byte [r15 + 6], 0xc3
jne 0x18001ce87
movzx eax, dl
imul ecx, eax, 0x2a616895
mov dword [rsp + 0x5c], ecx
movzx ecx, byte [0x180052703]
mov rax, qword [rbp - 0x70]
add rax, rcx
mov qword [rbp - 0x70], rax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
movsx ecx, byte [rsp + 0x40]
sub ecx, 0x15752e92
mov dword [0x1800527dc], ecx
mov dword [rsp + 0x5c], 0xe2
mov ecx, dword [rsp + 0x50]
mov eax, dword [rbp - 0x80]
add ecx, eax
mov dword [rbp - 0x80], ecx
mov rax, qword [0x1800527d0]
test rax, rax
je 0x18001cd7f
mov al, byte [0x1800526ee]
mov al, byte [0x1800526ee]
test al, al
je 0x18001cd07
movzx eax, word [0x18005274c]
mov byte [0x1800526ee], al
jmp 0x18001cdac
mov eax, dword [0x180052820]
test eax, eax
je 0x18001cd2a
cmp qword [0x1800527c0], rbx
je 0x18001cd2a
mov rax, r9
shr rax, 2
mov dword [rsp + 0x5c], eax
jmp 0x18001cdac
mov rax, qword [0x180052800]
test rax, rax
je 0x18001cdac
mov edx, dword [0x18005280c]
mov eax, dword [0x1800527fc]
xor edx, eax
movsx ecx, word [0x18005274c]
movzx eax, word [rsp + 0x44]
add ecx, edx
mov rdx, rbx
mov rcx, rbx
sete dl
add rax, qword [0x180052828]
mov rax, qword [rbp - 0x78]
sete cl
add rcx, rdx
sub rcx, rax
sub rcx, 0x7e0fad5f
mov qword [0x180052818], rcx
jmp 0x18001cdac
test r14, r14
je 0x18001cdac
mov al, byte [0x18005279c]
movabs rcx, 0xd3b1683fab308
sub al, 0x73
mov byte [0x18005271f], al
mov eax, dword [0x180052824]
add rax, rcx
mov qword [0x180052818], rax
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x7c], ecx
lea eax, [r9 - 0x3c247470]
mov dword [0x180052824], eax
mov rcx, rbx
movsx rax, byte [0x18005272d]
imul rax, rdi
test rax, rax
sete cl
mov qword [rbp - 0x70], rcx
mov eax, dword [rsp + 0x50]
add eax, 0x87c
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x7c]
imul ecx, eax
mov eax, dword [rsp + 0x78]
sub ecx, eax
mov eax, dword [rbp - 0x80]
cmp eax, ecx
je 0x18001e0a7
movsx eax, word [0x18005273c]
movsx edx, byte [rsp + 0x40]
imul edx, eax
mov eax, 0x9cf4
test edx, edx
movzx edx, word [0x18005273c]
mov ecx, dword [0x1800527d8]
sete bl
xor dx, ax
mov eax, dword [rsp + 0x5c]
and dx, bx
add cx, ax
movzx eax, dx
movzx edx, cx
imul edx, eax
movzx eax, word [0x180052810]
movzx ecx, dx
mov rdx, qword [rbp - 0x30]
imul ecx, eax
movsxd rax, dword [0x1800527b4]
mov word [0x180052814], cx
mov rcx, qword [0x1800527f0]
sub rcx, rax
mov eax, 1
mov qword [0x1800527f0], rcx
mov qword [rdx], rax
mov eax, 3
jmp 0x18001e0a9
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
imul ecx, eax
cmp ecx, 0x7cf
je 0x18001e0a7
movsx ecx, byte [0x18005271f]
lea eax, [rcx + 0x3c31]
mov dword [rsp + 0x68], eax
mov eax, ecx
not eax
cmp eax, 0x7bfb
jg 0x18001cf1c
mov ecx, dword [0x180052824]
movzx eax, word [0x180052810]
add ecx, 0x43fa
mov qword [rbp - 0x78], rcx
add eax, 0xce
mov dword [0x1800527c8], eax
movsx eax, word [0x18005273c]
mov ecx, dword [rsp + 0x68]
add eax, 4
mov edx, dword [0x180052808]
add edx, eax
mov dword [rbp - 0x54], 4
movzx eax, word [0x1800527cc]
add ecx, eax
movsx eax, word [0x1800527ec]
imul ecx, edx
mov edx, dword [rbp - 0x60]
movsx ecx, cx
imul ecx, eax
mov word [0x18005271c], cx
jmp 0x18001cf37
movsx rcx, byte [0x1800526eb]
imul rcx, qword [0x180052828]
movsxd rax, r11d
xor rcx, rax
mov qword [rsp + 0x70], rcx
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
test r8d, r8d
je 0x18001cf59
mov al, byte [rsp + 0x40]
test al, al
je 0x18001cf59
mov r9d, 1
mov ecx, r9d
jmp 0x18001cf61
mov ecx, ebx
mov r9d, 1
movzx eax, word [rsp + 0x44]
test ax, ax
jne 0x18001cf71
mov eax, ebx
test dl, dl
jne 0x18001cf74
mov eax, r9d
movsx edx, r12w
or ecx, eax
cmp edx, ecx
jg 0x18001cfe1
test rdi, rdi
jne 0x18001cf8a
mov eax, ebx
test r8d, r8d
je 0x18001cf8d
mov eax, r9d
cmp eax, edx
jle 0x18001cfba
movsx eax, byte [0x18005271e]
mov edx, 0xd
mov dword [0x1800527d8], eax
movsx eax, byte [rsp + 0x40]
sub edx, eax
mov eax, dword [0x18005280c]
add eax, edx
mov dword [0x18005280c], eax
jmp 0x18001cfe1
test rdi, rdi
je 0x18001cfe1
lea eax, [r8 - 0xe03d]
movsxd rcx, eax
mov eax, 0x5ec6
add ax, word [0x180052824]
mov qword [0x180052830], rcx
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x50]
lea rcx, [rbp + 0x18]
add eax, 0x5890
mov dword [rbp - 0x4c], eax
mov eax, dword [rsp + 0x50]
add eax, 0x613
mov dword [rbp - 0x50], eax
mov eax, dword [0x18005280c]
mov dword [0x1800527c8], eax
mov eax, dword [rsp + 0x50]
movups xmm0, xmmword [str.InvalidSecurityTok]
add eax, 0xa1bb
movups xmm1, xmmword [0x180039950]
mov dword [rbp - 0x50], eax
mov eax, dword [0x180039960]
mov dword [rbp + 0x38], eax
movzx eax, word [0x180039964]
mov word [rbp + 0x3c], ax
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movups xmm0, xmmword [str.PrtRefreshTimeout]
mov word [0x1800527cc], ax
lea rcx, [rbp + 0x90]
movups xmm1, xmmword [0x180039978]
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movups xmmword [rbp + 0x90], xmm0
mov dword [rbp + 0xb0], eax
movups xmmword [rbp + 0xa0], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x18005279c], ax
mov r8d, 0xd83
mov eax, dword [rbp - 0x4c]
mov r9d, 1
imul ecx, eax, 0x3785
mov eax, 0x1334f868
sub eax, ecx
mov dword [rbp - 0x50], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
movzx eax, word [rsp + 0x48]
add ax, ax
mov word [0x180052814], ax
mov rax, qword [0x180052818]
mov rax, qword [0x1800527b8]
mov edx, ebx
cmp rax, qword [0x1800527c0]
mov ecx, ebx
mov rax, qword [0x1800527b8]
sete dl
cmp rax, 0x5d
sete cl
cmp edx, ecx
je 0x18001d0f7
mov sil, byte [0x180890880]
jmp 0x18001d0fe
movzx eax, word [0x18005273c]
sub r8, r9
jne 0x18001d0c7
mov eax, dword [rsp + 0x50]
lea edx, [r8 + 0x33]
add eax, 0x57c
lea r10d, [r8 + 0x51]
mov dword [rbp - 0x4c], eax
mov r8d, 0x200
mov rax, qword [0x1800527d0]
movzx ecx, word [0x1800527cc]
sub rcx, rax
mov rax, qword [0x1800527d0]
add rax, rcx
mov qword [0x1800527d0], rax
movzx r14d, byte [0x1800526ef]
movzx eax, word [0x18005273c]
add ax, r9w
mov word [0x18005273c], ax
lea r12d, [r10 + r14]
sub r8, r9
jne 0x18001d11d
movzx eax, word [rsp + 0x4c]
add ax, r9w
mov word [rsp + 0x4c], ax
sub rdx, r9
jne 0x18001d117
mov eax, dword [rsp + 0x50]
add eax, 0x579
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rsp + 0x50]
add eax, 0x612
mov dword [rsp + 0x78], eax
mov byte [0x1800526ee], bl
movzx ecx, byte [0x18005271b]
sub rcx, 0x42b49d52
mov qword [0x1800527e0], rcx
movzx eax, byte [0x1800526ea]
imul eax, eax, 0x23b8b5e1
movsxd rcx, eax
mov qword [rbp - 0x78], rcx
mov al, byte [0x1800526ee]
test al, al
jne 0x18001d1e4
mov al, dil
sub al, byte [0x180052810]
not al
xor al, byte [0x180052808]
mov byte [0x1800526ee], al
mov eax, dword [0x1800399b0]
lea rcx, [rbp + 0x40]
movups xmm0, xmmword [0x180039990]
mov dword [rbp + 0x60], eax
movups xmm1, xmmword [0x1800399a0]
movzx eax, word [0x1800399b4]
movups xmmword [rbp + 0x40], xmm0
mov word [rbp + 0x64], ax
movups xmmword [rbp + 0x50], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x42], al
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x7c]
sub ecx, eax
mov eax, dword [rbp - 0x4c]
imul eax, eax, 0x777b
imul edx, ecx, 0x1a6
add eax, 0xfd70bd4f
add eax, edx
cmp byte [r15], 0xa1
mov dword [rbp - 0x4c], eax
jne 0x18001d4ad
cmp byte [r15 + 5], 0xff
jne 0x18001d4ad
cmp byte [r15 + 6], 0xe0
jne 0x18001d4ad
movzx eax, byte [rsp + 0x42]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov edx, 0xd0
mov eax, 0x46
mov qword [rsp + 0x20], rax
lea ecx, [rax + 0x6c]
lea r8d, [rax + 0x58]
call fcn.1800246b4
mov dword [0x180052704], eax
mov edx, ebx
movzx eax, word [0x18005274c]
movabs r9, 0x5709f17c045ba
mov al, byte [0x1800526ea]
mov rax, qword [rbp - 0x70]
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
movsx eax, word [0x18005271c]
imul eax, eax, 0x25631f34
mov dword [0x1800527e8], eax
mov eax, dword [rsp + 0x50]
add eax, 0x7cf
mov dword [rbp - 0x68], eax
movsx ecx, byte [rsp + 0x40]
movzx eax, byte [rsp + 0x42]
not ecx
cmp eax, ecx
mov eax, dword [0x180052824]
mov ecx, ebx
setl dl
cmp rax, r9
setae cl
cmp edx, ecx
jbe 0x18001d358
mov edx, 0x3c
xor ecx, ecx
lea r9d, [rdx + 0x72]
lea r8d, [rdx - 0x35]
call fcn.1800243a8
mov byte [0x18005271b], al
mov edx, ebx
mov al, byte [0x18005271b]
mov ecx, ebx
cmp al, 4
mov al, byte [0x18005271b]
setbe dl
test al, al
sete cl
cmp ecx, edx
ja 0x18001d383
mov cl, byte [0x1800526ef]
mov al, byte [rsp + 0x42]
test al, cl
je 0x18001d383
movsx eax, word [rsp + 0x48]
movsx edx, word [rsp + 0x4c]
imul edx, eax
movzx eax, word [rsp + 0x4c]
or ax, dx
mov word [rsp + 0x4c], ax
jmp 0x18001d383
movzx eax, word [0x1800527ec]
test ax, ax
je 0x18001d383
mov ecx, eax
movzx eax, word [0x1800527cc]
or ecx, eax
mov eax, dword [rsp + 0x5c]
inc eax
xor ecx, 0xc050bf2e
add ecx, eax
mov dword [0x180052808], ecx
mov ecx, dword [rsp + 0x50]
mov edx, ebx
mov eax, dword [rbp - 0x50]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov rcx, qword [0x1800527b8]
movsx rax, word [0x18005279c]
cmp rax, rcx
mov rax, qword [0x1800527f0]
mov ecx, ebx
setne dl
cmp qword [0x180052830], rax
setl cl
xor ecx, edx
neg ecx
add ecx, ecx
je 0x18001d3f0
movzx ecx, word [0x18005279c]
mov edx, ebx
movzx eax, word [rsp + 0x48]
cmp cx, ax
mov eax, ebx
setl dl
cmp cx, 0x12
setl al
cmp edx, eax
jbe 0x18001d405
mov sil, byte [0x180052703]
shr sil, 6
jmp 0x18001d405
mov rax, qword [0x180052818]
mov esi, dword [rbp - 0x54]
mov rax, qword [0x1800527f0]
shl sil, 4
mov eax, dword [rsp + 0x50]
add eax, 0x589
mov dword [rbp - 0x50], eax
mov eax, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x4c]
mov edx, dword [rbp - 0x50]
sub ecx, eax
add edx, 0x14c
imul edx, ecx
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
add ecx, eax
cmp ecx, edx
je 0x18001e0a7
movzx eax, byte [rsp + 0x42]
mov edx, 0xca
mov ecx, dword [rsp + 0x5c]
mov r9d, 1
mov r8d, dword [rbp - 0x58]
sub ecx, eax
mov eax, 0x6d9f
mov dword [rsp + 0x5c], ecx
add eax, r8d
mov word [0x18005279c], ax
test sil, sil
je 0x18001d487
movzx ecx, byte [0x1800526ef]
mov rax, qword [0x180052828]
add rax, 0xffffffffffffff6f
add rcx, rax
mov qword [0x180052828], rcx
jmp 0x18001d4a3
mov eax, dword [0x1800527dc]
cmp r8d, eax
jle 0x18001d4a3
movzx eax, word [rsp + 0x4c]
movzx eax, word [rsp + 0x44]
mov rax, qword [0x1800527d0]
sub rdx, r9
jne 0x18001d462
jmp 0x18001d78b
mov edx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
add edx, eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x48]
add ecx, eax
cmp edx, ecx
je 0x18001e0a7
movzx ecx, byte [rsp + 0x42]
mov r9d, 0xc6
mov edx, 0x34
mov qword [rsp + 0x20], 0x2e
lea r8d, [r9 + 0x26]
call fcn.180024b5c
mov word [0x18005279c], ax
test ax, ax
jg 0x18001d57f
mov r8d, dword [rbp - 0x54]
mov qword [rbp - 0x70], rbx
mov al, byte [0x18005271b]
add al, r8b
movzx ecx, dil
mov r8d, dword [rbp - 0x58]
movzx edx, al
imul edx, ecx
movzx eax, r8b
mov r8d, ebx
movzx r9d, dl
mov rdx, qword [0x1800527d0]
imul r9d, eax
movzx eax, word [rsp + 0x48]
test rdx, rdx
movzx ecx, al
mov rax, qword [rbp - 0x70]
cmove r8d, ecx
mov al, byte [0x1800526ee]
add sil, sil
mov edx, dword [rsp + 0x68]
sub r9b, r8b
sub sil, byte [0x18005271f]
mov ecx, ebx
test al, al
mov byte [rbp - 0x60], r9b
movsx eax, byte [0x18005272d]
sete cl
imul edx, ecx
not edx
add eax, edx
mov dword [rsp + 0x5c], eax
mov rax, qword [0x1800527b8]
jmp 0x18001d5db
movsx r10d, word [rsp + 0x4c]
mov rcx, qword [rsp + 0x70]
movsx rax, byte [0x18005271e]
mov r8, qword [0x180052818]
mov rdx, qword [0x180052830]
movsx r9d, word [0x18005279c]
imul ecx, eax
movzx eax, word [0x1800527cc]
imul r8d, eax
movzx eax, r13w
imul rax, rdx
xor r8d, ecx
mov edx, ebx
test rax, rax
mov ecx, ebx
cmove edx, r8d
cmp r10d, r9d
cmove ecx, r8d
sub edx, ecx
mov dword [0x1800527b4], edx
movsx eax, word [0x18005273c]
mov edx, dword [0x1800527c8]
sub edx, eax
mov eax, dword [0x1800527c8]
add eax, edx
mov edx, ebx
mov dword [0x1800527c8], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x54], eax
movzx ecx, byte [0x1800526ea]
mov rax, qword [rbp - 0x78]
cmp rcx, rax
mov al, byte [0x1800526ea]
mov ecx, ebx
sete dl
cmp al, 0x3a
sete cl
cmp edx, ecx
jae 0x18001d67c
movzx eax, word [0x180890880]
mov r8d, 0x96
mov word [0x1800527f8], ax
mov r15d, 1
movzx eax, r12w
imul r9d, eax, 0x84
movsx ecx, word [rsp + 0x48]
mov eax, dword [rsp + 0x68]
mov edx, dword [0x180052824]
sub edx, r9d
imul ecx, edx
imul eax, ecx
mov qword [rsp + 0x70], rax
movsx eax, word [rsp + 0x48]
sub dword [0x1800527b4], eax
sub r8, r15
jne 0x18001d64b
mov r15, qword [rbp - 0x20]
mov eax, dword [rsp + 0x54]
add eax, 0x7f2
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x18001d6bf
movzx eax, word [0x1800399c8]
lea rcx, [rbp - 0x18]
movups xmm0, xmmword [str.._AUIBindableVecto]
mov word [rbp - 8], ax
mov al, byte [0x1800399ca]
mov byte [rbp - 6], al
movups xmmword [rbp - 0x18], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rbp - 0x58], eax
jmp 0x18001d704
mov al, byte [0x1800526ee]
mov edx, ebx
test al, al
mov ecx, ebx
mov eax, dword [rsp + 0x5c]
sete dl
cmp edx, eax
mov edx, dword [0x180052820]
movzx eax, word [rsp + 0x44]
setbe cl
sub edx, ecx
cmp edx, eax
je 0x18001d704
movzx eax, word [0x18005274c]
mov ecx, dword [0x1800527d8]
mov eax, dword [rsp + 0x68]
xor cl, 0xa5
or al, cl
mov byte [0x18005272d], al
mov eax, dword [rsp + 0x54]
add eax, 0x8c7
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x865
cmp byte [r15], 0xa1
mov dword [rbp - 0x48], eax
jne 0x18001d797
cmp byte [r15 + 5], 0x50
jne 0x18001d797
cmp byte [r15 + 6], 0xc3
jne 0x18001d797
cmp dword [0x180052824], ebx
mov rax, qword [0x180052818]
jne 0x18001d747
movzx eax, byte [0x1800526ef]
mov byte [0x1800526ef], al
mov al, byte [rsp + 0x42]
mov rax, qword [rbp - 0x78]
test rax, rax
jne 0x18001d785
movzx ecx, byte [0x1800526ef]
mov eax, dword [0x1800527d8]
sub ecx, eax
mov eax, dword [rsp + 0x5c]
add ecx, eax
movsx eax, byte [0x18005272d]
imul eax, ecx
not eax
mov qword [rbp - 0x78], rax
mov eax, dword [0x18005280c]
mov r9d, 1
mov rdx, qword [rbp - 0x30]
mov qword [rdx], r9
jmp 0x18001ce7d
mov eax, dword [rbp - 0x64]
mov ecx, 0x2a9
sub ecx, eax
mov eax, dword [rsp + 0x60]
mov edx, dword [rbp - 0x28]
add ecx, eax
add edx, ecx
mov ecx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x64]
add ecx, eax
cmp edx, ecx
je 0x18001e0a7
movzx ecx, byte [0x18005271b]
mov rax, qword [rbp - 0x70]
cmp rax, rcx
ja 0x18001d7e8
mov eax, dword [0x180052808]
add rdi, rax
mov eax, dword [0x1800527b4]
add eax, 0xffff28eb
mov dword [0x1800527dc], eax
jmp 0x18001d7fe
movzx eax, byte [rsp + 0x42]
mov rcx, qword [rbp - 0x70]
add rax, 0xad
xor rcx, rax
mov qword [rbp - 0x70], rcx
mov eax, dword [0x180890880]
mov dword [rbp - 0x4c], eax
mov qword [0x1800527b8], rbx
mov rax, qword [0x1800527b8]
test rax, rax
jne 0x18001d836
movsx ecx, word [0x18005273c]
sub ecx, 0x74
mov dword [0x18005280c], ecx
mov ecx, dword [0x180890880]
mov qword [rbp - 0x78], rcx
jmp 0x18001d83c
mov ecx, dword [0x180890880]
mov dword [rsp + 0x54], ecx
mov eax, 2
mov word [0x18005271c], ax
mov eax, dword [0x1800527e8]
mov byte [rsp + 0x40], al
movsx eax, word [0x18005271c]
mov ecx, eax
test eax, eax
je 0x18001d8dd
sub ecx, 1
je 0x18001d8a9
cmp ecx, 1
jne 0x18001d8f5
movzx eax, word [rsp + 0x48]
movzx ecx, word [rsp + 0x44]
sub cx, ax
movsx rax, byte [0x18005271e]
mov word [rsp + 0x44], cx
mov rcx, qword [0x1800527b8]
imul rcx, rax
mov rax, qword [0x1800527b8]
sub rax, rcx
mov qword [0x1800527b8], rax
jmp 0x18001d8f5
movzx ecx, word [0x180052824]
movzx eax, byte [rbp - 0x60]
sub cx, ax
mov eax, 0x81
cwde
movsx ecx, cx
imul ecx, eax
mov word [0x18005273c], cx
movsx ecx, word [rsp + 0x4c]
lea eax, [rcx + rcx]
cdqe
mov qword [0x1800527d0], rax
jmp 0x18001d8f5
mov dword [0x18005280c], 0x7b
movzx eax, byte [rsp + 0x42]
sub eax, 0x4dd92982
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
mov edx, ebx
movzx ecx, word [0x180052814]
add eax, 0x5aa
mov dword [rsp + 0x60], eax
not ecx
movsx eax, sil
mov esi, dword [rbp - 0x58]
not eax
add ecx, eax
mov rax, rdi
mov ecx, ebx
sete dl
imul rax, qword [0x180052830]
test rax, rax
sete cl
sub cx, dx
mov word [rsp + 0x4c], cx
mov eax, dword [rsp + 0x54]
movzx ecx, word [0x180052810]
add eax, 0x2547
mov dword [rbp - 0x48], eax
movsx eax, word [0x18005279c]
cmp ecx, eax
jle 0x18001d968
movzx eax, word [0x1800527cc]
cmp qword [rbp - 0x40], rbx
cmovne ax, si
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x54]
mov edx, 0x2e4e
add eax, 0x564
mov r8d, ebx
cmp byte [0x18005271f], bl
mov dword [rsp + 0x60], eax
movsx rax, byte [0x18005272d]
cmovne rax, qword [0x1800527d0]
mov qword [rsp + 0x70], rax
movsxd rcx, dword [0x180052704]
mov rax, qword [0x180052818]
sub ax, cx
mov word [rsp + 0x44], ax
mov eax, dword [0x1800527e8]
movsx ecx, al
imul eax, ecx, 0x49
mov byte [rsp + 0x40], al
mov eax, dword [0x1800527b4]
sar eax, 4
mov word [0x18005274c], ax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbp - 0x48]
or ecx, eax
mov eax, dword [rsp + 0x7c]
sub edx, ecx
sub edx, eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x7c]
sub edx, eax
mov eax, dword [rsp + 0x50]
add ecx, edx
add eax, ecx
mov dword [rbp - 0x48], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x575
mov dword [rsp + 0x60], eax
mov eax, dword [0x1800527e8]
mov eax, dword [rsp + 0x54]
add eax, 0x7e09
mov dword [rsp + 0x60], eax
mov ecx, dword [rsp + 0x64]
movzx eax, word [0x180052808]
add word [0x18005279c], ax
mov eax, dword [rsp + 0x64]
imul ecx, eax
mov dword [rsp + 0x64], ecx
mov eax, dword [rsp + 0x54]
movsx edx, byte [0x18005271e]
add eax, 0x5cb
movzx ecx, word [0x180052814]
cmp edx, ecx
mov dword [rbp - 0x64], eax
mov eax, ebx
setg r8b
cmp dl, 0x38
setg al
cmp r8d, eax
ja 0x18001da79
mov rax, rdi
and eax, 0x5cf31e14
mov qword [0x180052830], rax
jmp 0x18001da92
mov eax, dword [0x180052820]
imul eax, eax, 0x29
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x5c]
mov word [0x1800527cc], ax
mov eax, dword [0x1800399f0]
lea rcx, [rbp + 0x68]
movups xmm0, xmmword [str.UnsupportedAlgorit]
mov dword [rbp + 0x88], eax
movups xmm1, xmmword [0x1800399e0]
movzx eax, word [0x1800399f4]
movups xmmword [rbp + 0x68], xmm0
mov word [rbp + 0x8c], ax
movups xmmword [rbp + 0x78], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x5c], eax
mov ecx, dword [rbp - 0x64]
mov eax, dword [rbp - 0x64]
or ecx, eax
mov eax, 0xc7b
sub eax, ecx
mov dword [rbp - 0x50], eax
mov eax, dword [0x180052820]
cmp eax, dword [0x180052824]
jbe 0x18001db0e
mov eax, dword [0x180890880]
mov ecx, 0x2b6c
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x64]
add ax, cx
mov word [rsp + 0x44], ax
jmp 0x18001db26
movzx edx, word [rsp + 0x48]
mov eax, ebx
movsx ecx, word [rsp + 0x48]
test dx, dx
cmove eax, ecx
mov dword [0x180052808], eax
mov eax, dword [0x180890880]
xor edx, edx
movzx ecx, r12w
mov dword [rsp + 0x54], eax
call fcn.180024070
mov byte [0x1800526eb], al
test al, al
jle 0x18001db5f
mov eax, dword [rsp + 0x68]
mov ecx, 0xcd
add ax, cx
add word [0x180052814], ax
mov byte [0x180052703], 0x5a
mov eax, dword [rsp + 0x54]
add eax, 0x579
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x54]
add eax, 0x574
mov dword [rsp + 0x60], eax
movzx eax, word [rsp + 0x44]
mov rcx, qword [0x1800527f0]
sub rcx, rax
mov qword [0x1800527f0], rcx
mov eax, dword [rsp + 0x54]
add eax, 0x539
mov dword [rbp - 0x64], eax
mov rax, qword [0x1800527f0]
test rax, rax
jne 0x18001dbcc
mov eax, dword [0x180052824]
test eax, eax
je 0x18001dbcc
mov ecx, 0x462d
add ax, cx
mov word [0x18005274c], ax
mov eax, 0x4120
sub si, ax
movzx r13d, si
mov ecx, dword [rbp - 0x64]
mov esi, 1
mov eax, dword [rbp - 0x64]
add r13w, si
xor ecx, eax
mov r8d, 0x8ef
mov eax, 0x546
sub eax, ecx
mov dword [rsp + 0x78], eax
movzx eax, word [rsp + 0x44]
add rax, 0xc2
mov qword [0x1800527c0], rax
mov eax, dword [0x180890880]
mov dword [rsp + 0x54], eax
mov al, byte [0x180052703]
mov byte [0x180ba187a], al
mov eax, dword [rsp + 0x54]
add eax, 0xc05d
mov dword [rsp + 0x60], eax
mov rcx, qword [rsp + 0x70]
movsx rax, byte [0x1800526eb]
imul rcx, rax
mov qword [rsp + 0x70], rcx
mov ecx, 0x3afc
mov eax, dword [0x180052820]
sub ax, cx
mov word [0x18005279c], ax
mov eax, dword [rsp + 0x54]
add eax, 0x53f
mov dword [rbp - 0x64], eax
mov eax, dword [rsp + 0x54]
add eax, 0xfe1
cmp qword [0x180052828], rbx
mov dword [rsp + 0x60], eax
mov eax, ebx
sete al
mov dword [rsp + 0x68], eax
lea eax, [rsi + 7]
mov word [rsp + 0x44], ax
mov al, byte [0x18005271b]
mov eax, dword [0x18005280c]
test eax, eax
mov dl, byte [rsp + 0x40]
sete al
movsx ecx, dil
add dl, al
movsx eax, byte [0x1800527f8]
imul ecx, eax
add dl, sil
not cl
xor cl, dl
mov byte [0x18005271f], cl
sub r8, rsi
jne 0x18001dc7f
mov ecx, dword [rbp - 0x64]
mov eax, dword [rbp - 0x64]
sub ecx, eax
mov eax, dword [rsp + 0x60]
add eax, 0xb77e
imul eax, ecx
add eax, 0x26f
cmp byte [r15], 0x90
mov dword [rbp - 0x80], eax
jne 0x18001dcfb
cmp byte [r15 + 1], 0x90
jne 0x18001dcfb
cmp byte [r15 + 3], 0xe9
jne 0x18001dcfb
lea eax, [r8 + 4]
lea ecx, [rax - 1]
mov rdx, qword [rbp - 0x30]
mov qword [rdx], rax
mov eax, ecx
jmp 0x18001e0a9
cmp byte [r15 + 5], 0xff
jne 0x18001df46
cmp byte [r15 + 6], 0x25
jne 0x18001df46
movzx eax, word [rsp + 0x44]
mov edx, ebx
cmp ax, r13w
mov ecx, ebx
movzx eax, word [rsp + 0x44]
seta dl
cmp edx, ebx
jb 0x18001dd5e
mov rax, qword [0x1800527b8]
not rax
test rax, rax
je 0x18001dd5e
mov eax, dword [0x18005280c]
mov rax, qword [0x1800527e0]
movsx ecx, ax
imul eax, ecx, 0xffffffcd
mov word [0x18005279c], ax
movsx eax, byte [rbp - 0x60]
imul ecx, eax, 0xffffff89
mov byte [rsp + 0x40], cl
movzx eax, byte [0x1800526ef]
add rdi, rax
mov eax, dword [0x180890880]
mov qword [0x180052800], rdi
mov dword [rsp + 0x54], eax
mov rcx, qword [0x1800527b8]
movsxd rax, dword [rbp - 0x4c]
cmp rax, rcx
jae 0x18001dda2
mov rax, qword [0x1800527e0]
mov ecx, 0x21f3
add ax, cx
mov word [rsp + 0x4c], ax
jmp 0x18001de43
mov eax, dword [rsp + 0x5c]
cmp rdi, rax
je 0x18001ddc6
mov rax, qword [rbp - 0x70]
mov dword [0x180baaadc], eax
mov eax, 0x2336
sub r14w, ax
mov word [rsp + 0x48], r14w
jmp 0x18001de43
mov rcx, qword [0x1800527d0]
mov edx, ebx
movzx eax, r13w
cmp rcx, rax
movsx eax, word [0x18005271c]
setg dl
cmp edx, eax
je 0x18001de43
movsx ecx, byte [0x1800526ee]
mov edx, ebx
cmp byte [0x1800526eb], bl
movsx eax, word [0x18005279c]
sete dl
imul ecx, edx
xor eax, ecx
mov dword [0x1800527fc], eax
movsx rcx, word [rsp + 0x4c]
mov rax, qword [rbp - 0x78]
xor rax, rcx
mov rcx, rbx
cmp rax, qword [0x1800527c0]
mov eax, dword [0x180052820]
sete cl
not eax
sub rcx, qword [0x180052830]
sub rcx, rdi
add rcx, rax
mov rax, qword [rbp - 0x70]
sub cl, al
mov byte [0x1800526ee], cl
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x48]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov ecx, 0x1d1
mov eax, dword [0x180052704]
add eax, esi
mov dword [0x180052704], eax
sub rcx, rsi
jne 0x18001de55
mov eax, dword [rsp + 0x54]
xor r9d, r9d
add eax, 0x8bf
xor r8d, r8d
mov dword [rsp + 0x60], eax
mov ecx, 0x9a
movsx rdx, word [0x18005271c]
mov rax, qword [0x1800527d0]
mov qword [rsp + 0x20], rax
call fcn.180024b5c
cmp eax, 0x5b
mov dword [0x1800527b4], eax
mov ecx, ebx
sete cl
test eax, eax
sete bl
cmp ebx, ecx
jb 0x18001def1
movzx eax, byte [0x180052703]
cmp rax, qword [0x1800527c0]
jl 0x18001deea
mov eax, 0x1840
mov word [0x18005273c], ax
movzx eax, word [rsp + 0x44]
mov edx, dword [0x1800527fc]
movsx ecx, word [rsp + 0x48]
add edx, eax
not edx
add ecx, edx
mov dword [0x1800527b4], ecx
jmp 0x18001df0c
movzx eax, word [rsp + 0x4c]
jmp 0x18001df0c
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x64]
cmp ecx, eax
jbe 0x18001df0c
mov rax, qword [0x1800527f0]
sar rax, 8
mov qword [rbp - 0x78], rax
mov ecx, dword [rsp + 0x54]
add ecx, 0x8d3
mov dword [rbp - 0x64], ecx
mov edx, dword [rbp - 0x64]
mov ecx, dword [rbp - 0x64]
imul edx, ecx
mov ecx, dword [rsp + 0x60]
sub ecx, 0x10a
cmp ecx, edx
je 0x18001e0a7
mov rdx, qword [rbp - 0x30]
mov eax, esi
mov qword [rdx], 7
jmp 0x18001e0a9
cmp byte [r15], 0x48
jne 0x18001e0a7
cmp byte [r15 + 1], 0xff
jne 0x18001e0a7
cmp byte [r15 + 2], 0x25
jne 0x18001e0a7
mov al, byte [0x180052814]
mov edx, 0x1b5
sub al, 0x70
mov byte [0x1800526eb], al
mov ecx, dword [0x1800527c8]
mov eax, dword [rsp + 0x5c]
sub ecx, eax
mov dword [0x1800527c8], ecx
sub rdx, rsi
jne 0x18001df79
movzx ecx, word [0x1800527cc]
mov edx, ebx
mov rax, qword [rsp + 0x70]
cmp rax, rcx
mov rax, qword [rsp + 0x70]
mov ecx, ebx
setne dl
cmp rax, 0x5a
setne cl
cmp edx, ecx
je 0x18001dfe9
movzx eax, word [rsp + 0x48]
mov rcx, rbx
test ax, ax
movsx eax, byte [0x18005271e]
sete cl
add rcx, qword [0x1800527c0]
sete bl
or eax, ebx
mov dword [0x1800527c8], eax
mov eax, 0xffffdc14
mov word [rsp + 0x48], ax
jmp 0x18001e00e
movsx eax, byte [0x18005272d]
add eax, 0x49031367
cdqe
mov qword [0x1800527f0], rax
movsx eax, byte [0x18005271f]
and eax, 0x8cad720f
mov dword [rsp + 0x5c], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x8ae
mov dword [rsp + 0x60], eax
mov eax, dword [0x1800527d8]
mov byte [0x18005271e], al
movzx eax, word [rsp + 0x44]
movzx eax, word [rsp + 0x4c]
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x50]
add ecx, eax
mov dword [rbp - 0x48], ecx
mov eax, 0xb864dd25
mov qword [rsp + 0x70], rax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x54], ecx
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x60]
sub ecx, eax
mov eax, dword [rsp + 0x54]
mov edx, dword [rbp - 0x48]
imul eax, ecx
mov ecx, dword [rsp + 0x54]
imul edx, eax
mov eax, dword [rbp - 0x80]
and ecx, eax
cmp ecx, edx
je 0x18001e0a7
movzx eax, word [0x180b10b70]
mov ecx, dword [0x1800527c8]
and ecx, eax
mov eax, esi
mov dword [0x1800527c8], ecx
mov rdx, qword [rbp - 0x30]
mov qword [rdx], 3
jmp 0x18001e0a9
xor eax, eax
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.18002ca80
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret