Function at 0x18001e43c
Capabilities:
Authenticate hmac

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2258]
mov eax, 0x2330
call fcn.18002c4b0
sub rsp, rax
mov rax, qword [0x18004fa38]
xor rax, rsp
mov qword [rbp + 0x2220], rax
movsx rax, byte [0x18004f58e]
xor ebx, ebx
mov qword [rbp - 0x68], rax
mov r12d, 0xbb
mov r10d, dword [0x18004f654]
mov r11d, 0xd6e7
mov eax, dword [0x18004f634]
mov word [rsp + 0x64], ax
mov rax, qword [0x18004f600]
lea r13d, [r12 + 5]
mov dword [rsp + 0x7c], eax
movabs rax, 0xe50c503a1ee80
movsx r15d, word [0x18004f650]
movzx esi, word [0x18004f648]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x80], 0x90
mov dword [rbp - 0x74], 0xee
mov byte [rsp + 0x50], 0x28
movzx eax, word [0x18004f630]
mov dword [rsp + 0x6c], eax
movsxd rax, dword [0x18004f54c]
mov qword [rbp - 0x48], rax
mov eax, dword [0x18004f62c]
mov r9d, dword [0x18004f54c]
mov byte [rsp + 0x58], al
add r9d, 0x38a7cfc1
movabs rax, 0xc8b9d252e1d5e
mov byte [rbp - 0x28], dl
mov qword [rbp - 0x18], rax
mov edx, ebx
mov rax, qword [0x18004f658]
mov dword [rsp + 0x78], eax
mov qword [rbp + 0x20], 0x50
mov byte [rsp + 0x74], 0x7b
mov word [rsp + 0x74], ax
mov qword [rbp + 0x20], 0x7f
mov eax, dword [0x18004f654]
mov byte [rsp + 0x74], al
mov eax, 0xffffa4f5
mov word [rsp + 0x74], ax
mov rax, qword [0x18004f620]
mov qword [rbp + 0x20], rax
mov al, byte [0x18004f537]
movsx eax, word [0x18004f66c]
mov dword [rsp + 0x70], eax
movsx rax, word [0x18004f650]
mov qword [rbp + 0x20], rax
mov byte [rsp + 0x74], 0xbe
movsx eax, byte [0x18004f535]
mov dword [rsp + 0x70], eax
mov eax, 0x62d7
mov word [rsp + 0x74], ax
movsx eax, byte [0x18004f537]
mov word [rsp + 0x74], ax
mov eax, dword [0x18004f62c]
mov byte [rsp + 0x74], al
mov rax, qword [0x18004f610]
mov qword [rbp + 0x20], rax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
mov al, byte [0x18004f620]
sub al, 0x11
mov byte [0x18004f58e], bl
mov byte [0x18004f58f], al
mov eax, dword [rsp + 0x5c]
add eax, 0x33d
mov qword [rbp + 0x58], r8
mov dword [rbp - 0x60], eax
movzx eax, word [0x1809e7d20]
mov word [0x18004f618], ax
mov eax, dword [rsp + 0x5c]
add eax, 0x1bd
movsxd r14, ecx
mov dword [rsp + 0x70], eax
movsx eax, byte [0x18004f58f]
cmp dword [0x18004f5cc], eax
mov word [rbp - 0x70], r15w
sete dl
mov dword [rbp - 0x4c], r12d
mov dword [rbp - 0x50], 0x70f
mov qword [rbp - 0x30], r13
cmp dword [0x18004f5cc], 0xd
lea ecx, [rbx + 2]
mov eax, ebx
lea r8d, [r12 - 0x22]
sete al
cmp edx, eax
jb 0x18001e6ab
mov byte [rsp + 0x58], cl
mov ecx, dword [rsp + 0x6c]
movsx eax, r10w
imul eax, ecx
mov rcx, qword [rbp - 0x40]
cdqe
imul rcx, rax
mov qword [0x18004f648], rcx
movsx ecx, byte [rsp + 0x58]
sub ecx, 1
je 0x18001e69d
cmp ecx, 1
jne 0x18001e6ab
mov ecx, ebx
mov dword [rbp - 0x74], r12d
mov eax, dword [rsp + 0x7c]
test eax, eax
mov edx, dword [rbp - 0x80]
sete cl
add edx, ecx
lea ecx, [r9 + 0x70f]
and rdx, rcx
mov qword [rbp - 0x40], rdx
jmp 0x18001e6ab
mov r13d, 0x7faf8cb2
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x30], r13
mov eax, dword [rsp + 0x5c]
mov r8d, 3
add eax, 0x291
mov dword [rsp + 0x54], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
lea r10d, [r8 - 2]
mov eax, dword [rsp + 0x5c]
add eax, 0x30c
mov dword [0x18004f644], 0xb26c1c82
mov dword [rsp + 0x68], eax
mov rax, qword [0x18004f660]
add rax, 0xffffffffffffff98
mov qword [0x18004f648], rax
mov eax, dword [rsp + 0x5c]
add eax, 0x3a4
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x213
mov dword [rbp - 0x24], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x5ae1
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x5c]
mov rdi, qword [0x18004f5f8]
add eax, 0xba
mov dword [rbp - 0x54], eax
movzx ecx, word [0x18004f61c]
mov qword [rbp - 8], rdi
lea rax, [rdi + 0xe2]
and cx, ax
mov word [0x18004f61c], cx
mov eax, dword [rsp + 0x5c]
add eax, 0x37
mov dword [rbp - 0x78], eax
movsx ecx, byte [0x18004f54b]
mov eax, dword [0x18004f634]
cmp ecx, eax
je 0x18001e7bd
mov al, byte [0x18004f535]
cmp byte [0x18004f536], al
jg 0x18001e791
mov eax, dword [0x18004f63c]
sub eax, r10d
mov dword [0x18004f63c], eax
jmp 0x18001e831
test edi, edi
jne 0x18001e831
mov rax, qword [rbp - 0x40]
sub r13d, 0x138d2c
mov qword [rbp - 0x30], r13
test rax, rax
je 0x18001e7b7
movsx r8d, byte [0x18004f54b]
jmp 0x18001e831
movzx r8d, r13w
jmp 0x18001e831
movzx eax, word [0x18004f61c]
movzx eax, word [0x18004f650]
cmp r10w, ax
jle 0x18001e7ed
mov rax, qword [rbp - 0x68]
movabs rcx, 0xc8b9d252db212
add rax, rcx
mov qword [rbp - 0x68], rax
mov byte [rsp + 0x58], 0x24
jmp 0x18001e831
mov eax, dword [0x18004f634]
mov edx, ebx
test eax, eax
movsx eax, byte [rsp + 0x50]
sete dl
cmp edx, eax
jl 0x18001e831
mov eax, dword [rsp + 0x7c]
mov rcx, qword [0x18004f608]
add rcx, rax
mov qword [0x18004f608], rcx
movzx ecx, word [0x18004f638]
mov rax, qword [0x18004f648]
imul rax, rcx
mov qword [0x18004f648], rax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x54]
or ecx, eax
mov eax, 0x23e
sub eax, ecx
mov ecx, ebx
mov dword [rbp + 0x40], eax
movsx eax, r15b
cmp ax, r8w
mov eax, ebx
setl cl
cmp r15b, 0x55
setl al
cmp ecx, eax
jne 0x18001e893
cmp dword [0x18004f564], ebx
mov ecx, dword [0x18004f644]
je 0x18001e872
mov eax, r10d
test ecx, ecx
jne 0x18001e874
mov eax, ebx
cmp eax, ecx
jge 0x18001e893
mov eax, 0x167d
lea r12d, [r8 - 0x79]
add ax, word [0x18004f618]
mov word [0x18004f650], ax
mov dword [rbp - 0x4c], r12d
cmp byte [0x18004f58e], bl
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
jne 0x18001e8ad
mov qword [rbp - 0x68], 0x3a
mov eax, dword [rsp + 0x5c]
add eax, 0x4f
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xcc
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x19d3
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x18001e964
mov al, byte [0x18004f54b]
test al, al
je 0x18001e8f4
mov qword [rbp - 0x68], 0xfd
jmp 0x18001e98b
movsxd rax, dword [0x18004f644]
mov ecx, ebx
cmp rax, qword [0x18004f648]
mov eax, ebx
sete cl
test r8w, r8w
sete al
cmp eax, ecx
jne 0x18001e92f
mov rax, qword [0x18004f610]
mov ecx, 0xcefd
movzx edx, ax
imul edx, ecx
mov word [0x18004f61c], dx
jmp 0x18001e98b
cmp word [0x18004f668], bx
jne 0x18001e994
movsx eax, byte [0x18004f58f]
movzx ecx, word [0x18004f628]
sub eax, 0x10309612
mov dword [0x18004f5cc], eax
add cx, cx
mov rax, qword [rbp - 0x40]
sub cx, ax
mov word [0x18004f628], cx
jmp 0x18001e98b
mov rax, qword [rbp - 0x68]
movabs rcx, 0x69c40dfb4d2f2
movsx rax, word [0x18004f640]
sub rax, rcx
mov qword [0x18004f5f8], rax
movzx eax, word [0x18004f61c]
cmp word [0x18004f668], bx
je 0x18001e99c
mov eax, dword [0x18004f634]
jmp 0x18001e99f
mov eax, r9d
mov byte [rsp + 0x50], al
movabs rcx, 0x4731863024ae7
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
add edx, eax
mov eax, dword [rbp - 0x78]
or eax, edx
or eax, 0x651b
xor eax, 0x7dff
mov dword [rbp + 0x50], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xef70
mov dword [rbp - 0x54], eax
mov rax, qword [0x18004f600]
sub rax, r10
mov qword [0x18004f600], rax
mov eax, dword [rsp + 0x5c]
add eax, 0x109
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xc259
mov byte [0x18004f563], 0x91
mov dword [rbp - 0x78], eax
mov rax, qword [rbp - 0x68]
imul rax, rcx
mov qword [rbp - 0x40], rax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x54]
xor ecx, eax
mov eax, dword [0x1809e7d20]
sub ecx, 0x2bf8
mov dword [rbp + 0x2c], ecx
mov dword [rsp + 0x5c], eax
mov dword [0x18004f5cc], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x8e
mov dword [rsp + 0x70], eax
movsxd rcx, dword [0x18004f62c]
mov rax, qword [rbp - 0x68]
sub rax, rcx
mov ecx, 0xa67b
mov qword [rbp - 0x68], rax
mov eax, 0xa5
mov word [0x18004f638], ax
mov eax, dword [rsp + 0x5c]
add eax, 0x51c9
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x89
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x60]
sub ecx, eax
mov eax, dword [rsp + 0x60]
sub ecx, eax
mov dword [rbp + 0x28], ecx
mov ecx, ebx
mov eax, dword [0x18004f654]
movzx r8d, word [0x18004f630]
movzx r10d, word [0x18004f630]
imul edx, eax, 0x7266bbcd
movsx eax, word [0x18004f618]
sub edx, eax
movsx eax, byte [0x18004f536]
add r8d, edx
mov edx, ebx
cmp byte [0x18004f58f], bl
sete cl
sub ecx, eax
imul r10d, ecx
movsx ecx, byte [0x18004f5b6]
xor cl, byte [0x18004f668]
mov eax, dword [0x1809e7d20]
mov byte [0x18004f5b6], cl
and r10d, r8d
mov dword [rsp + 0x5c], eax
movzx eax, word [0x18004f61c]
cmp eax, edi
mov dword [rbp - 0x58], r10d
setne dl
movzx eax, word [0x18004f61c]
mov ecx, ebx
cmp ax, 0x52
setne cl
cmp edx, ecx
je 0x18001eb39
lea eax, [r10 - 0x18eaa71a]
mov dword [0x18004f654], eax
movzx eax, word [0x18004f630]
and qword [0x18004f620], rax
jmp 0x18001eb4f
test r15b, r15b
je 0x18001eb48
add word [0x18004f618], r9w
jmp 0x18001eb4f
movzx eax, word [0x18004f630]
mov eax, dword [rsp + 0x5c]
mov cl, byte [0x18004f658]
add eax, 0xb7a3
mov dword [rsp + 0x60], eax
lea eax, [r10 - 0xf0]
mov dword [rsp + 0x7c], eax
mov al, cl
shl al, 3
add cl, al
mov eax, dword [rsp + 0x5c]
add byte [0x18004f536], cl
add eax, 0x60
mov dword [rsp + 0x70], eax
mov ecx, ebx
mov rax, qword [rbp - 0x40]
movsx r10d, byte [0x18004f537]
test rax, rax
mov eax, 0xffffd9b3
sete cl
cwde
and r10d, ecx
movsx ecx, word [0x18004f618]
imul ecx, eax
mov eax, dword [rsp + 0x5c]
add eax, 0x100
mov dword [rsp + 0x74], r10d
mov dword [rbp - 0x78], eax
mov dword [0x18004f634], 3
add si, cx
cmp byte [0x18004f58e], bl
je 0x18001ebdb
movzx ecx, word [0x18004f638]
jmp 0x18001ebe2
mov rcx, qword [0x18004f5f8]
mov byte [0x18004f537], cl
mov r9d, 0x82
mov r15, qword [rbp - 0x68]
mov ecx, dword [0x18004f634]
sar r15, 2
mov qword [rbp + 0x30], r15
test ecx, ecx
je 0x18001ec6f
sub ecx, 1
je 0x18001ec37
sub ecx, 1
je 0x18001ec23
cmp ecx, 1
jne 0x18001ec7e
mov r11d, edi
mov qword [rbp - 0x40], 0x18
shr r11d, 1
jmp 0x18001ec7e
movsx ecx, word [0x18004f66c]
mov eax, r9d
sub eax, ecx
mov dword [0x18004f644], eax
jmp 0x18001ec7e
mov ecx, dword [0x18004f654]
movsx eax, byte [0x18004f536]
add ecx, esi
not cx
movzx edx, r12b
mov word [0x18004f61c], cx
sub edx, eax
movsx ecx, byte [0x18004f537]
sub edx, dword [0x18004f564]
not ecx
add ecx, edx
mov dword [0x18004f564], ecx
jmp 0x18001ec7e
mov al, byte [rsp + 0x50]
sar al, 7
movsx eax, al
mov word [rsp + 0x64], ax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
sub ecx, eax
mov r8d, dword [rbp - 0x60]
mov eax, dword [rbp - 0x60]
sub r8d, eax
mov edx, dword [rbp - 0x78]
mov eax, dword [rsp + 0x60]
add edx, eax
mov eax, dword [rsp + 0x60]
xor eax, 0x671e
imul r8d, ecx
or eax, edx
movzx edi, r12b
mov edx, edi
sub r8d, eax
add r8d, 0xfa16
mov dword [rbp - 0x10], r8d
mov eax, dword [rsp + 0x6c]
test eax, eax
movsx ecx, word [0x18004f618]
cmovne edx, ecx
mov ecx, 0x6917
movsxd rax, edx
mov qword [rbp - 0x40], rax
movsx edx, word [0x18004f630]
mov eax, dword [0x1809e7d20]
movsx ecx, cx
imul edx, ecx
mov word [0x18004f66c], dx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x8a67
mov dword [rbp - 0x7c], eax
mov al, byte [0x18004f535]
test al, al
jne 0x18001ed1c
test r10d, r10d
jne 0x18001ed1c
mov r8d, ebx
lea r12d, [r10 + 1]
jmp 0x18001ed25
mov r12d, 1
mov r8d, r12d
movsx edx, byte [0x18004f54b]
mov eax, ebx
movsx ecx, byte [0x18004f535]
not edx
cmp ecx, edx
setg al
cmp eax, r8d
jb 0x18001ed4a
mov byte [0x18004f58e], 0x5e
jmp 0x18001ed9a
mov eax, dword [rsp + 0x78]
not eax
test eax, eax
jne 0x18001ed5e
mov al, byte [rsp + 0x50]
mov edx, ebx
test al, al
je 0x18001ed61
mov edx, r12d
movzx eax, word [0x18004f61c]
cmp edx, eax
jae 0x18001ed9a
movsx rdx, word [0x18004f66c]
mov eax, r10d
xor rdx, rax
mov rax, qword [0x18004f600]
movsx rcx, byte [rsp + 0x50]
sub rdx, rax
mov rax, rbx
add rcx, rdx
sete al
mov qword [0x18004f600], rax
mov eax, dword [rsp + 0x5c]
mov r8, rbx
add eax, 0x8f
mov dword [0x18004f644], 0xc9d2
mov dword [rbp - 0x78], eax
mov ecx, dword [rbp - 0x74]
mov edx, dword [rbp - 0x74]
inc ecx
movsx rax, byte [0x18004f563]
add edx, ecx
mov rcx, qword [rbp - 0x48]
mov rdx, rbx
sete r8b
imul rcx, rax
mov rax, qword [rbp - 0x48]
cmp rcx, r8
sete dl
add rax, rdx
mov qword [0x18004f608], rax
mov eax, dword [rsp + 0x5c]
add eax, 0xd9
mov dword [rbp - 0x54], eax
movsx rax, si
sub qword [0x18004f5f8], rax
mov eax, dword [rbp - 0x78]
mov edx, dword [rbp - 0x54]
add eax, 0x2a8e
mov ecx, dword [rbp - 0x7c]
or edx, eax
or ecx, edx
mov eax, 0xae46
movsx edx, word [rbp - 0x70]
sub eax, ecx
mov dword [rbp - 0x38], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18004f654]
mov rax, qword [0x18004f608]
mov rax, qword [rbp - 0x68]
mov eax, dword [rsp + 0x5c]
movzx r12d, word [0x18004f660]
add eax, 0xbbba
mov dword [rbp - 0x78], eax
sub r12w, 0x71
mov eax, dword [rsp + 0x5c]
movzx ecx, word [0x18004f668]
add eax, 0x193e
mov dword [rsp + 0x70], eax
movsx eax, dl
cmp eax, ecx
je 0x18001ee7c
movsx eax, byte [rsp + 0x50]
sub r15d, eax
mov qword [rbp + 0x30], r15
jmp 0x18001ee90
movzx eax, word [0x18004f638]
movzx eax, word [rsp + 0x64]
sub al, 0x7c
mov byte [0x18004f5b6], al
mov eax, dword [rsp + 0x5c]
add eax, r9d
mov dword [rsp + 0x70], eax
mov eax, dword [rbp - 0x78]
or eax, 0x51
sub eax, 0xbbf9
cmp byte [0x18004f536], bl
mov dword [rbp - 0x5c], eax
jne 0x18001eebf
test r13d, r13d
jne 0x18001eebf
mov r9d, ebx
lea ecx, [r13 + 1]
jmp 0x18001eec7
mov ecx, 1
mov r9d, ecx
test dl, dl
jne 0x18001eed8
mov al, byte [0x18004f5b6]
mov r8, rbx
test al, al
je 0x18001eedb
mov r8, rcx
movsx ecx, byte [rsp + 0x58]
mov edx, ebx
or ecx, r11d
mov eax, ebx
not ecx
cmp r9d, ecx
setl dl
cmp r8, qword [0x18004f620]
setle al
cmp edx, eax
je 0x18001ef60
mov eax, dword [rsp + 0x78]
neg ax
mov byte [0x18004f58f], bl
cmp byte [0x18004f58f], bl
mov word [0x18004f618], ax
jne 0x18001ef84
mov eax, dword [rsp + 0x6c]
mov ecx, 0x4cd
add ax, cx
mov word [0x18004f628], ax
movzx eax, word [0x18004f630]
test ax, ax
movsx eax, word [0x18004f650]
movsx ecx, al
mov al, byte [0x18004f54b]
sete dl
imul r8d, ecx, 0x3a
not al
xor r8b, dl
add al, r8b
add al, byte [rbp - 0x70]
mov byte [0x18004f563], al
jmp 0x18001ef84
cmp dword [0x18004f5cc], ebx
jne 0x18001ef70
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x18001ef84
movsx eax, byte [0x18004f58e]
mov ecx, dword [rbp - 0x74]
add ecx, eax
mov eax, dword [rbp - 0x74]
add eax, ecx
mov dword [rbp - 0x74], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x3f9
movsx r8d, si
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x1a1
mov dword [rbp - 0x20], eax
mov eax, r8d
movsx rdx, word [0x18004f66c]
not eax
add rdx, qword [0x18004f660]
movsxd rcx, eax
movabs rax, 0x245b57facde43
sub rax, rcx
movsxd rcx, r13d
imul rdx, rax
mov rax, qword [rbp - 0x48]
sub rcx, rax
mov byte [0x18004f58e], 0xf8
mov eax, dword [rsp + 0x5c]
sub rcx, 0x7370
add eax, 0x262
xor rcx, rdx
mov qword [0x18004f648], rcx
mov dword [rbp + 8], eax
movzx eax, word [0x18004f668]
cmp eax, dword [0x18004f5cc]
jbe 0x18001f069
movsx eax, byte [0x18004f563]
imul eax, r8d
test eax, eax
je 0x18001f069
movzx eax, word [0x18004f638]
mov edx, ebx
movsx r8, byte [0x18004f5b6]
mov cl, byte [rsp + 0x58]
cmp byte [0x18004f58f], bl
not cl
sete dl
add cl, byte [0x18004f648]
imul edx, eax
movsx ecx, cl
xor r8, rdx
movsx eax, r8b
imul ecx, eax
mov byte [0x18004f54b], cl
movsx eax, byte [0x18004f537]
sub word [0x18004f640], ax
mov eax, dword [0x1809e7d20]
mov edx, ebx
movzx esi, byte [rbp - 0x4c]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x22f
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x50]
mov rax, qword [0x18004f620]
add rax, 0xffffffffffff562a
and cl, al
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x5c]
mov rcx, qword [0x18004f660]
add eax, 0x82
mov dword [rsp + 0x70], eax
mov eax, 0x3ff
mov word [0x18004f640], ax
mov eax, dword [0x18004f5cc]
inc rax
imul rcx, rax
mov eax, dword [rsp + 0x5c]
add eax, 0x19d
mov qword [0x18004f660], rcx
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp - 0x80]
add al, 0x7e
mov byte [rsp + 0x50], al
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x340
mov dword [rbp + 0x10], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x372
cmp qword [0x18004f620], rsi
mov dword [rbp - 0x54], eax
mov eax, ebx
setl dl
cmp qword [0x18004f620], 0x4e
setl al
cmp edx, eax
ja 0x18001f184
movsx rax, byte [rsp + 0x58]
mov r8d, ebx
cmp qword [0x18004f658], rax
mov eax, ebx
sete r8b
cmp qword [0x18004f658], 0x22
sete al
cmp r8d, eax
jb 0x18001f16e
mov ecx, dword [rsp + 0x78]
movzx eax, r15w
xor rcx, qword [0x18004f620]
add qword [0x18004f620], rcx
mov ecx, 0x1dc8
sub ax, cx
mov word [rsp + 0x64], ax
jmp 0x18001f184
mov qword [rbp - 0x48], 2
movzx eax, word [0x18004f61c]
add r13d, eax
mov qword [rbp - 0x30], r13
mov eax, dword [rsp + 0x5c]
lea r13d, [r10 - 0xdad4]
add eax, 0x3d2
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x70], eax
lea rcx, [rbp + 0x20f8]
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
add eax, 0x33e
mov dword [rsp + 0x70], eax
movsx eax, byte [0x18004f537]
mov qword [0x18004f600], rax
mov eax, dword [rsp + 0x64]
movups xmm0, xmmword [str.A256GCM]
add eax, 0xa7
mov dword [rsp + 0x70], eax
movdqu xmmword [rbp + 0x20f8], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x64]
add eax, 0x1b
mov qword [rbp + 0x20], rbx
mov dword [rbp + 0x14], eax
mov eax, edi
shr eax, 7
mov word [0x18004f630], ax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
add eax, 0x301
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x64]
add eax, 0x2b6
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x64]
add eax, 0x1ca
mov dword [rbp - 0x78], eax
mov rax, qword [rbp - 0x68]
mov eax, dword [0x18004f654]
mov rax, qword [rbp - 0x68]
mov rcx, qword [0x18004f608]
movsx rax, byte [0x18004f536]
cmp rax, rcx
ja 0x18001f2f8
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
jb 0x18001f2dc
mov eax, dword [0x1809e7d20]
movabs rcx, 0xe52b2be39f6a7
mov dword [rbp - 0x74], eax
mov eax, dword [rbp - 0x80]
sub rax, rcx
mov qword [rbp - 0x48], rax
mov r9d, dword [rsp + 0x74]
mov eax, dword [0x18004f654]
mov dword [rbp], ebx
test eax, eax
jne 0x18001f383
cmp qword [0x18004f660], rbx
jne 0x18001f383
cmp word [0x18004f628], bx
jne 0x18001f2b8
mov al, byte [rsp + 0x50]
movsx eax, byte [0x18004f536]
mov ecx, 2
add eax, ecx
not eax
test eax, eax
je 0x18001f393
movzx eax, word [0x18004f668]
jmp 0x18001f38f
cmp dword [0x18004f54c], ebx
je 0x18001f288
mov eax, dword [rbp - 0x74]
add eax, 0x2ccc8dc1
mov dword [0x18004f644], edi
mov dword [rsp + 0x6c], eax
jmp 0x18001f288
mov al, byte [0x18004f537]
test al, al
je 0x18001f32b
mov eax, dword [0x18004f654]
mov ecx, 0x70f
mov r15d, dword [0x18004f564]
cmp byte [0x18004f58f], bl
mov qword [rbp - 0x48], rax
cmovne r15d, ecx
mov qword [rbp + 0x30], r15
jmp 0x18001f288
mov r9d, dword [rsp + 0x74]
movsx eax, r12w
not eax
movsxd rcx, eax
imul rcx, qword [0x18004f620]
test rcx, rcx
je 0x18001f363
movsx eax, word [0x18004f628]
shl eax, 2
mov dword [rsp + 0x6c], eax
mov dword [0x18004f634], 0x5aa13b8a
jmp 0x18001f28d
movsx eax, word [0x18004f618]
cmp r9d, eax
jge 0x18001f28d
mov al, byte [rbp - 0x30]
sub al, 0x5c
add byte [0x18004f58f], al
jmp 0x18001f28d
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x7c]
xor ecx, edi
add eax, ecx
mov dword [rsp + 0x7c], eax
movsx eax, byte [0x18004f54b]
mov r8d, ebx
add ax, 0xc
mov dword [rbp + 0x44], ebx
mov qword [rbp + 0x18], rax
movsx eax, word [0x18004f640]
imul ecx, eax, 0x39
movsx edi, r12w
mov dword [rsp + 0x60], ebx
mov word [rsp + 0x64], cx
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rbp - 0x80]
movsx eax, byte [0x18004f536]
add ecx, eax
movzx eax, word [0x18004f650]
test ax, ax
movzx eax, word [0x18004f61c]
mov dword [rbp + 0x48], ebx
cmove r8d, ecx
imul edx, edi, 0x3d0f
not edx
add eax, edx
not eax
sub eax, r8d
mov qword [0x18004f620], rax
test r14d, r14d
jne 0x18001f413
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r9d, r9d
xor edx, edx
jmp 0x18001f55f
mov cl, byte [0x18004f54b]
mov r8d, ebx
mov eax, dword [0x18004f5cc]
add eax, 0xffffd014
or cl, al
mov byte [0x18004f54b], cl
movsx eax, byte [0x18004f54b]
movzx edx, word [0x18004f668]
cmp edx, eax
mov eax, ebx
setne r8b
cmp edx, 0x39
setne al
cmp r8d, eax
jne 0x18001f46a
movsx eax, byte [0x18004f54b]
imul edx, eax, 0xf
mov al, byte [0x18004f54b]
sub al, dl
mov byte [0x18004f54b], al
jmp 0x18001f4a2
cmp dword [rbp - 0x58], ebx
je 0x18001f479
mov al, byte [rbp - 8]
sub al, 0x24
mov byte [rbp - 0x4c], al
jmp 0x18001f4a2
mov eax, dword [0x18004f62c]
test eax, eax
je 0x18001f49f
mov eax, dword [rbp - 8]
movabs rcx, 0xfff37462dad1e2a2
add rcx, rax
add rcx, rsi
mov qword [0x18004f658], rcx
jmp 0x18001f4a2
mov eax, dword [rbp - 0x80]
mov eax, dword [0x1809e7d20]
lea edx, [r9 + 0x81]
mov dword [rbp - 0x60], eax
mov r15d, dword [rsp + 0x6c]
add r15d, dword [0x18004f644]
mov rax, qword [0x18004f658]
mov qword [rbp - 0x18], rdx
lea rcx, [rax + rax]
mov eax, dword [0x18004f5cc]
sub rcx, rax
movsx eax, byte [0x18004f563]
add r15d, eax
mov qword [0x18004f658], rcx
mov ecx, dword [rbp - 0x60]
not r15d
mov eax, dword [rbp + 0x40]
add ecx, eax
mov dword [rbp + 0x40], ecx
movzx eax, word [0x18004f638]
movzx ecx, word [0x18004f66c]
sub cx, ax
mov qword [rbp + 0x30], r15
mov word [0x18004f66c], cx
mov eax, dword [rbp - 0x60]
add eax, 0x21e
mov dword [rbp + 0x38], eax
mov eax, dword [rbp - 0x60]
add eax, 0x27f
mov dword [rbp - 0x60], eax
mov ecx, dword [rbp + 0x40]
mov eax, dword [rbp + 0x50]
imul ecx, eax
mov eax, dword [rbp + 0x38]
cmp eax, ecx
je 0x18001f584
mov rcx, qword [sym.imp.KERNEL32.dll_OpenProcess]
mov eax, edx
xor eax, 0x96
mov r9, r14
mov dword [0x18004f62c], eax
mov edx, 0x1fffff
mov eax, dword [rbp - 0x74]
add eax, 0x71167d3a
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov qword [rbp + 0x20], rax
mov ecx, dword [rbp + 8]
mov eax, dword [rsp + 0x54]
or ecx, eax
mov edx, dword [rbp - 0x20]
mov eax, dword [rsp + 0x54]
add edx, eax
xor edx, ecx
mov ecx, dword [rbp - 0x20]
mov eax, dword [rsp + 0x54]
sub ecx, eax
cmp edx, ecx
je 0x18001f963
mov rcx, qword [rbp - 0x40]
movzx eax, byte [rsp + 0x6c]
test rcx, rcx
movups xmm0, xmmword [str.UnsupportedAlgorit]
mov esi, dword [rbp - 0x4c]
lea rcx, [rbp + 0x2070]
movzx r14d, sil
cmovne r14d, eax
mov eax, dword [0x18004f658]
add eax, 0x111b4a7d
mov word [rbp - 0x70], r14w
mov dword [rbp - 0x74], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
movzx eax, word [0x180038838]
mov word [rbp + 0x2080], ax
mov al, byte [0x18003883a]
mov byte [rbp + 0x2082], al
movups xmmword [rbp + 0x2070], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rbp - 0x74], eax
mov eax, dword [rsp + 0x54]
add eax, 0x4477
mov word [0x18004f618], bx
mov dword [rbp - 0x20], eax
mov byte [0x18004f537], bl
mov al, byte [0x18004f537]
test al, al
jne 0x18001f652
mov al, byte [rsp + 0x74]
add al, 3
mov byte [0x18004f58f], al
mov eax, dword [0x18004f63c]
inc eax
mov dword [0x18004f63c], eax
mov eax, dword [rsp + 0x54]
mov r11, qword [rbp - 0x30]
add eax, 0x5f
mov dword [rbp + 8], eax
mov eax, dword [rsp + 0x54]
add eax, 0x92
mov byte [0x18004f58e], 2
mov dword [rbp + 0x38], eax
movsx rcx, byte [0x18004f537]
mov al, byte [0x18004f537]
sub rcx, qword [rbp - 0x18]
add al, cl
mov byte [0x18004f537], al
mov eax, dword [rsp + 0x7c]
movsx ecx, byte [0x18004f58e]
mov dword [0x18004f5cc], eax
test ecx, ecx
je 0x18001f732
sub ecx, 1
je 0x18001f709
cmp ecx, 1
jne 0x18001f75a
mov rcx, qword [0x18004f600]
mov edx, ebx
movsxd rax, r11d
xor rcx, rax
mov rax, qword [0x18004f658]
xor rcx, 0xe7b4
mov qword [0x18004f600], rcx
mov r15, qword [rbp - 0x68]
lea rcx, [rax*4]
mov eax, dword [0x18004f5cc]
cmp rax, rcx
sete dl
add r15d, 0xfffff8f1
lea ecx, [rdi + rdx]
add ecx, dword [0x18004f54c]
add r15d, ecx
mov qword [rbp + 0x30], r15
jmp 0x18001f75a
movzx ecx, word [0x18004f630]
mov rax, qword [0x18004f648]
imul rax, rcx
mov qword [0x18004f648], rax
mov al, byte [0x18004f58f]
xor al, 0xf1
sub sil, al
mov dword [rbp - 0x4c], esi
jmp 0x18001f75a
movsx rax, byte [0x18004f58f]
mov rcx, qword [rbp - 0x48]
add rcx, rax
mov qword [rbp - 0x48], rcx
movsx eax, word [rsp + 0x64]
imul eax, eax, 0x574213a2
movsxd rcx, eax
mov qword [0x18004f610], rcx
mov edx, dword [rbp + 8]
mov eax, dword [rbp - 0x20]
add edx, eax
mov eax, dword [rbp + 0x38]
mov ecx, dword [rbp - 0x20]
or eax, edx
or ecx, eax
sub ecx, 0x44f6
mov dword [rbp + 8], ecx
cmp qword [rbp + 0x20], rbx
jne 0x18001f968
mov r8, qword [rbp + 0x18]
movzx ecx, word [0x18004f638]
movsx eax, r8w
cmp ecx, eax
jge 0x18001f7ce
movsxd rax, dword [0x18004f62c]
mov rdx, qword [0x18004f610]
add rdx, rax
movsx rax, r8w
cmp rdx, rax
jne 0x18001f7ce
mov rax, qword [rbp - 0x48]
mov ecx, 0xbc
add ax, cx
mov word [rbp - 0x50], ax
mov rax, qword [0x18004f610]
sub ax, 0x65
mov word [0x18004f630], ax
movsx r9d, word [0x18004f66c]
mov rdx, rbx
movzx r8d, word [rbp - 0x50]
movzx r10d, sil
not r8d
mov eax, r10d
imul eax, r11d
cmp r9d, r8d
movsxd rcx, eax
mov rax, qword [rbp - 0x40]
cmovne rdx, rcx
imul rax, rdx
test rax, rax
je 0x18001f908
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x78]
cmp ecx, eax
ja 0x18001f862
movsx eax, word [0x18004f628]
mov rdx, rbx
movsx r8d, byte [rsp + 0x50]
movsx ecx, byte [0x18004f58e]
not ecx
and ecx, eax
movsx eax, byte [0x18004f563]
add r8d, ecx
not eax
movsxd rcx, eax
test r12w, r12w
mov rax, qword [rbp - 0x40]
sete dl
and rdx, rcx
add r8d, r15d
cmove rbx, rdx
sub eax, 0xac67960
imul eax, ebx
mov dword [rbp - 0x80], eax
jmp 0x18001f95b
cmp qword [0x18004f648], rbx
je 0x18001f890
movsx edx, byte [rsp + 0x58]
movsx eax, r14b
imul edx, eax
movzx eax, word [0x18004f630]
inc eax
add eax, edx
and eax, r13d
mov dword [0x18004f54c], eax
jmp 0x18001f95b
movsx ecx, byte [0x18004f535]
mov eax, dword [0x18004f62c]
cmp ecx, eax
je 0x18001f8c0
mov rcx, qword [0x18004f5f8]
movsx rax, byte [0x18004f58e]
imul rcx, rax
mov qword [0x18004f5f8], rcx
jmp 0x18001f95b
movzx eax, word [0x18004f61c]
test ax, ax
je 0x18001f95b
movsx rax, byte [rsp + 0x50]
movsx rcx, byte [0x18004f537]
movsx rdx, byte [0x18004f536]
xor rdx, rax
mov rax, qword [0x18004f608]
sub rcx, rax
movzx eax, word [0x18004f668]
imul rcx, rdx
sub ecx, eax
mov dword [0x18004f654], ecx
jmp 0x18001f95b
movzx eax, word [0x18004f61c]
test ax, ax
je 0x18001f921
shl r10d, 6
mov dword [0x18004f63c], r10d
jmp 0x18001f95b
cmp word [0x18004f640], bx
je 0x18001f933
movzx eax, word [0x18004f66c]
jmp 0x18001f95b
movzx eax, word [0x18004f668]
cmp dword [0x18004f564], eax
mov rax, qword [0x18004f610]
setbe bl
cmp rbx, rax
jl 0x18001f95b
mov al, byte [0x1809e7d20]
mov byte [0x18004f54b], al
mov eax, dword [rbp + 8]
jmp 0x1800222b4
movzx r14d, word [rbp - 0x70]
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov qword [rsp + 0x38], rbx
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov rcx, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
mov qword [rsp + 0x40], rbx
mov r9d, 0x2000
mov qword [rsp + 0x38], rbx
mov r8d, 8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov qword [rbp + 0x38], rax
mov r10, rax
mov r8d, 4
test rax, rax
jne 0x18001fbd2
mov ecx, dword [0x1809e7d20]
mov edx, ebx
mov dword [rsp + 0x54], ecx
mov eax, ebx
mov ecx, dword [rsp + 0x54]
add ecx, 0xd0
mov dword [rbp - 0x60], ecx
mov ecx, dword [rsp + 0x54]
add ecx, 0x5158
mov dword [rbp + 8], ecx
mov ecx, dword [rsp + 0x54]
add ecx, 0xf955
mov dword [rbp - 0x20], ecx
movsx ecx, byte [0x18004f563]
cmp cx, word [0x18004f628]
setl dl
cmp cl, 0x1e
setl al
cmp edx, eax
jb 0x18001fa52
mov rax, qword [rbp - 0x68]
mov word [rsp + 0x64], r8w
movsx edx, byte [0x18004f54b]
movsx ecx, byte [0x18004f54c]
imul edx, ecx
mov byte [0x18004f54b], dl
jmp 0x18001fa59
movzx eax, word [0x18004f66c]
movzx ecx, word [0x18004f5f8]
mov eax, 0xe515
mov rsi, qword [rbp - 0x30]
mov edi, dword [rsp + 0x74]
add esi, edi
imul ecx, eax
mov qword [rbp - 0x68], 0xb
mov edx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x20]
xor edx, eax
mov qword [rbp - 0x30], rsi
mov word [rbp - 0x50], cx
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbp - 0x60]
sub ecx, eax
or ecx, edx
mov eax, 0xa
sub eax, ecx
mov edx, ebx
mov dword [rbp + 8], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
movsx ecx, byte [0x18004f5b6]
mov eax, dword [0x18004f654]
not eax
cmp ecx, eax
movsx eax, r14b
mov r14, qword [rbp - 8]
setne dl
imul eax, r14d
cmp edx, eax
jae 0x18001fada
mov eax, dword [0x1809e7d20]
mov dword [0x18004f654], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp + 0x2c]
add ecx, eax
mov dword [rbp + 0x2c], ecx
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x18001fb08
mov eax, r14d
movabs rcx, 0xc545a4f41db22
add rax, rcx
mov qword [0x18004f5f8], rax
jmp 0x18001fb21
movzx eax, word [0x18004f630]
test ax, ax
je 0x18001fb21
movzx eax, word [0x18004f630]
xor byte [0x18004f58e], al
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp + 0x28]
add ecx, eax
mov dword [rbp - 0x60], ecx
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x10], ecx
mov edx, dword [rbp - 0x10]
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp - 0x60]
imul edx, eax
mov eax, dword [rbp + 0x2c]
imul ecx, eax
mov eax, dword [rbp - 0x60]
add edx, ecx
mov ecx, dword [rbp - 0x38]
sub ecx, eax
cmp edx, ecx
je 0x18001fbde
movsx ecx, word [rsp + 0x64]
movzx eax, byte [0x180b29b49]
sub cx, ax
movzx eax, word [0x180a63f8a]
sub qword [0x18004f660], rax
mov word [rsp + 0x64], cx
mov al, byte [0x18004f535]
test al, al
je 0x18001f95b
movsx eax, word [rbp + 0x18]
not eax
test eax, eax
je 0x18001f95b
movsx rcx, word [0x18004f618]
mov rax, qword [rbp - 0x48]
cmp rcx, rax
jae 0x18001f95b
mov rax, qword [0x18004f610]
test rax, rax
je 0x18001f95b
movzx eax, byte [rbp - 0x4c]
imul ecx, eax, 0x665e1086
mov dword [rbp - 0x80], ecx
jmp 0x18001f95b
mov edi, dword [rsp + 0x74]
mov rsi, qword [rbp - 0x30]
mov r14, qword [rbp - 8]
mov qword [rsp + 0x40], rbx
lea rcx, [fcn.18002d990]
mov qword [rsp + 0x38], rbx
mov r9d, 0x2000
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov qword [rsp + 0x28], rbx
mov rdx, r10
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov rdx, qword [rbp + 0x38]
lea r9, [rbp]
mov rcx, qword [rbp + 0x20]
mov r8d, 0x2000
call fcn.180017bd8
test eax, eax
je 0x18001fc9b
mov eax, dword [0x18004f5cc]
cmp rax, qword [0x18004f648]
jg 0x18001fc93
mov eax, dword [rsp + 0x78]
mov ecx, ebx
cmp dword [rbp - 0x58], eax
mov eax, ebx
setne cl
cmp dword [rbp - 0x58], 0x53
setne al
cmp ecx, eax
jb 0x18001fc93
cmp dword [0x18004f644], ebx
mov rdx, rbx
movsxd rax, dword [0x18004f62c]
mov ecx, 0x46
cmove rdx, qword [rbp - 0x18]
cmp rdx, rax
movsx eax, byte [0x18004f58e]
sete bl
sub ecx, eax
and ecx, ebx
mov dword [rsp + 0x78], ecx
mov ecx, 0x8968
mov eax, dword [rsp + 0x78]
sub ecx, r13d
add ecx, eax
mov dword [rsp + 0x78], ecx
mov eax, dword [rbp - 0x5c]
jmp 0x1800222b4
mov eax, dword [rbp]
mov ecx, eax
mov qword [rbp + 0x50], rax
call fcn.18001df18
mov edx, dword [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
or edx, 0x152
mov qword [rbp + 8], rax
cmp edx, ecx
je 0x1800202d9
sub r14b, 7
mov byte [0x18004f54b], r14b
mov rax, qword [rbp - 0x68]
movsx ecx, byte [rsp + 0x50]
sub ax, 0x71
mov r14, qword [rbp - 0x18]
mov word [0x18004f668], ax
mov eax, dword [0x18004f62c]
add ax, cx
mov qword [0x18004f660], 1
mov rcx, qword [0x18004f660]
mov word [0x18004f638], ax
mov rax, rcx
test rcx, rcx
je 0x18001fd3f
cmp rax, 1
jne 0x18001fd49
movzx ecx, word [0x18004f61c]
mov eax, dword [rbp - 0x80]
sub cx, r14w
sub cx, ax
not cx
mov word [0x18004f638], cx
mov rcx, qword [0x18004f660]
mov dword [rbp - 0x74], 0x11778f90
jmp 0x18001fd49
mov dword [0x18004f62c], 0x55
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
test rcx, rcx
jne 0x18001fd6a
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x18001fd6a
mov eax, r15d
mov qword [0x180b32ac0], rax
mov eax, dword [rsp + 0x54]
lea rcx, [rbp + 0x2088]
add eax, 0x62
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x54]
movups xmm0, xmmword [str.DoValidateUserInfo]
add eax, 0xd68c
mov dword [rbp - 0x38], eax
movzx eax, word [0x180038850]
mov word [rbp + 0x2098], ax
mov al, byte [0x180038852]
mov byte [rbp + 0x209a], al
movups xmmword [rbp + 0x2088], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movzx r11d, ax
mov eax, dword [rsp + 0x54]
add eax, 0x13
mov dword [rbp - 0x50], r11d
mov dword [rbp - 0x5c], eax
mov ecx, dword [rbp - 0x24]
mov eax, dword [0x18004f5cc]
sub qword [0x18004f648], rax
mov eax, dword [rbp - 0x24]
sub ecx, eax
mov eax, dword [rbp - 0x24]
xor eax, ecx
mov ecx, dword [rbp - 0x24]
mov edx, dword [rbp - 0x24]
xor ecx, eax
mov eax, dword [rsp + 0x68]
xor edx, eax
imul edx, ecx
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x38]
add ecx, eax
movsx eax, byte [rbp - 0x70]
xor ecx, 0xd713
add ecx, edx
mov edx, ebx
cmp word [0x18004f628], ax
mov eax, ebx
mov dword [rbp - 0x38], ecx
mov ecx, ebx
setle dl
cmp word [0x18004f628], 0x64
setle al
cmp edx, eax
jae 0x18001fe6a
mov rax, qword [rbp - 0x68]
mov eax, dword [rbp - 0x80]
movzx eax, word [rsp + 0x64]
movsx rax, byte [0x18004f537]
mov edx, dword [rbp - 0x80]
add eax, 0x8a59e907
sub edx, dword [0x18004f648]
imul edx, eax
cmp word [0x18004f618], bx
movzx eax, r11w
sete cl
xor ecx, r14d
sub ecx, edx
add ecx, eax
mov dword [0x18004f644], ecx
jmp 0x18001fea4
mov eax, dword [rsp + 0x7c]
test eax, eax
mov eax, dword [rsp + 0x6c]
sete cl
cmp eax, ecx
jg 0x18001fe9d
mov rsi, qword [rbp - 0x68]
mov eax, dword [0x18004f654]
sub esi, 0x88ff58a
movzx ecx, si
not cx
sub cx, ax
mov word [0x18004f668], cx
jmp 0x18001fea4
mov eax, dword [rbp - 0x80]
mov rax, qword [rbp - 0x68]
mov eax, dword [0x1809e7d20]
mov edx, 0x1098ed
mov r10d, dword [rbp - 0x4c]
mov dword [rsp + 0x54], eax
mov eax, 0xffffffe8
sub eax, dword [0x18004f620]
add esi, eax
movzx r15d, r10b
mov eax, dword [rsp + 0x54]
add r15d, 0xbbbb
sub byte [0x18004f58e], r14b
add eax, 0xf3
mov dword [rsp + 0x68], eax
mov al, byte [0x18004f564]
add al, 0x15
mov qword [0x18004f648], 2
mov byte [0x18004f536], al
mov eax, dword [rsp + 0x54]
add eax, 0xd9
mov word [0x180b208c8], r11w
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x118e
mov qword [rbp - 0x30], rsi
mov dword [rbp - 0x7c], eax
movzx eax, word [0x18004f61c]
shl ax, 3
mov word [0x18004f668], ax
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rbp - 0x7c]
mov word [0x180b29ae4], ax
mov eax, dword [rsp + 0x68]
imul ecx, eax
mov qword [rbp + 0x30], r15
sub edx, ecx
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x5c]
add ecx, edx
add eax, ecx
mov dword [rbp - 0x10], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x6c]
cmp ecx, eax
jae 0x18001ffb4
movsx eax, byte [0x18004f563]
mov ecx, 4
mov word [0x18004f668], cx
xor eax, 0x64fd
mov dword [0x18004f654], eax
mov rdx, qword [rbp - 0x68]
imul edx, dword [0x18004f648]
mov rax, qword [0x18004f608]
neg rax
sbb ecx, ecx
add edx, 0xffffc0a8
add ecx, edx
add ecx, r14d
mov dword [0x18004f54c], ecx
mov dword [rsp + 0x7c], 0x2d10
mov eax, dword [0x1809e7d20]
mov ecx, 3
mov dword [rsp + 0x54], eax
mov r9d, ecx
mov eax, dword [rsp + 0x78]
mov r8, qword [rbp - 0x68]
movsx eax, byte [0x18004f563]
not ax
mov qword [rbp - 8], r9
add r8w, ax
mov eax, dword [rbp - 0x80]
mov word [rsp + 0x64], ax
add r8w, cx
mov eax, dword [rsp + 0x54]
add eax, 0xa7
mov qword [rbp + 0x18], r8
mov dword [rbp - 0x7c], eax
movzx eax, word [rsp + 0x64]
mov eax, dword [rsp + 0x54]
add eax, 0xc0
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x180020031
movsx eax, word [0x18004f640]
mov ecx, dword [rsp + 0x6c]
and ecx, eax
mov eax, 0xdbc7
sub eax, ecx
mov dword [0x18004f654], eax
mov eax, dword [rsp + 0x54]
add eax, 0xda
mov dword [rsp + 0x68], eax
mov rax, qword [0x18004f608]
mov qword [rbp - 0x40], rax
movzx eax, word [0x18004f66c]
test ax, ax
je 0x18002006c
test esi, esi
je 0x18002006c
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x6c], eax
mov eax, dword [0x18004f654]
mov dword [rbp - 0x58], eax
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x7c]
sub ecx, eax
xor ecx, 0x316
mov dword [rbp + 0x28], ecx
cmp qword [rbp + 8], rbx
jne 0x1800202e5
movsx eax, byte [rsp + 0x58]
mov edx, ebx
mov dword [0x180b354d4], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov eax, edi
cmp qword [0x18004f5f8], rax
mov eax, ebx
setb dl
cmp qword [0x18004f5f8], 0x20
setb al
cmp edx, eax
ja 0x1800200d8
mov eax, dword [0x18004f63c]
mov ecx, 0xffffcbb4
and ax, cx
mov word [rsp + 0x64], ax
mov al, byte [0x180a14af0]
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x54]
add eax, 0xa2
mov dword [rsp + 0x68], eax
mov rcx, qword [0x18004f608]
mov rax, qword [rbp - 0x48]
cmp rax, rcx
jb 0x180020157
movsx rax, word [0x18004f618]
mov edx, ebx
cmp qword [0x18004f5f8], rax
mov eax, ebx
setbe dl
cmp qword [0x18004f5f8], 0x46
setbe al
cmp edx, eax
jae 0x18002012f
sub r12w, r8w
movzx eax, r14w
xor ax, r12w
sub r12w, ax
jmp 0x1800201bb
movzx eax, r11w
mov qword [0x18004f658], rax
movzx eax, word [rsp + 0x64]
test ax, ax
mov rax, qword [0x18004f620]
jne 0x180020151
movsx rax, word [rsp + 0x64]
mov byte [rsp + 0x50], al
jmp 0x1800201bb
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
movzx eax, word [0x18004f630]
mov rdx, qword [0x18004f600]
not ax
movsx ecx, byte [0x18004f535]
xor dx, ax
mov r8d, dword [0x18004f634]
sub cx, dx
movzx eax, word [0x18004f618]
add r8w, cx
movsx ecx, word [0x18004f5f8]
not ax
movsx rdx, byte [0x18004f58e]
not r8w
imul edx, ecx
add dx, ax
movsx eax, r8w
movsx ecx, dx
imul ecx, eax
mov word [rbp + 0x18], cx
mov eax, dword [rsp + 0x54]
add eax, 0x7d
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
add eax, 0x21d0
mov dword [rsp + 0x68], eax
movzx eax, word [0x18004f638]
mov edi, eax
mov dword [rsp + 0x74], eax
mov eax, 0xfffffffc
sub al, r14b
mov byte [0x18004f58e], al
movsx rax, word [0x18004f66c]
add r14, rax
mov eax, dword [rsp + 0x68]
sub r9d, dword [0x18004f660]
sub eax, 0x21c6
mov dword [rbp + 0x2c], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov eax, 0x4d45
mov word [rsp + 0x64], ax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x38]
add ecx, eax
mov dword [rbp - 0x38], ecx
mov eax, dword [rsp + 0x54]
add eax, 0x19d
mov qword [rbp - 0x18], r14
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x93
mov qword [rbp - 8], r9
mov dword [rsp + 0x68], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rbp - 0x5c]
mov edx, dword [rbp - 0x10]
imul ecx, eax
imul edx, ecx
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp + 0x28]
sub ecx, eax
cmp edx, ecx
je 0x1800202e5
mov eax, dword [0x1809e7d20]
xor byte [0x18004f536], sil
mov dword [0x18004f63c], eax
mov eax, 2
mov word [0x18004f650], ax
movsx eax, word [0x18004f650]
mov ecx, eax
test eax, eax
je 0x1800202aa
sub ecx, 1
je 0x1800202a5
cmp ecx, 1
jne 0x1800202d1
mov rax, qword [rbp - 0x48]
jmp 0x1800202d1
mov eax, dword [rbp - 0x80]
jmp 0x1800202d1
mov edx, dword [0x18004f634]
movzx eax, word [0x1809e7d20]
movsx ecx, byte [rsp + 0x50]
mov word [0x18004f618], ax
movzx eax, r11w
and edx, eax
sub ecx, edx
mov dword [0x18004f54c], ecx
mov eax, dword [rbp + 0x2c]
jmp 0x1800222b4
mov r9, qword [rbp - 8]
mov r10d, dword [rbp - 0x4c]
mov r14, qword [rbp - 0x18]
mov r8d, ebx
mov dword [rbp - 0x24], ebx
mov esi, 0x10
cmp dword [rbp], ebx
jbe 0x1800214fe
lea r11d, [rsi + 0x43]
jmp 0x180020307
mov r9, qword [rbp - 8]
mov r14, qword [rbp - 0x18]
mov ecx, dword [0x18004f5cc]
mov edx, ebx
cmp rcx, qword [0x18004f658]
mov eax, ebx
setle dl
cmp ecx, 0xf
setbe al
cmp edx, eax
ja 0x180020337
movsx ecx, byte [0x18004f5b6]
add cx, word [rbp - 0x50]
mov word [0x18004f66c], cx
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
test edi, edi
jne 0x18002036c
mov eax, dword [rbp - 0x74]
not eax
cmp r14, rax
je 0x18002036c
mov rax, r14
not rax
test rax, rax
je 0x18002036c
movsxd rax, dword [0x180a78258]
mov rcx, qword [rbp - 0x68]
or rcx, rax
mov qword [rbp - 0x68], rcx
mov eax, dword [rsp + 0x54]
mov ecx, ebx
movsx rdx, word [rbp - 0x70]
add eax, 0x118
mov dword [rsp + 0x68], eax
mov eax, ebx
movsx rdi, dl
cmp rdi, qword [0x18004f620]
setg cl
cmp dl, 0x59
setg al
cmp ecx, eax
jne 0x1800203fa
mov al, byte [rsp + 0x50]
test al, al
jne 0x1800203bb
mov eax, dword [rbp - 0x74]
movzx ecx, word [0x18004f640]
add ax, cx
and cx, ax
mov word [0x18004f640], cx
jmp 0x1800203fa
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x48]
not rcx
add rax, rcx
jne 0x1800203fa
movzx eax, word [rsp + 0x64]
add al, 0x56
movzx ecx, r10b
mov byte [0x18004f5b6], al
movsx eax, byte [rsp + 0x50]
not eax
cdqe
sub rcx, rax
mov rax, qword [rbp - 0x68]
add ax, 0x5c
add ax, cx
mov word [0x18004f61c], ax
mov eax, dword [rsp + 0x54]
add eax, 0x252
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
add eax, 0x6c
mov dword [rbp - 0x7c], eax
mov eax, dword [rsp + 0x68]
mov edx, dword [rbp - 0x7c]
imul ecx, eax, 0x2fe
mov eax, dword [rbp - 0x7c]
add edx, ecx
mov ecx, 0x259
sub ecx, eax
cmp edx, ecx
je 0x1800214d7
movzx ecx, word [0x18004f61c]
mov r8d, ebx
mov rax, qword [0x18004f608]
movsx edx, byte [rsp + 0x50]
cmp rax, rcx
movzx eax, word [0x18004f630]
not edx
sete r8b
sub edx, r8d
cmp edx, eax
jl 0x180020501
mov al, byte [rsp + 0x50]
test al, al
je 0x1800204e9
mov r12d, 0x7a52
mov r10d, dword [rbp - 0x58]
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov rcx, qword [0x18004f610]
mov eax, r15d
cmp rax, rcx
jle 0x1800204ab
movsx eax, word [0x18004f564]
movsx r12d, r12w
imul r12d, eax
mov eax, dword [rsp + 0x7c]
and eax, dword [0x180a32d58]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x104
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x78]
cmp eax, dword [0x18004f644]
ja 0x18002055b
mov eax, dword [0x18004f634]
test eax, eax
je 0x18002055b
movsx r8d, byte [0x180a63d70]
mov qword [rbp + 0x18], r8
mov byte [rsp + 0x58], 0x9e
jmp 0x18002055f
test r13d, r13d
je 0x180020471
mov r10d, dword [rbp - 0x58]
lea eax, [r10 + 0xf]
mov dword [0x18004f654], eax
jmp 0x180020475
mov al, byte [0x18004f535]
mov al, byte [0x18004f537]
mov eax, dword [0x18004f634]
movsx ecx, byte [0x18004f54b]
mov eax, dword [rbp - 0x80]
mov r10d, dword [rbp - 0x58]
add eax, ecx
cmp eax, 1
ja 0x180020545
mov rax, qword [rbp - 0x68]
sub al, 0x2c
mov byte [0x18004f537], al
mov eax, dword [rsp + 0x7c]
sub eax, 0x7841eda5
mov dword [rbp - 0x30], eax
jmp 0x180020475
mov rax, qword [0x18004f608]
mov eax, 0xffff9d92
mov word [rsp + 0x64], ax
jmp 0x180020475
mov r8, qword [rbp + 0x18]
mov eax, dword [rsp + 0x54]
add eax, 0x2c3
mov dword [rsp + 0x68], eax
mov eax, dword [0x18004f634]
test eax, eax
je 0x18002059d
mov r14d, dword [rsp + 0x74]
mov eax, r14d
not eax
test eax, eax
je 0x18002063f
mov eax, 0x20f4
add ax, word [0x18004f620]
mov word [rbp - 0x50], ax
jmp 0x18002063f
mov rax, qword [rbp - 0x48]
mov rcx, rbx
test rax, rax
mov rax, qword [rbp - 0x48]
sete cl
cmp rcx, rax
jb 0x1800205f2
movsx ecx, word [0x18004f650]
add ecx, 0x59fe96b
mov dword [0x18004f634], ecx
movsx rax, byte [rsp + 0x58]
mov r8, qword [rbp - 0x68]
mov ecx, dword [rsp + 0x78]
and r8w, ax
mov rax, qword [rbp - 0x48]
movsx edx, ax
movsx eax, cx
imul eax, edx
xor ax, r8w
mov word [0x18004f628], ax
jmp 0x18002063a
movsx ecx, byte [0x18004f54b]
mov edx, ebx
not ecx
movsx eax, r8w
cmp r10d, ecx
sete dl
cmp edx, eax
je 0x18002061d
movzx eax, byte [0x18004f54b]
imul eax, eax, 0xc7
mov byte [rbp - 0x4c], al
jmp 0x18002063a
cmp byte [0x18004f563], bl
mov edx, ebx
movsx eax, word [rsp + 0x64]
setne dl
cmp edx, eax
jg 0x18002063a
lea eax, [r11 + r9]
mov word [rsp + 0x64], ax
mov r14d, dword [rsp + 0x74]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x2110]
mov qword [rsp + 0x40], rbx
lea rcx, [fcn.18002d990]
mov qword [rsp + 0x38], rbx
add eax, 0x39f
mov qword [rsp + 0x30], rbx
mov r9d, 0x104
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov dword [rbp - 0x20], eax
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov eax, dword [rbp - 0x24]
lea r8, [rbp + 0x2110]
mov rdx, qword [rbp + 0x38]
mov r9d, 0x104
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rdx + rax*8]
call fcn.180016fe4
mov ecx, dword [rbp + 0x10]
mov edx, 0x2ce
sub edx, ecx
mov esi, eax
mov ecx, dword [rbp - 0x54]
sub edx, ecx
mov ecx, dword [rbp - 0x54]
or ecx, 0x347
xor ecx, 0x25a
cmp edx, ecx
je 0x180020e3f
mov qword [0x18004f600], 4
movsx rax, word [0x18004f650]
sub qword [0x18004f5f8], rax
mov eax, dword [0x18004f62c]
add word [0x18004f668], ax
mov rax, qword [0x18004f600]
test rax, rax
je 0x1800207b1
sub rax, 1
je 0x18002075b
sub rax, 1
je 0x18002074d
sub rax, 1
je 0x18002073b
cmp rax, 1
jne 0x1800207bd
mov al, byte [0x18004f535]
mov cl, byte [0x18004f535]
mov dl, byte [rsp + 0x50]
add dl, al
add dl, cl
mov byte [0x18004f535], dl
jmp 0x1800207bd
mov al, byte [0x18004f5b6]
mov dword [0x18004f634], ebx
mov rax, qword [rbp - 0x48]
jmp 0x1800207bd
movsx rax, byte [0x18004f535]
add qword [rbp - 0x18], rax
jmp 0x1800207bd
movsx ecx, byte [0x18004f535]
imul ecx, dword [0x18004f644]
movzx eax, word [0x18004f668]
not ecx
movsxd rdx, ecx
mov ecx, r14d
sub ecx, eax
mov rax, qword [rbp - 0x68]
movsxd r8, ecx
mov ecx, 0x4b
sub cl, al
xor r8, rdx
not cl
add cl, 0x74
add cl, r8b
mov byte [0x18004f537], cl
mov ecx, 0x6f70
mov rax, qword [0x18004f610]
add ax, cx
mov word [0x18004f66c], ax
jmp 0x1800207bd
mov al, byte [0x18004f535]
mov byte [0x180aa8659], al
movzx eax, word [0x18004f630]
mov ecx, ebx
mov rax, qword [rbp - 0x40]
mov r9d, dword [rbp - 0x50]
add al, 0x56
mov byte [0x18004f563], al
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
movzx eax, r9w
cmp qword [rbp - 0x18], rax
mov eax, ebx
setbe cl
cmp qword [rbp - 0x18], 0x2f
setbe al
cmp ecx, eax
jb 0x180020807
mov r10d, dword [rbp - 0x58]
mov dword [rsp + 0x6c], 0xc54e
jmp 0x18002082d
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x78]
sub ecx, r13d
movsx r10d, byte [0x18004f536]
add eax, ecx
mov dword [rsp + 0x78], eax
mov eax, r13d
not eax
imul r10d, eax
mov dword [rbp - 0x58], r10d
mov eax, dword [rsp + 0x54]
add eax, 0x4088
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
add eax, 0x103
mov dword [rbp - 0x7c], eax
mov eax, 0x1ccf
movsx ecx, word [rsp + 0x64]
add ecx, r13d
mov dword [rsp + 0x6c], ecx
movsx ecx, byte [0x18004f535]
xor cx, ax
mov word [0x18004f638], cx
mov r8, qword [0x18004f608]
mov eax, dword [rbp - 0x74]
sub r8d, eax
mov eax, dword [rsp + 0x54]
add eax, 0x48
mov qword [rbp - 8], r8
mov dword [rsp + 0x68], eax
movzx eax, word [0x18004f630]
test ax, ax
jne 0x1800208c7
cmp dword [0x18004f54c], ebx
je 0x1800208c7
movsx eax, byte [rsp + 0x58]
mov edx, dword [rsp + 0x7c]
sub edx, eax
mov eax, dword [rsp + 0x7c]
or eax, edx
cmp qword [0x18004f660], rbx
mov dword [rsp + 0x7c], eax
movsx eax, byte [0x18004f536]
cmovne ax, r8w
mov word [0x18004f66c], ax
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x7c]
or ecx, eax
mov eax, 0x473
movzx r9d, r9w
sub eax, ecx
mov dword [rbp - 0x38], eax
mov eax, dword [rsp + 0x7c]
mov rcx, qword [0x18004f608]
imul rcx, rax
movabs rax, 0xac734b62e946f
mov qword [0x18004f608], rcx
mov qword [rbp - 0x68], rax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov qword [rbp - 0x68], 2
mov eax, dword [0x18004f62c]
add eax, 0x9e
mov dword [0x18004f5cc], eax
lea eax, [r9 - 0x4242360f]
mov dword [0x18004f54c], eax
mov rax, qword [rbp - 0x68]
dec rax
cmp rax, 1
jne 0x180020960
movzx eax, word [0x18004f620]
mov ecx, 0x4f6b
sub ax, cx
mov word [0x18004f66c], ax
mov eax, dword [0x18004f5cc]
add eax, 0xfffffff6
mov dword [rbp - 0x74], eax
mov eax, dword [rsp + 0x54]
mov edx, ebx
add eax, 0x50
mov dword [rsp + 0x68], eax
movsx eax, byte [rsp + 0x50]
cmp r10d, eax
mov eax, ebx
setle dl
cmp r10d, 0x50
setle al
cmp edx, eax
jne 0x180020996
mov al, byte [0x18004f58e]
sar al, 3
mov byte [0x18004f536], al
jmp 0x1800209e0
movsx ecx, word [0x18004f650]
not ecx
test ecx, ecx
je 0x1800209b3
mov al, byte [0x18004f5b6]
dec al
mov byte [0x18004f5b6], al
jmp 0x1800209e0
mov eax, dword [0x18004f62c]
test eax, eax
je 0x1800209e0
movzx ecx, word [0x18004f630]
sub ecx, 0x25e43fab
mov dword [rbp - 0x74], ecx
movzx r12d, word [0x18004f638]
movsx eax, byte [0x18004f536]
sub r12w, ax
mov eax, dword [rsp + 0x54]
mov edx, ebx
mov rdi, qword [rbp + 0x18]
add eax, 0x36
mov dword [rbp - 0x5c], eax
mov ecx, dword [rsp + 0x78]
movsx eax, di
cmp ecx, eax
mov eax, dword [rsp + 0x78]
mov ecx, ebx
seta dl
cmp eax, 0x38
seta cl
cmp edx, ecx
je 0x180020a6b
movsxd rax, dword [0x18004f62c]
mov edx, ebx
cmp rax, qword [0x18004f660]
mov ecx, ebx
mov eax, dword [0x18004f62c]
seta dl
cmp eax, 8
setg cl
cmp edx, ecx
ja 0x180020a47
mov cl, byte [0x18004f54b]
mov eax, dword [0x18004f634]
add cl, al
mov byte [0x18004f563], cl
jmp 0x180020ab0
movsx ecx, word [rsp + 0x64]
mov edx, dword [0x18004f63c]
not ecx
movzx eax, byte [rbp - 0x4c]
add edx, ecx
not edx
sub edx, eax
mov eax, dword [rbp - 0x80]
not eax
add eax, edx
mov qword [rbp - 0x40], rax
jmp 0x180020ab0
mov al, byte [0x18004f5b6]
test al, al
je 0x180020ab0
movsx edx, word [rsp + 0x64]
movsx eax, word [rsp + 0x64]
sub edx, eax
mov eax, dword [0x18004f644]
not eax
movsxd r8, edx
and r8, qword [0x18004f648]
movsxd rcx, eax
mov rax, qword [0x18004f608]
add rax, rcx
mov rcx, rbx
sete cl
add rcx, r8
mov qword [0x18004f648], rcx
mov eax, dword [rsp + 0x54]
add eax, 0xd8e7
mov dword [rbp - 0x5c], eax
movzx eax, word [rsp + 0x64]
test ax, ax
je 0x180020ad2
mov eax, dword [rsp + 0x6c]
sub eax, 0x538f
mov dword [rbp - 8], eax
mov ecx, dword [rsp + 0x68]
mov eax, 0xfd2c
xor ecx, 0xfc16
sub eax, ecx
mov dword [rbp - 0x10], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov rax, qword [0x18004f610]
test rax, rax
mov eax, r14d
jne 0x180020b03
mov eax, dword [rsp + 0x78]
mov word [0x18004f638], ax
mov eax, dword [rsp + 0x54]
add eax, 0x98
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x68]
cmp rax, qword [0x18004f5f8]
jb 0x180020b35
movsx eax, byte [0x18004f58e]
add eax, 0x70bd
add r13d, eax
jmp 0x180020b5b
mov eax, dword [0x18004f62c]
mov ecx, ebx
test eax, eax
movzx eax, word [0x18004f628]
sete cl
cmp ecx, r15d
cmovae ax, word [0x1809e7d20]
mov word [0x18004f628], ax
mov eax, dword [rsp + 0x54]
add eax, 0xb356
mov dword [rbp - 0x5c], eax
mov eax, r14d
imul eax, r13d
mov dword [rbp - 0x74], eax
mov eax, dword [rsp + 0x54]
mov rcx, qword [0x18004f660]
add eax, 0x86
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jbe 0x180020b9f
movzx eax, word [0x18004f630]
add al, 0x74
mov byte [0x18004f563], al
jmp 0x180020bb8
movzx eax, word [0x18004f668]
sub r9d, dword [0x18004f564]
add eax, ecx
or eax, r9d
mov dword [0x18004f54c], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rbp - 0x5c]
sub ecx, eax
mov eax, dword [0x1809e7d20]
xor ecx, 0xb20d
mov dword [rbp - 0x5c], ecx
lea rcx, [rbp + 0x20a0]
mov dword [rsp + 0x54], eax
movsx eax, byte [0x18004f563]
add eax, 0x34790f0f
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x6d
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
add eax, 0xd1
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
movups xmm0, xmmword [str.ds_ext_aad_aadclou]
add eax, 0x6b1a
mov dword [rsp + 0x68], eax
movzx eax, word [0x180038868]
mov word [rbp + 0x20b0], ax
mov al, byte [0x18003886a]
mov byte [rbp + 0x20b2], al
movups xmmword [rbp + 0x20a0], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [rsp + 0x68]
mov r8b, al
xor ecx, 0x1e
mov dword [rbp - 0x4c], r8d
mov eax, 0x6c1b
sub eax, ecx
mov dword [rsp + 0x68], eax
test esi, esi
je 0x180020e43
movsx ecx, byte [rsp + 0x58]
mov edx, ebx
sub cx, word [0x18004f658]
mov eax, dword [0x1809e7d20]
mov word [0x18004f640], cx
mov ecx, ebx
mov dword [rsp + 0x54], eax
movsx eax, byte [0x18004f5b6]
cmp eax, dword [rbp - 8]
mov al, byte [0x18004f5b6]
setbe dl
cmp al, 0x46
setle cl
cmp edx, ecx
je 0x180020cd5
cmp word [rbp - 0x50], bx
je 0x180020cb1
mov al, byte [0x18004f5b6]
mov ecx, 1
test al, al
jne 0x180020cb3
mov ecx, ebx
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
jl 0x180020cd5
mov eax, dword [0x18004f5cc]
movabs rcx, 0x87eeb5b62bc23
sub rcx, rax
add qword [0x18004f620], rcx
mov ecx, dword [rbp - 0x38]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp - 0x60], ecx
cmp dword [rbp - 0x58], ebx
je 0x180020d0e
movzx eax, word [0x18004f650]
mov ecx, ebx
mov word [0x18004f628], ax
mov rax, qword [0x18004f610]
test rax, rax
mov eax, dword [rsp + 0x6c]
sete cl
add eax, ecx
mov dword [rbp - 0x74], eax
jmp 0x180020d62
test r12w, r12w
je 0x180020d3d
mov rax, qword [rbp - 0x48]
mov ecx, 0x85
xor ax, cx
mov word [0x18004f638], ax
mov al, byte [0x18004f563]
add al, al
sub al, byte [0x18004f58f]
mov byte [0x18004f563], al
jmp 0x180020d62
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x180020d62
mov eax, dword [0x18004f654]
imul ecx, eax, 0x64
movsx eax, word [0x18004f628]
sar eax, 6
mov dword [0x18004f63c], ecx
mov dword [rbp - 0x80], eax
mov ecx, dword [rbp - 0x10]
mov r9d, 3
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp - 0x38], ecx
mov dword [rsp + 0x6c], r9d
mov eax, dword [rbp - 0x80]
shl al, 6
mov byte [rsp + 0x50], al
mov ecx, dword [rsp + 0x6c]
test ecx, ecx
je 0x180020dd1
sub ecx, 1
je 0x180020dc5
sub ecx, 1
je 0x180020dbb
cmp ecx, 1
jne 0x180020ddf
mov rcx, qword [rbp - 0x40]
mov eax, 0x3d00
add cx, cx
sub cx, ax
mov eax, dword [0x18004f63c]
add cx, ax
mov word [0x18004f618], cx
jmp 0x180020ddf
mov al, byte [rsp + 0x58]
mov word [rbp - 0x70], ax
jmp 0x180020ddf
mov eax, 2
mov word [rsp + 0x64], ax
jmp 0x180020ddf
movzx eax, r8b
imul eax, eax, 0xc2216c24
mov dword [rsp + 0x74], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x5c]
add ecx, eax
mov dword [rbp - 0x7c], ecx
mov edx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp - 0x60]
imul edx, eax
mov eax, dword [rsp + 0x68]
imul ecx, eax
add edx, ecx
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x60]
sub ecx, eax
cmp ecx, edx
je 0x180020e43
movzx eax, word [0x18004f638]
mov r15d, r9d
sub al, 0x12
mov byte [0x18004f58e], al
mov eax, 0xcb6e
mov word [0x18004f61c], ax
movsx eax, word [0x18004f650]
imul eax, eax, 0x4f01
mov dword [0x18004f63c], eax
jmp 0x180020e43
mov rdi, qword [rbp + 0x18]
mov eax, dword [rbp - 0x24]
mov r9d, 0x400
mov r8, qword [rbp + 8]
mov edx, eax
mov rcx, qword [rbp + 0x20]
mov r8, qword [r8 + rax*8]
mov rax, qword [rbp + 0x58]
add r8, 0x110
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x44]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + rdx*8]
call fcn.18001559c
mov ecx, dword [rbp + 0x14]
mov r14d, eax
cmp ecx, 0x206
je 0x180021431
mov ecx, dword [0x1809e7d20]
mov rdx, rbx
mov dword [rsp + 0x54], ecx
movzx ecx, word [0x18004f650]
movsx eax, word [0x18004f650]
test cx, cx
movsx r8, word [0x18004f640]
sete dl
add eax, dword [rbp - 0x30]
add eax, r13d
xor r8, rdx
cdqe
sub r8, rax
mov rax, qword [rbp - 0x40]
imul rcx, rax, 0x3d29
mov eax, dword [rsp + 0x54]
sub r8, rcx
mov byte [0x180a63d83], dil
add eax, 0x51
mov qword [0x18004f620], r8
mov dword [rbp - 0x5c], eax
mov r8d, 1
movsx rax, byte [rsp + 0x50]
cmp qword [0x18004f660], rax
jae 0x180020f3b
movsx eax, byte [0x18004f58f]
add eax, 0x10
mov byte [rbp - 0x4c], r8b
mov dword [rsp + 0x7c], eax
mov rax, qword [0x18004f610]
sar rax, 7
mov dword [rsp + 0x7c], eax
mov rax, qword [0x18004f600]
mov r15d, dword [0x18004f5cc]
shl rax, 6
mov qword [rbp - 0x48], rax
mov eax, dword [rsp + 0x54]
add eax, 0xec
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
add eax, 0xa1
mov dword [rsp + 0x68], eax
movzx edx, word [0x18004f61c]
mov ecx, dword [rsp + 0x68]
sub dl, 0x4d
mov eax, dword [rbp - 0x5c]
imul ecx, eax
movsx edi, dl
mov word [rbp - 0x70], dx
sub ecx, 0x30ad
mov dword [rbp - 0x38], ecx
mov eax, dword [rsp + 0x6c]
cmp eax, edi
jle 0x180020f8f
mov al, byte [0x18004f658]
add al, 0x2e
mov byte [0x18004f5b6], al
mov eax, dword [0x1809e7d20]
mov r13d, edi
mov dword [rsp + 0x54], eax
and r13d, 0x9645ad52
mov eax, dword [rsp + 0x54]
add eax, 0x63
movsx esi, r12w
mov dword [rbp - 0x7c], eax
lea eax, [rsi - 0x3c]
movsxd rcx, eax
mov qword [0x18004f608], rcx
mov eax, dword [rsp + 0x54]
add eax, 0x24
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
add eax, 0xd897
mov dword [rsp + 0x68], eax
movsx eax, byte [0x18004f537]
mov ecx, dword [rbp - 0x7c]
mov dword [0x18004f564], eax
mov eax, dword [rbp - 0x7c]
xor ecx, eax
mov eax, 0x288
sub eax, ecx
mov dword [rbp - 0x10], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0xa8
mov dword [rbp - 0x5c], eax
movzx eax, word [0x18004f61c]
cmp eax, dword [0x18004f644]
jge 0x180021054
movzx eax, word [0x18004f61c]
movsx ecx, byte [0x18004f58e]
test ax, ax
movsx edx, word [0x18004f618]
cmovne edx, ecx
mov ecx, 0x7b38
movsxd rax, edx
mov qword [rbp - 0x40], rax
mov rax, qword [0x18004f600]
sub ax, cx
mov word [0x18004f640], ax
jmp 0x180021058
mov eax, dword [rsp + 0x78]
mov eax, dword [rsp + 0x54]
mov ecx, 0x548a
add eax, 0xc18c
mov dword [rbp - 0x7c], eax
movsx eax, byte [0x18004f58f]
not ax
mov word [rsp + 0x64], ax
movzx eax, word [0x18004f618]
sub ax, cx
mov word [0x18004f630], ax
mov eax, dword [rsp + 0x54]
add eax, 0x461
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x48]
add eax, 0xffffff80
mov dword [rsp + 0x6c], eax
cmp word [rbp - 0x50], bx
je 0x1800210cd
mov eax, dword [0x18004f634]
test eax, eax
mov ecx, dword [0x18004f564]
cmovne rcx, qword [0x18004f5f8]
sub dword [0x18004f54c], r8d
mov qword [0x18004f658], rcx
jmp 0x1800210db
mov rax, qword [0x18004f620]
mov qword [0x18004f5f8], rax
mov edx, dword [rsp + 0x68]
mov eax, dword [rbp - 0x5c]
add edx, eax
mov eax, dword [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
or eax, edx
movsd xmm0, qword [str.EventData]
or ecx, eax
mov eax, dword [0x1809e7d20]
sub ecx, 0xc32d
mov dword [rbp + 0x28], ecx
lea rcx, [rbp + 0x2060]
mov dword [rsp + 0x54], eax
movzx eax, word [0x180038878]
mov word [rbp + 0x2068], ax
movsd qword [rbp + 0x2060], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [rsp + 0x54]
add ecx, 0xc8ea
mov dword [rsp + 0x74], eax
mov dword [rbp - 0x5c], ecx
mov cl, byte [rsp + 0x50]
test cl, cl
je 0x180021177
movzx ecx, word [0x180038890]
movups xmm0, xmmword [0x180038880]
mov word [rbp + 0x20c8], cx
lea rcx, [rbp + 0x20b8]
movups xmmword [rbp + 0x20b8], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x18004f630], ax
jmp 0x180021187
cmp word [0x18004f618], bx
mov eax, 1
cmovne r13d, eax
mov eax, dword [rsp + 0x54]
mov ecx, 0x471a
add eax, 0x8d
mov dword [rsp + 0x68], eax
movzx eax, word [0x18004f638]
add ax, cx
mov ecx, ebx
mov word [0x18004f628], ax
mov eax, dword [rsp + 0x54]
add eax, 0xad
mov dword [rbp - 0x7c], eax
mov eax, dword [0x18004f63c]
cmp r13d, eax
mov eax, ebx
setge cl
cmp r13d, 0x29
setge al
cmp ecx, eax
ja 0x180021205
mov rax, qword [0x18004f600]
mov ecx, ebx
movsx r15d, word [0x18004f640]
test rax, rax
mov eax, ebx
sete cl
and r15d, ecx
cmp qword [0x18004f620], rbx
cmove eax, dword [rbp - 0x58]
add r15d, eax
movsx eax, byte [0x18004f58f]
add r15d, eax
movsx eax, word [0x18004f650]
mov ecx, ebx
mov edx, dword [rsp + 0x78]
add edx, eax
mov eax, dword [rsp + 0x78]
add eax, edx
movzx edx, byte [rbp - 0x4c]
mov dword [rsp + 0x78], eax
mov al, byte [rsp + 0x58]
test al, al
mov eax, dword [rsp + 0x78]
not eax
sete cl
add ecx, eax
mov eax, dword [rsp + 0x7c]
or edx, eax
xor edx, ecx
movsx ecx, word [rsp + 0x64]
mov eax, dword [0x18004f648]
add ecx, esi
add edx, ecx
add eax, edx
mov edx, dword [rbp - 0x7c]
mov qword [rbp - 0x30], rax
mov eax, dword [rbp - 0x7c]
sub edx, eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rbp - 0x5c]
or ecx, edx
or eax, ecx
mov ecx, 0xcb36
sub ecx, eax
mov eax, dword [rbp - 0x20]
sub ecx, eax
mov eax, dword [rsp + 0x5c]
sub ecx, eax
mov eax, dword [rbp - 0x20]
add ecx, eax
mov eax, dword [rsp + 0x5c]
add eax, ecx
mov dword [rsp + 0x68], eax
test r14d, r14d
je 0x180021431
mov rax, qword [rbp - 0x40]
test r13d, r13d
mov edx, ebx
cmovne edi, dword [rsp + 0x6c]
sub rax, 0x6d
mov qword [0x18004f660], rax
mov r15d, edi
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x38]
add ecx, eax
mov eax, ebx
mov dword [rbp - 0x5c], ecx
mov ecx, dword [rsp + 0x7c]
cmp word [0x18004f628], bx
setne al
test ecx, ecx
cmove edx, eax
movsx eax, word [0x18004f66c]
cmp edx, eax
jge 0x18002131e
mov r8, qword [rbp - 8]
mov rdx, rbx
mov rcx, qword [0x18004f648]
mov eax, r8d
imul eax, dword [0x18004f644]
test eax, eax
mov rax, rbx
sete dl
add rcx, qword [rbp - 0x18]
not rcx
add rdx, rcx
test r8d, r8d
sete al
add rdx, rax
mov qword [0x18004f620], rdx
jmp 0x1800213b7
cmp qword [rbp - 0x18], rbx
mov ecx, ebx
movsx eax, word [rbp + 0x18]
mov edx, ebx
sete cl
cmp ecx, eax
mov ecx, ebx
movsxd rax, r13d
setge dl
cmp qword [0x18004f660], rax
setae cl
cmp edx, ecx
je 0x180021368
movzx eax, word [0x18004f668]
mov ecx, r13d
mov qword [rbp + 0x18], rax
not ecx
mov rax, qword [rbp - 0x48]
xor cl, 0x9a
xor al, 0x92
sub cl, al
mov byte [0x18004f5b6], cl
jmp 0x1800213b7
mov al, byte [0x18004f537]
test al, al
jne 0x1800213b7
test r13d, r13d
je 0x1800213b7
movsx edx, byte [0x18004f5b6]
mov eax, edi
movsx r8d, byte [0x18004f58e]
not eax
imul edx, r8d
imul ecx, eax, 0xc9
mov eax, dword [rbp - 0x74]
and r8b, dl
movsx edx, r8b
and dx, ax
mov byte [0x18004f58e], r8b
test ecx, ecx
mov eax, ebx
cmove ax, dx
mov word [0x18004f66c], ax
mov ecx, dword [rsp + 0x54]
mov edx, ebx
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x38], ecx
mov ecx, ebx
movzx eax, word [0x18004f66c]
cmp ax, word [0x18004f618]
movzx eax, word [0x18004f66c]
setl dl
cmp ax, 0x4d
setl cl
cmp edx, ecx
jae 0x18002140d
movsx rcx, byte [0x18004f58e]
movabs rax, 0x6fc5cb86120ae
xor rcx, rax
mov eax, dword [0x18004f62c]
add eax, ecx
mov dword [0x18004f62c], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp + 0x28]
add ecx, eax
mov dword [rsp + 0x5c], ecx
mov eax, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x68]
mov eax, dword [rsp + 0x5c]
mov eax, dword [rbp - 0x5c]
mov eax, dword [rsp + 0x5c]
mov r8, qword [rbp + 8]
mov r9d, 0x103
mov eax, dword [rbp - 0x24]
mov edx, eax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov rcx, qword [r8 + rax*8]
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
mov rax, qword [rax + rdx*8]
mov qword [rcx], rax
mov rcx, qword [r8 + rdx*8]
mov eax, dword [rbp + 0x44]
mov dword [rcx + 0x10c], eax
lea rcx, [0x18002ec90]
mov rdx, qword [r8 + rdx*8]
lea r8, [rbp + 0x2110]
add rdx, 8
call fcn.1800152bc
movsx ecx, byte [0x18004f563]
mov eax, dword [rbp - 0x80]
cmp ecx, eax
jae 0x1800214c2
mov rax, qword [0x18004f648]
mov rcx, qword [0x18004f660]
lea rcx, [rcx + rax*2]
movsx eax, r13w
mov qword [0x18004f648], rcx
imul ecx, eax, 0x32
and r12w, cx
mov eax, dword [rsp + 0x60]
mov r11d, 0x53
add eax, dword [rbp + 0x44]
mov r8d, dword [rbp - 0x24]
mov dword [rsp + 0x60], eax
mov edi, dword [rsp + 0x74]
inc r8d
mov r10d, dword [rbp - 0x4c]
mov dword [rbp - 0x24], r8d
cmp r8d, dword [rbp]
jb 0x1800202ff
mov qword [rbp + 0x30], r15
mov esi, 0x10
mov dword [rsp + 0x5c], r13d
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov qword [rsp + 0x38], rbx
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov r9, qword [rbp + 0x38]
mov rdx, rax
mov rcx, qword [sym.imp.KERNEL32.dll_HeapFree]
xor r8d, r8d
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
mov eax, dword [rsp + 0x70]
mov edx, dword [rbp - 0x78]
imul ecx, eax, 0x271
mov eax, dword [rbp - 0x78]
add edx, ecx
cmp eax, edx
je 0x1800222b2
movsx eax, byte [0x18004f58e]
mov ecx, edi
not ecx
mov qword [0x18004f658], 0x393
sub ecx, eax
mov dword [0x18004f654], ecx
cmp dword [rsp + 0x60], ebx
jbe 0x1800222b2
mov r9d, dword [rbp - 0x50]
movabs rcx, 0xc46d736a3f3d3
movsxd rax, r13d
sub rax, rcx
movzx r14d, r9w
mov qword [rbp - 0x48], rax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov eax, dword [0x18004f62c]
sub al, 0x55
mov byte [rsp + 0x58], al
movzx eax, r14w
sub ax, si
mov word [0x18004f638], ax
mov eax, dword [rsp + 0x60]
add eax, 0x72
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x60]
add eax, 0x120
mov dword [rbp + 0x14], eax
mov eax, dword [rsp + 0x60]
add eax, 0x104
mov dword [rsp + 0x60], eax
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0x60]
add ecx, 0xfffffd3b
add edx, ecx
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x70]
add ecx, eax
cmp ecx, edx
je 0x1800222b2
mov cl, byte [0x18004f618]
mov r15b, r13b
mov r8, qword [rbp - 0x30]
mov esi, ebx
mov rdx, qword [rbp + 0x30]
mov al, r8b
not al
and dl, 5
xor cl, al
mov al, r13b
sub dl, cl
not al
mov ecx, dword [rbp]
and dl, al
mov byte [0x18004f5b6], dl
test ecx, ecx
je 0x180021de4
movsx eax, byte [0x18004f58f]
movzx r10d, r15b
cmp r10d, eax
jg 0x18002167d
movzx eax, word [0x18004f668]
sub eax, 0x71ad607f
mov dword [0x18004f54c], eax
jmp 0x1800216a0
movzx eax, word [0x18004f66c]
cmp r12w, ax
jl 0x1800216a0
lea eax, [r9 - 0x50]
or byte [0x18004f563], al
mov eax, dword [0x1809e7d20]
mov dword [0x18004f634], eax
mov eax, dword [0x1809e7d20]
mov edx, ebx
mov dword [rsp + 0x60], eax
mov ecx, ebx
mov eax, dword [rsp + 0x6c]
cmp eax, r14d
mov eax, dword [rsp + 0x6c]
setle dl
cmp eax, 0x1d
setle cl
cmp edx, ecx
jbe 0x1800216d4
movzx eax, word [rsp + 0x64]
xor al, byte [rbp - 0x58]
mov byte [0x18004f537], al
mov eax, dword [rsp + 0x60]
add eax, 0x158
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 0x80]
mov al, byte [rsp + 0x58]
mov eax, dword [rsp + 0x60]
add eax, 0x1b0
mov dword [rsp + 0x70], eax
mov eax, dword [0x18004f654]
movsx ecx, byte [0x18004f537]
shl eax, 7
mov qword [rbp - 0x18], rax
mov eax, 1
sub eax, ecx
imul r8d, eax
mov eax, dword [rsp + 0x60]
add eax, 0x28b
mov dword [rbp - 0x78], eax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x78]
sub ecx, eax
mov eax, dword [rsp + 0x70]
sub ecx, eax
mov eax, dword [rbp - 0x54]
add ecx, eax
mov eax, dword [rbp - 0x54]
mov qword [rbp - 0x30], r8
cmp eax, ecx
je 0x180021dc5
mov r11, qword [rbp - 8]
mov eax, 3
mov dword [0x18004f654], eax
movsx rax, byte [rbp - 0x70]
mov qword [0x180b32c40], rax
mov eax, dword [0x18004f654]
test eax, eax
je 0x1800217f0
sub eax, 1
je 0x18002179f
sub eax, 1
je 0x180021789
cmp eax, 1
jne 0x1800217f5
mov al, byte [0x18004f5b6]
sub al, 7
mov byte [0x18004f537], al
jmp 0x1800217f5
movsx ecx, word [0x18004f650]
movzx eax, word [rsp + 0x64]
add ax, cx
mov word [rsp + 0x64], ax
jmp 0x1800217f5
mov ecx, ebx
mov eax, r11d
cmp rax, qword [0x18004f658]
mov edx, ebx
mov eax, ebx
sete dl
cmp word [0x18004f618], bx
sete al
and edx, eax
mov eax, dword [rsp + 0x6c]
cmp word [0x18004f640], bx
sete cl
imul eax, ecx
mov ecx, ebx
test eax, eax
movzx eax, word [0x18004f61c]
mov byte [0x18004f563], 8
sete cl
add edx, ecx
sub dl, al
not dl
mov byte [rsp + 0x50], dl
jmp 0x1800217f5
mov byte [rsp + 0x50], 0xdf
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x40]
shl rax, 6
mov dword [0x18004f54c], eax
mov eax, 0xdf74e9fb
mov qword [0x18004f5f8], rax
mov eax, dword [rsp + 0x60]
add eax, 0x10f
mov r9d, esi
mov dword [rbp - 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x259
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x60]
add eax, 0x30b
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 8]
mov rax, qword [rax + r9*8]
cmp dword [rax + 0x10c], ebx
jbe 0x180021dc1
mov eax, dword [0x18004f5cc]
add eax, 0xcc
or edi, eax
movzx eax, word [0x18004f638]
mov dword [rsp + 0x74], edi
test ax, ax
jne 0x180021895
mov eax, dword [rbp - 0x74]
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x180021895
movzx edx, word [0x18004f638]
movsx eax, byte [rsp + 0x58]
sub dx, ax
mov word [0x18004f638], dx
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x7d
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x60]
movzx edx, word [0x18004f668]
add eax, 0xd34b
mov dword [rsp + 0x54], eax
movabs rax, 0x6b798c7c97fbb
add rdx, rax
mov eax, dword [0x18004f62c]
add eax, 0x65ef
mov qword [rbp - 0x18], rdx
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x60]
add eax, 0xc242
mov dword [rsp + 0x70], eax
movzx ecx, word [0x18004f630]
mov eax, dword [0x18004f5cc]
imul eax, ecx
mov rcx, qword [0x18004f610]
mov dword [0x18004f5cc], eax
mov rax, qword [0x18004f600]
cmp rax, rcx
jle 0x18002192e
imul edi, dword [0x18004f620]
movzx eax, word [0x18004f650]
sub al, dl
mov byte [0x18004f58e], al
mov dword [rsp + 0x74], edi
mov edx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
add edx, eax
mov eax, dword [rsp + 0x54]
xor eax, 0x8421
or eax, edx
mov edx, 1
sub qword [0x18004f658], rdx
sub eax, 0x1f741
mov dword [rsp + 0x70], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov eax, 0xffffee0b
mov byte [0x18004f54b], 4
mov word [0x18004f650], ax
movsx eax, byte [0x18004f54b]
mov ecx, eax
test al, al
je 0x180021a47
sub ecx, edx
je 0x180021a3a
sub ecx, edx
je 0x180021a23
sub ecx, edx
je 0x180021a07
cmp ecx, edx
jne 0x180021a5e
movzx eax, word [0x18004f638]
movzx ecx, word [rsp + 0x64]
add cx, ax
movzx edx, r15b
mov word [0x18004f638], cx
add dx, r12w
movsx eax, byte [rsp + 0x50]
mov r8d, dword [rbp - 0x80]
add r8w, ax
movsx eax, byte [rbp - 0x70]
add ax, word [rbp + 0x18]
xor r8w, ax
movsx eax, byte [rsp + 0x58]
movzx ecx, word [0x18004f658]
movzx eax, ax
imul ecx, eax
and dx, cx
not dx
add dx, r8w
mov r8, qword [rbp - 0x30]
mov word [0x18004f668], dx
mov edx, 1
jmp 0x180021a5e
mov rax, qword [rbp - 0x68]
add rax, 0xf3
mov qword [0x18004f600], rax
mov eax, dword [rsp + 0x78]
add eax, 0x4d7
jmp 0x180021a41
movsx ecx, word [0x18004f650]
mov eax, dword [rsp + 0x7c]
and ax, cx
mov word [0x18004f650], ax
jmp 0x180021a5e
movsx eax, byte [0x1809f6fac]
mov dword [rsp + 0x6c], eax
jmp 0x180021a5e
mov eax, dword [rsp + 0x7c]
mov byte [0x18004f537], al
mov al, byte [0x18004f5b6]
sar al, 7
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x60]
add eax, 0xf0
mov dword [rbp + 0x14], eax
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x180021a81
mov rax, qword [0x18004f610]
test rax, rax
mov eax, edx
jne 0x180021a83
mov eax, ebx
mov edx, dword [rbp - 0x58]
cmp eax, edx
jle 0x180021b08
mov al, byte [0x18004f5b6]
test al, al
je 0x180021ada
cmp byte [rbp - 0x70], bl
mov ecx, ebx
movsx eax, word [0x18004f640]
cmove ecx, r10d
add eax, r8d
not ecx
imul ecx, eax
movsxd r8, ecx
movsx ecx, byte [0x18004f5b6]
imul ecx, r11d
test r13d, r13d
sete al
sub al, byte [0x18004f658]
movsx edx, al
movsx ecx, cl
imul edx, ecx
add dl, r8b
mov byte [0x18004f54b], dl
jmp 0x180021b05
movsx ecx, byte [0x18004f58e]
mov edx, ebx
mov eax, edi
not eax
cmp eax, ecx
mov eax, dword [rsp + 0x6c]
setl dl
add eax, 0xcd10
cmp edx, eax
jle 0x180021b05
mov eax, 1
add word [0x18004f618], ax
mov edx, dword [rbp - 0x58]
mov eax, dword [rsp + 0x60]
add eax, 0x20
mov dword [rbp + 0x14], eax
mov eax, dword [rsp + 0x60]
add eax, 0xe3a3
mov dword [rbp - 0x78], eax
movabs rax, 0xba035f12fbe4c
mov qword [rbp - 0x68], rax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x78]
xor ecx, eax
mov eax, 0xfb
sub eax, ecx
mov dword [rbp + 0x14], eax
movzx eax, word [rsp + 0x64]
test ax, ax
je 0x180021b6e
mov rax, qword [0x18004f610]
mov ecx, 0x99
sub ax, cx
mov word [0x18004f638], ax
movzx eax, word [0x18004f650]
sub word [0x18004f640], ax
jmp 0x180021b8b
movsx eax, byte [rsp + 0x50]
lea ecx, [rdi + 0xa4ca]
imul eax, eax, 0xcba1
mov dword [rsp + 0x6c], eax
mov eax, dword [rbp - 0x74]
and ecx, eax
mov dword [rbp - 0x74], ecx
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov rcx, qword [0x18004f608]
not rcx
movsxd rax, edx
cmp rcx, rax
ja 0x180021baf
mov eax, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x6c]
mov al, byte [rsp + 0x58]
test al, al
jne 0x180021bbf
cmp byte [0x18004f58e], bl
jne 0x180021bc9
mov eax, dword [0x18004f63c]
mov al, byte [rsp + 0x50]
mov eax, dword [rsp + 0x60]
mov edi, dword [0x18004f54c]
add eax, 0xf6d5
mov dword [rbp + 0x10], eax
mov eax, dword [rsp + 0x60]
add eax, 0x75
sar edi, 5
mov dword [rbp + 0x10], eax
movzx r12d, di
mov eax, dword [rsp + 0x60]
add eax, 0xad08
mov dword [rbp + 0x10], eax
movzx eax, word [0x18004f630]
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbp - 0x60]
xor ecx, eax
mov eax, dword [rbp - 0x60]
add eax, 0xce
imul eax, ecx
add eax, 0x26
mov dword [rbp + 0x10], eax
cmp byte [rbp - 0x28], bl
jne 0x180021db9
mov rax, qword [rbp + 8]
mov r8, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rax + r9*8]
mov rdx, qword [rdx]
call fcn.180022a5c
test eax, eax
je 0x180021db9
movsx ecx, byte [rsp + 0x50]
mov eax, 2
mov r9d, dword [rbp - 0x50]
mov qword [rbp - 0x18], rax
mov eax, dword [rsp + 0x74]
imul ecx, eax
and eax, ecx
mov rcx, qword [rbp - 0x40]
mov dword [rsp + 0x74], eax
movzx eax, r9w
sub rcx, rax
mov rax, qword [rbp - 0x40]
add rax, rcx
mov qword [rbp - 0x40], rax
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x180021c8c
movsx ecx, word [rsp + 0x64]
add ecx, 0x35
mov dword [rsp + 0x78], ecx
jmp 0x180021c95
mov eax, dword [0x18004f654]
sub dword [rbp - 0x58], eax
mov eax, dword [0x1809e7d20]
add r15b, r15b
add r15b, byte [rbp - 8]
mov edi, dword [rsp + 0x74]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x339
mov dword [rbp - 0x54], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x70]
add ecx, eax
mov dword [rsp + 0x70], ecx
mov eax, dword [0x18004f63c]
mov ecx, dword [rbp - 0x80]
add eax, 0xffffff09
add ecx, eax
mov dword [0x18004f63c], ecx
mov al, byte [rsp + 0x58]
test al, al
mov eax, dword [rbp - 0x80]
movsx ecx, byte [0x18004f668]
sete r8b
movsx edx, al
sub r8b, byte [0x18004f564]
imul edx, ecx
movsx eax, r8b
movsx ecx, dl
imul ecx, eax
mov byte [0x18004f58f], cl
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbp + 0x14]
add ecx, eax
mov dword [rbp - 0x78], ecx
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x78]
sub ecx, eax
mov eax, dword [rbp - 0x54]
sub ecx, eax
mov edx, dword [rsp + 0x70]
mov eax, dword [rbp - 0x54]
add edx, ecx
mov ecx, dword [rbp + 0x10]
sub ecx, eax
cmp edx, ecx
je 0x180021dde
cmp byte [0x18004f563], bl
mov ecx, ebx
movsx eax, word [rbp + 0x18]
mov r8d, ebx
sete cl
mov edx, ebx
cmp eax, ecx
mov ecx, dword [rsp + 0x7c]
mov rax, qword [0x18004f608]
sete r8b
cmp rax, rcx
setbe dl
add edx, r8d
mov r8, qword [rbp - 0x30]
je 0x180021da4
mov al, byte [0x18004f5b6]
mov ecx, ebx
test al, al
mov r13d, ebx
mov al, byte [rsp + 0x50]
sete cl
test al, al
mov eax, dword [0x18004f634]
sete r13b
xor r13d, ecx
mov ecx, 0xc32da207
sub ecx, eax
mov eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
jmp 0x180021dc5
mov rcx, qword [0x18004f610]
movzx eax, r15b
imul rcx, rax
mov qword [rbp - 0x40], rcx
jmp 0x180021dc5
mov edi, dword [rsp + 0x74]
mov r8, qword [rbp - 0x30]
mov r9d, dword [rbp - 0x50]
mov ecx, dword [rbp]
mov edx, 1
add esi, edx
cmp esi, ecx
jb 0x180021659
mov dword [rsp + 0x5c], r13d
jmp 0x180021de9
mov r8, qword [rbp - 0x30]
jmp 0x180021dc5
mov edx, 1
movsx eax, word [0x18004f628]
sub eax, 0x52ab9c47
mov dword [rsp + 0x7c], eax
test ecx, ecx
je 0x1800220f7
mov rdi, qword [rbp + 8]
mov r13, qword [rbp - 8]
mov r12, qword [rbp + 0x50]
mov dword [rbp - 0x80], edx
movsx ecx, word [0x18004f66c]
xor cx, word [0x18004f618]
mov word [0x18004f66c], cx
mov eax, dword [rbp - 0x80]
test eax, eax
je 0x180021e37
cmp eax, 1
jne 0x180021e61
mov dword [rsp + 0x6c], edx
jmp 0x180021e61
movzx ecx, word [0x18004f630]
mov rax, qword [0x18004f5f8]
neg rax
mov eax, 0x99
sbb edx, edx
add eax, edx
mov edx, 1
add eax, r14d
add ecx, eax
mov dword [0x18004f54c], ecx
movsx ecx, word [0x18004f5cc]
mov eax, 0x996
cwde
imul ecx, eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x3aa
mov dword [rsp + 0x70], eax
movsx eax, cx
add eax, 0x89
mov dword [0x18004f62c], eax
mov eax, dword [rsp + 0x60]
add eax, 0x288
mov dword [rbp - 0x54], eax
movsx rax, word [rsp + 0x64]
cmp qword [0x18004f660], rax
ja 0x180021ebe
mov esi, dword [rsp + 0x78]
add esi, 0x5a
mov qword [rbp - 0x18], rsi
jmp 0x180021efb
mov rax, qword [0x18004f608]
test rax, rax
je 0x180021ed4
mov qword [rbp - 0x48], 0xc6
jmp 0x180021ef7
movzx eax, word [0x18004f66c]
test ax, ax
je 0x180021ef7
mov rcx, qword [rbp - 0x48]
movsx rax, byte [0x18004f563]
imul rcx, rax
mov qword [0x18004f660], rcx
mov rsi, qword [rbp - 0x18]
mov eax, dword [rsp + 0x60]
add eax, 0xe2
mov dword [rsp + 0x70], eax
mov rax, qword [rdi]
cmp dword [rax + 0x10c], ebx
jbe 0x1800220de
mov eax, dword [rbp - 0x74]
lea ecx, [r13 - 0x5dad30d]
mov eax, dword [0x1809e7d20]
mov qword [0x18004f648], rcx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x78]
mov eax, dword [0x18004f62c]
mov eax, dword [rbp - 0x74]
mov rax, qword [rbp - 0x48]
mov eax, dword [rsp + 0x7c]
mov al, byte [0x18004f618]
xor al, 0xdf
mov dword [0x18004f54c], edx
mov ecx, dword [0x18004f54c]
mov byte [0x18004f535], al
test ecx, ecx
je 0x180021f89
cmp ecx, 1
jne 0x180021f9e
movsxd rcx, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x6c]
imul rcx, rsi
sub eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x78], eax
jmp 0x180021f9e
movzx ecx, word [0x18004f630]
mov eax, dword [rbp - 0x80]
add ecx, 0x533153c5
and ecx, eax
mov dword [rbp - 0x80], ecx
mov eax, dword [rsp + 0x60]
add eax, 0x197
mov dword [rsp + 0x54], eax
movsx ecx, byte [rsp + 0x50]
movzx eax, r15b
cmp eax, ecx
je 0x180021fcf
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x180021fcf
mov rax, qword [0x18004f608]
and eax, 0xeb42
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x60]
add eax, 0xc7
mov dword [rsp + 0x70], eax
mov rcx, qword [rbp - 0x68]
movzx eax, r9w
sub rcx, rax
mov qword [rbp - 0x68], rcx
mov eax, dword [rsp + 0x60]
add eax, 0x34
mov dword [rbp - 0x78], eax
mov edx, dword [rbp - 0x78]
mov eax, dword [rsp + 0x54]
or edx, eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
xor ecx, eax
mov eax, dword [rbp - 0x78]
sub ecx, edx
cmp ecx, eax
je 0x1800220d9
mov qword [rsp + 0x40], rbx
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x38], rbx
lea rcx, [fcn.18002d990]
mov qword [rsp + 0x30], rbx
mov r9d, 0x2000
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call fcn.1800152bc
cmp byte [rbp - 0x28], bl
jne 0x18002207b
mov rdx, qword [rdi]
lea r8, [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov r9d, 0x400
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x48]
mov rdx, qword [rdx]
mov qword [rsp + 0x20], rax
call fcn.18001559c
mov edx, eax
jmp 0x18002207d
mov edx, ebx
mov eax, dword [rbp - 0x54]
imul ecx, eax, 0x3cf
mov eax, dword [rbp - 0x54]
xor eax, 0x2c3
add ecx, 0x24e
cmp eax, ecx
je 0x1800220d9
cmp dword [0x18004f644], ebx
mov ecx, r13d
movsx eax, byte [0x18004f563]
cmovne ecx, eax
add byte [0x18004f536], sil
mov dword [rsp + 0x78], ecx
test edx, edx
je 0x1800220d9
movzx eax, word [0x18004f630]
movabs rdx, 0x1d9ea63dfeeb8
sub rdx, rax
mov rax, qword [rbp - 0x40]
add rax, rdx
mov qword [rbp - 0x40], rax
mov edx, 1
mov r9d, dword [rbp - 0x50]
add rdi, 8
sub r12, rdx
jne 0x180021e0d
mov ecx, dword [rbp]
mov r13d, dword [rsp + 0x5c]
mov edi, ebx
test ecx, ecx
je 0x1800222b2
movzx r12d, r15b
mov eax, dword [0x1809e7d20]
mov dword [rsp + 0x60], eax
mov eax, dword [0x18004f654]
cmp r12d, eax
je 0x18002218e
movsxd rax, dword [rbp - 0x30]
cmp qword [0x18004f5f8], rax
jae 0x18002213b
mov eax, dword [rsp + 0x7c]
shl eax, 8
mov qword [rbp - 0x68], rax
mov qword [0x18004f658], rbx
jmp 0x18002218e
mov ecx, dword [rsp + 0x6c]
movsx eax, byte [0x18004f58e]
not ecx
and ecx, dword [0x18004f54c]
add eax, ecx
mov rcx, rbx
movsxd rdx, eax
mov al, byte [rsp + 0x50]
test al, al
mov eax, dword [0x18004f5cc]
sete cl
and rax, rcx
add rax, rdx
add rax, qword [0x18004f620]
mov rax, rbx
sete al
mov qword [0x18004f600], rax
mov al, byte [0x18004f537]
sub al, r15b
mov byte [0x18004f537], al
mov eax, dword [rsp + 0x60]
add eax, 0x30d
mov dword [rsp + 0x70], eax
mov eax, dword [0x18004f634]
test eax, eax
je 0x1800221bd
mov rax, qword [0x18004f608]
test r13d, r13d
jne 0x1800221b7
movsx rax, byte [rsp + 0x58]
mov dword [0x18004f634], eax
mov eax, dword [rsp + 0x60]
lea rcx, [rbp + 0x20d0]
movups xmm0, xmmword [str.unauthorized_clien]
add eax, 0x101
movups xmm1, xmmword [0x1800388a8]
mov dword [rsp + 0x70], eax
mov eax, dword [0x1800388b8]
mov dword [rbp + 0x20f0], eax
movzx eax, word [0x1800388bc]
mov word [rbp + 0x20f4], ax
movups xmmword [rbp + 0x20d0], xmm0
movups xmmword [rbp + 0x20e0], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x60]
add eax, 0x2a1
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x70]
cmp eax, 0x81
je 0x1800222a7
movsx rax, word [rsp + 0x64]
mov esi, ebx
mov r8, qword [0x18004f608]
mov edx, dword [0x18004f620]
sub edx, eax
mov r14d, edi
movsx eax, word [0x18004f66c]
add r8d, edx
mov r13d, dword [0x18004f62c]
add r13d, eax
movsxd rax, dword [0x180a6436c]
mov qword [0x18004f600], rax
mov rax, qword [rbp + 8]
imul r13d, r8d
mov rcx, qword [rax + r14*8]
cmp dword [rcx + 0x10c], ebx
jbe 0x1800222a7
mov r12, rax
mov ebx, 1
mov eax, esi
lea rcx, [rcx + rax*8]
add rcx, 0x110
call fcn.180016e50
mov rcx, qword [r12 + r14*8]
add esi, ebx
cmp esi, dword [rcx + 0x10c]
jb 0x180022281
xor ebx, ebx
movzx r12d, r15b
inc edi
cmp edi, dword [rbp]
jb 0x180022105
xor eax, eax
mov rcx, qword [rbp + 0x2220]
xor rcx, rsp
call fcn.18002c480
lea r11, [rsp + 0x2330]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret