Function at 0x180028378
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
mov rax, qword [0x18004ed78]
xor rax, rsp
mov qword [rbp + 0xb0], rax
movsx rax, byte [0x18004ec33]
mov r15d, 0x4d
mov qword [rbp - 0x50], rax
xor r8d, r8d
mov al, byte [0x18004ece0]
mov ebx, 0xff15
mov byte [rsp + 0x60], al
mov eax, dword [0x18004ed04]
lea r12d, [r15 - 1]
mov dword [rbp - 0x78], eax
lea esi, [r15 + 0x7f]
mov eax, 0xb6f37fd9
lea edx, [r15 - 0x4c]
mov qword [rbp - 0x58], rax
lea r9d, [r15 - 0x45]
movsx r13d, word [0x18004ec6c]
mov rax, qword [0x18004ecd0]
mov word [rsp + 0x64], ax
mov rax, qword [0x18004ed68]
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x70], 0xa6
movzx eax, word [0x18004ed5c]
mov byte [rsp + 0x51], al
mov eax, dword [0x18004ec54]
mov byte [rsp + 0x50], al
mov word [rsp + 0x5c], ax
mov r14, qword [0x18004ed28]
movzx eax, word [0x18004ecf0]
mov dil, byte [0x18004ed10]
mov word [rsp + 0x54], ax
movzx eax, byte [0x18004ec86]
mov byte [rsp + 0x58], 0x96
mov dword [rsp + 0x74], eax
movzx eax, byte [str.eThe_redirection_re]
mov word [rsp + 0x70], ax
mov qword [rbp - 0x50], 0x9085
mov dword [rbp - 0x48], 0xbebf041f
mov qword [rbp - 0x80], 0x8992
movzx eax, word [0x18004ed38]
mov byte [rsp + 0x50], al
movsx eax, byte [str.hapi_ms_win_core_he]
mov dword [rbp - 0x80], eax
movabs rax, 0xce79ba86ff4aa
mov qword [rbp - 0x80], rax
movzx eax, word [0x18004ec6c]
mov eax, 0x621
mov word [rsp + 0x64], ax
movsx eax, byte [0x18004ec1e]
mov byte [rsp + 0x50], 0xfe
mov dword [rbp - 0x80], eax
mov eax, dword [0x18004ece0]
mov dword [rbp - 0x80], 0xda
mov qword [rbp - 0x80], 0x3d
mov qword [rbp - 0x80], rax
movzx eax, byte [0x18004ec6f]
mov byte [rsp + 0x50], 0x43
mov word [rsp + 0x64], ax
mov eax, dword [0x18004ed04]
movzx eax, word [0x18004ed30]
mov al, byte [0x18004ec52]
mov eax, dword [0x180f24e98]
mov dword [rsp + 0x64], eax
movzx ecx, byte [0x18004ebde]
mov eax, dword [rsp + 0x74]
cmp eax, ecx
jge 0x18002853c
lea ecx, [rsi + 0x5f]
mov al, byte [0x18004ebde]
add al, dl
mov word [0x18004ecf4], r9w
mov byte [0x18004ebde], al
sub rcx, rdx
jne 0x18002851f
jmp 0x18002856d
mov eax, dword [0x18004ec34]
test eax, eax
je 0x18002856d
mov al, byte [0x18004ece0]
add al, 0x41
mov byte [rsp + 0x51], al
movsx ecx, byte [0x18004ebf3]
sub ecx, dword [0x18004ed50]
mov al, byte [0x18004ebf3]
sub cl, al
mov byte [0x18004ebf3], cl
mov eax, dword [rsp + 0x64]
mov edx, r8d
sub qword [0x18004ecc8], 0x67
add eax, 0x3e6
cmp byte [0x18004ec6b], r8b
mov dword [rsp + 0x78], eax
movzx ecx, byte [0x18004ebde]
sete dl
imul ecx, edx
movsx edx, byte [str.hapi_ms_win_core_he]
imul edx, ecx
movsx ecx, word [rsp + 0x54]
imul ecx, edx
sub ecx, dword [0x18004ec54]
mov dword [rbp - 0x78], ecx
mov eax, dword [rsp + 0x64]
mov edx, dword [0x18004ed58]
add eax, 0x21b
mov dword [rbp - 0x74], eax
mov rcx, qword [rbp - 0x68]
call fcn.180029af8
xor r8d, r8d
mov byte [0x18004ec6f], al
test al, al
je 0x1800285ea
mov rax, qword [rbp - 0x70]
neg al
shl al, 7
and dil, al
jmp 0x180028628
cmp qword [0x18004ed68], r8
je 0x180028628
movsx ecx, word [rsp + 0x5c]
mov rax, qword [rbp - 0x58]
movsx edx, word [0x18004ed48]
add eax, ecx
movsx ecx, byte [0x18004ec83]
not edx
add ecx, edx
mov dword [0x18004ed4c], eax
mov edx, r8d
movsx eax, r13b
sete dl
add edx, eax
mov dword [0x18004ece0], edx
mov eax, dword [rsp + 0x64]
add eax, 0x38d
mov dword [rsp + 0x68], eax
mov eax, dword [0x180f24e98]
mov word [rsp + 0x5c], ax
mov dword [rsp + 0x64], eax
mov rax, qword [0x18004ecd8]
test rax, rax
je 0x180028660
cmp dword [0x18004ed50], r8d
je 0x180028660
mov edx, 0xfffffffe
jmp 0x180028663
or edx, 0xffffffff
movsx eax, word [0x18004ed30]
cmp edx, eax
jg 0x18002867a
mov eax, dword [0x18004ecf8]
mov qword [rbp - 0x68], rax
jmp 0x1800286c1
cmp dword [0x18004ed58], r8d
jne 0x180028686
mov eax, dword [rbp - 0x48]
movsx ecx, byte [0x18004ec83]
mov edx, 1
mov eax, dword [rsp + 0x74]
sub eax, ecx
not eax
cmp eax, edx
je 0x1800286c1
mov rax, qword [rbp - 0x68]
movabs rcx, 0x8fe3807f40ee6
sar rax, 5
mov dword [rbp - 0x78], eax
mov rax, qword [0x18004ece8]
sub rax, rcx
mov qword [rbp - 0x58], rax
mov eax, dword [rsp + 0x64]
mov edx, r15d
add eax, 0x75
mov dword [rbp - 0x80], eax
movsx eax, word [rsp + 0x5c]
sub edx, eax
movzx eax, word [rsp + 0x5c]
add al, dl
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x51]
mov rcx, qword [0x18004ecd0]
add cl, al
mov byte [rsp + 0x51], cl
mov eax, dword [rsp + 0x64]
add eax, 0x27e
mov dword [rbp - 0x60], eax
movzx eax, byte [rsp + 0x51]
sub eax, 0xe4
mov dword [0x18004ed50], eax
mov al, byte [rsp + 0x60]
movzx ecx, byte [0x18004ec6e]
test al, al
jne 0x180028720
mov ecx, dword [rbp - 0x48]
mov eax, ecx
xor r9d, r9d
mov qword [0x18004ed20], rax
mov edx, ebx
mov eax, dword [rsp + 0x64]
xor ecx, ecx
add eax, 0x375
mov byte [str.eThe_redirection_re], 0x24
mov dword [rbp - 0x5c], eax
lea r8d, [r9 + 0x43]
mov r11d, dword [rsp + 0x74]
mov eax, 0xcf
movsx r10d, byte [rsp + 0x58]
mov word [rsp + 0x30], r11w
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r10w
call fcn.180029e1c
xor r10d, r10d
mov word [0x18004ecf4], ax
test ax, ax
je 0x180028844
mov byte [str.hapi_ms_win_core_he], 3
mov rax, qword [rbp - 0x50]
add rax, 0x672e3c47
mov qword [rbp - 0x68], rax
movsx eax, byte [str.hapi_ms_win_core_he]
mov ecx, eax
test al, al
je 0x180028838
sub ecx, 1
je 0x180028825
sub ecx, 1
je 0x1800287fc
cmp ecx, 1
jne 0x1800288bb
movsx rcx, byte [str.hapi_ms_win_core_he]
movabs rax, 0x1fed97c58be33
imul rcx, rax
movsx rax, byte [0x18004ec6b]
mov qword [rbp - 0x58], rcx
mov rcx, qword [0x18004ecd0]
imul rcx, rax
mov rax, qword [0x18004ecd0]
and rax, rcx
mov qword [0x18004ecd0], rax
jmp 0x1800288bb
movsx eax, byte [rsp + 0x58]
mov rcx, qword [0x18004ed20]
mov word [0x1811625cc], ax
movsxd rax, dword [0x18004ed4c]
sub rcx, rax
mov qword [0x18004ed20], rcx
jmp 0x1800288bb
movzx eax, word [0x18004ed48]
mov word [0x18101d9c6], ax
jmp 0x1800288bb
mov rax, qword [rbp - 0x68]
add al, 0x78
mov byte [rsp + 0x51], al
jmp 0x1800288bb
movsx ecx, word [rsp + 0x54]
not ecx
imul eax, ecx, 0xd2f6
test eax, eax
je 0x1800288af
mov rax, qword [rbp - 0x68]
mov ecx, r10d
test rax, rax
movzx eax, word [0x18004ed00]
sete cl
xor eax, ecx
mov ecx, dword [rsp + 0x74]
mov r8d, dword [rbp - 0x78]
xor ecx, eax
mov rax, qword [0x18004ed08]
xor r8d, ecx
neg rax
movsx eax, word [rsp + 0x54]
sbb edx, edx
add edx, 0xffffffb3
add edx, eax
mov rax, qword [0x18004ecd8]
imul edx, r8d
cmp dword [0x18004ed50], r10d
movsxd rbx, edx
jne 0x1800288a9
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x50], rax
jmp 0x1800288bb
mov eax, 0x590c
mov word [0x18004ec84], ax
mov eax, dword [0x180f24e98]
mov edx, r10d
mov dword [rsp + 0x64], eax
mov ecx, r10d
mov rax, qword [rbp - 0x58]
cmp rax, rsi
mov rax, qword [rbp - 0x58]
setl dl
cmp rax, 7
setl cl
cmp edx, ecx
jbe 0x180028927
mov eax, dword [0x18004ec34]
mov edx, 0x43
mov cl, byte [0x18004ed3c]
sub eax, edx
mov dword [0x18004ec34], eax
mov r14b, 1
mov al, cl
add al, al
add cl, al
mov eax, edx
shl cl, 4
cmp qword [0x18004ed40], r10
mov byte [0x18004ec1e], cl
cmovne ax, word [0x18004ed08]
mov word [0x18004ecf0], ax
mov eax, dword [rsp + 0x64]
mov r8d, 0x1ea
add eax, 0x20b
movsx r9d, r13b
mov dword [rbp - 0x30], eax
mov eax, dword [rsp + 0x64]
add eax, 0x21f
mov dword [rbp - 0x34], eax
movsx ecx, word [rsp + 0x54]
add ecx, dword [0x18004ed40]
mov dword [rsp + 0x74], ecx
mov rax, qword [rbp - 0x50]
shl rax, 6
mov qword [rbp - 0x58], rax
mov eax, dword [rsp + 0x64]
add eax, 0x59
mov dword [rbp - 0x44], eax
movzx eax, word [0x18004ed50]
sub ax, 0x2e
mov word [rsp + 0x64], ax
movsx eax, byte [rsp + 0x50]
sub word [0x18004ed34], ax
movzx eax, word [0x18004ecf0]
mov ecx, r10d
add eax, 0x59e767ba
mov qword [rbp - 0x70], rax
mov eax, dword [0x18004ece4]
test eax, eax
mov edx, dword [0x18004ece0]
movzx eax, byte [str.eThe_redirection_re]
sete cl
sub edx, ecx
add eax, r9d
xor eax, edx
mov rcx, r10
imul eax, eax, 0x894cb54e
test eax, eax
sete cl
mov qword [0x18004ece8], rcx
sub r8, 1
jne 0x18002898a
mov eax, dword [0x180f24e98]
xor ecx, ecx
movsx r8, byte [0x18004ec1e]
mov edx, 0xf5
mov dword [rsp + 0x6c], eax
lea r9d, [rcx + 0x56]
call fcn.180029cc8
mov byte [rsp + 0x50], al
xor r8d, r8d
mov al, byte [rsp + 0x50]
mov r9d, 2
test al, al
je 0x180028a41
movzx ecx, word [rsp + 0x70]
mov edx, r8d
mov rax, qword [rbp - 0x70]
mov sil, r9b
add rax, rcx
mov eax, dword [0x18004ecf8]
sete dl
neg eax
sbb rcx, rcx
not rcx
and ecx, 0x6eba92a9
xor rcx, rdx
mov qword [0x18004ed18], rcx
mov eax, dword [rsp + 0x6c]
add eax, 0xb996
movsx rcx, dil
mov dword [rsp + 0x70], eax
mov rax, qword [rbp - 0x70]
cmp rax, rcx
je 0x180028a87
movzx eax, word [rsp + 0x64]
mov rcx, r8
test ax, ax
cmove rcx, qword [0x18004ed68]
not rcx
mov qword [0x18004ed68], rcx
movsx ecx, byte [rsp + 0x50]
sub cl, byte [0x1811631ec]
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x6c]
mov ecx, 0x44f6
add eax, 0xd969
mov qword [0x18004ed18], 1
mov dword [rsp + 0x7c], eax
mov eax, dword [0x18004ed04]
add ax, cx
mov word [0x18004ec6c], ax
mov rax, qword [0x18004ed18]
test rax, rax
je 0x180028adb
cmp rax, 1
jne 0x180028ae9
mov r15b, byte [rsp + 0x58]
sub r15b, byte [0x18004ed34]
mov sil, byte [0x180f24e98]
jmp 0x180028ae9
movzx eax, word [0x180f24e98]
mov word [0x18004ed34], ax
mov eax, dword [rsp + 0x6c]
add eax, 0xeb4b
mov dword [rsp + 0x6c], eax
mov eax, dword [0x180f24e98]
mov byte [rsp + 0x58], r9b
mov qword [rbp - 0x50], rax
mov al, byte [rsp + 0x50]
movsx ecx, byte [rsp + 0x58]
add al, r15b
and r15b, al
sub ecx, 1
je 0x180028b3b
cmp ecx, 1
jne 0x180028b61
movzx eax, byte [rsp + 0x51]
mov cl, byte [0x18004ecf4]
and cl, al
mov byte [rsp + 0x51], cl
mov rax, qword [rbp - 0x50]
and dword [0x18004ec54], eax
jmp 0x180028b61
cmp word [0x18004ec84], r8w
movabs rax, 0x8d16867d4d2a7
mov qword [rbp - 0x70], rax
jne 0x180028b5a
movzx esi, word [0x18004ed30]
mov byte [0x18004ec1e], sil
mov r8d, dword [0x18004ebf4]
xor esi, esi
mov edx, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x7c]
or edx, eax
mov ecx, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x70]
xor ecx, eax
add ecx, edx
movsx eax, dil
xor ecx, 0x14e48
mov dword [rbp - 0x38], ecx
mov ecx, dword [0x180f24e98]
mov qword [0x18004ed60], rcx
mov dword [rsp + 0x6c], ecx
movsx ecx, byte [0x18004ec6b]
add cx, ax
movzx eax, r8b
sub ax, word [0x18004ed3c]
not ax
and cx, ax
mov word [0x18004ed38], cx
mov eax, dword [rsp + 0x6c]
mov rcx, qword [0x18004ed68]
add eax, 0x3ac1
mov dword [rsp + 0x7c], eax
test rcx, rcx
je 0x180028c33
mov al, byte [0x18004ed50]
sub cl, 0x4b
add al, cl
mov word [rsp + 0x70], r9w
mov byte [0x18004ec6e], al
movzx ecx, word [rsp + 0x70]
test ecx, ecx
je 0x180028c24
sub ecx, 1
je 0x180028c14
cmp ecx, 1
jne 0x180028c8b
mov al, byte [0x18004ed68]
and al, 0x76
or dil, al
jmp 0x180028c8b
mov al, byte [0x18004ed3c]
add al, 0x35
add byte [0x18004ec33], al
jmp 0x180028c8b
movsx eax, dil
sub ax, 0xf
mov word [rsp + 0x54], ax
jmp 0x180028c8b
mov al, byte [rsp + 0x50]
test al, al
je 0x180028c4d
movsx ecx, byte [0x18004ec83]
shl ecx, 7
mov dword [0x18004ecf8], ecx
jmp 0x180028c8b
mov al, byte [0x18004ec52]
test al, al
je 0x180028c8b
movsx rax, word [0x18004ed48]
mov ecx, esi
mov rdx, qword [0x18004ed60]
imul rdx, rax
mov eax, dword [0x18004ed50]
add eax, 0x1d
test rdx, rdx
cmove ecx, eax
mov eax, ecx
sub rax, qword [0x18004ecc8]
mov qword [0x18004ed68], rax
mov eax, dword [rsp + 0x6c]
lea rcx, [rbp + 0x60]
add eax, 0x74
mov dword [rbp - 0x80], eax
movsx eax, byte [0x18004ebf3]
mov word [0x18101d8f8], ax
mov eax, dword [rsp + 0x6c]
movups xmm0, xmmword [str.device_or_resource]
add eax, 0x14
movups xmm1, xmmword [0x180036930]
mov dword [rsp + 0x6c], eax
mov eax, dword [0x180036940]
mov dword [rbp + 0x80], eax
movzx eax, word [0x180036944]
mov word [rbp + 0x84], ax
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rsp + 0x68]
mov r10d, 0x43
mov word [0x18004ed00], ax
mov eax, dword [rsp + 0x68]
sub ecx, eax
mov eax, dword [rbp - 0x74]
sub ecx, eax
mov eax, dword [rsp + 0x78]
lea r8d, [r10 - 0x42]
mov edx, dword [rsp + 0x68]
add ecx, eax
mov eax, dword [rbp - 0x74]
xor edx, eax
imul edx, ecx
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x74]
xor ecx, eax
mov eax, dword [rsp + 0x6c]
or eax, 0xa307
imul ecx, edx
mov edx, 0xa323
sub edx, ecx
mov ecx, dword [rsp + 0x7c]
xor ecx, eax
mov eax, dword [rsp + 0x7c]
xor eax, ecx
sub edx, eax
movzx eax, word [0x18004ec84]
sub dword [0x18004ec54], eax
mov dword [rsp + 0x6c], edx
mov cl, byte [0x18004ec52]
mov al, byte [0x18004ec52]
sub cl, al
mov eax, dword [0x180f24e98]
sub cl, r10b
mov byte [0x18004ec52], cl
mov dword [rsp + 0x68], eax
movzx ecx, word [0x18004ed48]
movzx eax, r14b
cmp ax, cx
jge 0x180028db1
mov al, byte [rsp + 0x50]
cmp al, byte [0x18004ec33]
jne 0x180028d96
mov r15b, 0xb4
jmp 0x180028dca
mov word [0x18004ed38], si
movzx eax, word [0x18004ed54]
sub ax, r8w
mov word [0x18004ed54], ax
jmp 0x180028dca
movzx eax, word [0x18004ed30]
cmp r12w, ax
jle 0x180028dca
mov eax, dword [0x180f24e98]
mov dword [0x18004ece4], eax
mov eax, dword [rsp + 0x68]
add eax, 0x86e1
mov dword [rsp + 0x78], eax
movzx eax, word [0x18004ed30]
mov eax, dword [rsp + 0x68]
add eax, 0x7e5a
mov dword [rbp - 0x80], eax
mov eax, dword [0x18004ebf4]
mov eax, dword [rsp + 0x68]
add eax, 0xb2
mov byte [0x18004ec33], sil
mov dword [rsp + 0x7c], eax
mov rax, qword [0x18004ed28]
cmp rbx, rax
jge 0x180028e26
add r13b, byte [0x18004ed50]
add r14b, r14b
movzx eax, word [0x18004ed30]
add r14b, al
jmp 0x180028e30
mov eax, 0x584
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x78]
mov r9d, 4
mov ecx, dword [rsp + 0x7c]
add eax, 0xffff786e
add ecx, eax
movsx edx, dil
movzx eax, word [0x18004ed50]
test r14b, r14b
mov dword [rsp + 0x7c], ecx
cmovne ax, dx
mov word [0x18004ed38], r9w
mov word [rsp + 0x70], ax
movzx ecx, word [0x18004ed38]
sub ecx, 1
je 0x180028ed2
sub ecx, 1
je 0x180028ec4
sub ecx, 1
je 0x180028ea6
cmp ecx, 1
jne 0x180028ef6
mov rax, qword [rbp - 0x70]
mov word [rsp + 0x5c], ax
mov cl, byte [0x18004ebde]
mov dl, byte [0x18004ec6f]
mov al, dl
sub al, cl
xor dl, al
mov byte [0x18004ec6f], dl
jmp 0x180028ef6
cmp byte [str.eThe_redirection_re], sil
mov eax, 0x11
mov r14b, al
cmovne edx, eax
movsxd rax, edx
mov qword [0x18004ed40], rax
jmp 0x180028ef6
mov al, byte [0x18004ece0]
xor al, 0x5b
mov byte [rsp + 0x50], al
jmp 0x180028ef6
movzx eax, word [rsp + 0x54]
mov ecx, 0xbb
add ax, cx
mov word [rsp + 0x64], ax
mov eax, 0x6615
movsx ecx, byte [rsp + 0x60]
sub eax, ecx
add dword [0x18004ec54], eax
mov eax, dword [0x180f24e98]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
add eax, 0x51
mov dword [rbp - 0x80], eax
mov eax, dword [0x18004ed3c]
not eax
cmp dword [0x18004ed50], eax
jae 0x180028f22
mov qword [rbp - 0x70], 0xf5cb
mov eax, dword [rsp + 0x68]
add eax, 0x77f8
mov dword [rsp + 0x78], eax
movzx eax, word [0x18004ed38]
cmp r10w, ax
jne 0x180028f5b
mov rax, qword [0x18004ed18]
add rax, 0xb312
mov qword [rbp - 0x58], rax
mov al, byte [0x181161ba0]
mov byte [0x18004ec1e], al
jmp 0x180028f63
mov al, byte [rsp + 0x58]
mov eax, dword [rsp + 0x74]
mov eax, dword [rsp + 0x68]
add eax, 0x5210
mov dword [rbp - 0x80], eax
movzx eax, byte [0x18004ec86]
mov dword [0x18004ed04], r9d
mov rcx, qword [rbp - 0x50]
imul rcx, rax
movabs rax, 0xcb157edf05775
imul rcx, qword [0x18004ed10]
imul rcx, rax
test rcx, rcx
mov ecx, dword [0x18004ed04]
sete byte [0x18004ec86]
test ecx, ecx
je 0x180029082
sub ecx, 1
je 0x180029061
sub ecx, 1
je 0x180028ffb
sub ecx, 1
je 0x180028fda
cmp ecx, 1
jne 0x1800290ba
mov word [rsp + 0x64], r8w
jmp 0x1800290ba
movzx ebx, byte [0x18004ec6e]
movabs rax, 0x5c99ce794401d
movzx r12d, word [0x180f24e98]
sub rbx, rax
jmp 0x1800290ba
movzx eax, word [0x18004ed30]
movsx ecx, word [rsp + 0x5c]
test ax, ax
jne 0x180029011
movsx ecx, byte [rsp + 0x60]
cmp dword [0x18004ed4c], esi
mov rdx, rsi
movsxd rax, ecx
movzx ecx, word [0x18004ecf4]
sete dl
add ecx, 0x701b
mov qword [rbp - 0x70], rax
movsx rax, byte [0x18004ec53]
and rdx, rbx
add rdx, rcx
mov rcx, qword [0x18004ed20]
imul rcx, rax
movsx eax, dl
sub cl, byte [0x18004ec86]
movsx ecx, cl
imul ecx, eax
mov byte [0x18004ec52], cl
jmp 0x1800290ba
movzx eax, word [rsp + 0x54]
movzx ecx, byte [0x18004ebde]
mov byte [0x180feeb43], al
mov eax, 0xd1
sub cx, ax
mov word [rsp + 0x70], cx
jmp 0x1800290ba
movsx eax, word [0x18004ed30]
mov ecx, 0xd2
mov edx, dword [rsp + 0x74]
imul edx, eax
movzx eax, word [0x18004ed30]
or ax, dx
mov word [0x18004ed30], ax
movzx eax, word [rsp + 0x64]
sub ax, word [0x18004ecfc]
add ax, cx
mov word [rsp + 0x64], ax
mov eax, dword [rsp + 0x78]
mov ecx, 0x49edfc1c
xor eax, 0xde
imul eax, eax, 0x9ed8
sub ecx, eax
mov eax, dword [0x180f24e98]
mov dword [rbp - 0x74], ecx
mov dword [rsp + 0x68], eax
mov al, byte [0x18004ebde]
test al, al
je 0x1800290f6
mov rax, qword [0x18004ece8]
mov ecx, r8d
test rax, rax
jne 0x1800290f8
mov ecx, esi
test rbx, rbx
jne 0x180029108
cmp qword [0x18004ed08], rsi
mov eax, esi
je 0x18002910b
mov eax, r8d
cmp ecx, eax
ja 0x180029140
movzx eax, byte [0x18004ec86]
sub rax, 0x10f1bf67
mov word [0x18004ed38], si
mov qword [0x18004ed18], rax
movzx eax, word [0x18004ed38]
test ax, ax
jne 0x180029140
mov dword [0x18004ec34], 0x81
mov eax, dword [rsp + 0x68]
mov edx, esi
add eax, 0xea
mov ecx, esi
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x68]
add eax, 0x105
mov dword [rbp - 0x80], eax
mov rax, qword [rbp - 0x68]
cmp rax, qword [0x18004ed08]
mov rax, qword [rbp - 0x68]
setl dl
cmp rax, 0x24
setl cl
cmp edx, ecx
jb 0x18002919d
movsxd rcx, dword [rbp - 0x78]
mov rax, qword [rbp - 0x68]
cmp rax, rcx
jg 0x18002919d
movzx eax, word [0x18004ed4c]
mov ecx, 0x6786
sub ax, cx
mov word [0x18004ed38], ax
mov eax, dword [rsp + 0x68]
add eax, 0x57ac
mov dword [rbp - 0x80], eax
movzx ecx, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
cmp cx, ax
jne 0x180029219
movsx eax, byte [rsp + 0x60]
mov edx, esi
cmp dword [0x18004ed50], eax
mov ecx, esi
mov eax, dword [rsp + 0x74]
setae dl
cmp eax, r10d
mov eax, esi
setge cl
or ecx, edx
cmp dword [0x18004ed50], esi
sete al
cmp eax, ecx
jne 0x18002920e
movsx edx, byte [0x18004ebf3]
movzx eax, r12w
movsx ecx, r12b
imul edx, ecx
mov ecx, 0x44cb
xor ax, cx
mov word [0x18004ec84], ax
mov byte [0x18004ebf3], dl
jmp 0x180029219
mov r13d, dword [0x18004ec34]
add r13b, 0x36
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbp - 0x60]
xor ecx, eax
mov edx, dword [rbp - 0x5c]
mov eax, dword [rsp + 0x78]
xor edx, 0x209
or eax, 0xdff2
imul edx, ecx
xor eax, 0xdffb
lea rcx, [rbp + 0x88]
add eax, edx
mov dword [rbp - 0x80], eax
mov eax, dword [0x180f24e98]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
movups xmm0, xmmword [str.ProcessOAuthReques]
add eax, 0x29
movups xmm1, xmmword [0x180036958]
mov dword [rsp + 0x78], eax
mov eax, dword [0x180036968]
mov dword [rbp + 0xa8], eax
movzx eax, word [0x18003696c]
mov word [rbp + 0xac], ax
movups xmmword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x98], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x18004ecf8], eax
mov ecx, 0x3c
mov eax, dword [rsp + 0x68]
add eax, 0x34
mov dword [rbp - 0x5c], eax
movzx edx, byte [rsp + 0x51]
lea r8d, [rcx + 7]
call fcn.180029af8
mov word [0x18004ed34], ax
mov edx, esi
movzx eax, word [rsp + 0x70]
mov r8d, esi
cmp rax, qword [0x18004ed10]
movsx eax, word [rsp + 0x64]
movsx ecx, byte [0x18004ec1e]
setbe dl
cmp eax, edx
movzx eax, word [rsp + 0x54]
mov edx, esi
setl r8b
cmp ax, cx
movzx eax, word [0x18004ecf0]
mov ecx, esi
setle dl
cmp eax, edx
setne cl
cmp r8d, ecx
jb 0x180029366
movsx rcx, word [0x18004ed5c]
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jle 0x180029339
mov al, bl
add al, al
lea ecx, [rax + rbx]
movzx eax, word [0x180f24e98]
shl cl, 3
mov byte [0x18004ec83], cl
mov word [0x18004ed54], ax
jmp 0x180029366
movsx ecx, word [0x18004ec6c]
mov eax, dword [0x18004ecf8]
cmp eax, ecx
jne 0x180029366
movzx eax, word [rsp + 0x64]
movzx ecx, word [rsp + 0x54]
add al, dil
or dil, al
movsx eax, r13b
sub cx, ax
mov word [rsp + 0x54], cx
mov eax, dword [rsp + 0x68]
mov r8d, 1
add eax, 0x8e
mov dword [rbp - 0x60], eax
movzx ecx, word [rsp + 0x54]
movzx eax, word [rsp + 0x64]
cmp ax, cx
jle 0x1800293be
mov edx, 0x31d
movsx ecx, byte [rsp + 0x50]
mov eax, dword [0x180f24e98]
sub ecx, 0xbcfd
mov dword [0x18004ed4c], eax
movzx eax, word [rsp + 0x54]
add ax, r8w
mov dword [0x18004ed50], ecx
mov word [rsp + 0x54], ax
sub rdx, r8
jne 0x18002938c
jmp 0x1800293cf
mov eax, dword [rbp - 0x78]
movzx r12d, word [0x181162732]
mov dword [0x18004ed50], eax
mov al, byte [0x18004ec6e]
mov esi, 0x43
add al, r8b
mov byte [0x18004ec6e], al
mov eax, dword [rbp - 0x60]
mov edx, dword [rbp - 0x5c]
sub edx, eax
mov eax, dword [rbp - 0x60]
mov ecx, dword [rsp + 0x78]
sub ecx, eax
imul ecx, edx
mov edx, 0x2387
xor ecx, 0x2383
mov dword [rbp - 0x5c], ecx
mov qword [0x18004ed20], 2
mov ecx, 0x318
mov word [rsp + 0x70], si
movzx eax, word [rsp + 0x5c]
add ax, r8w
mov word [rsp + 0x5c], ax
sub rcx, r8
jne 0x180029415
sub rdx, r8
jne 0x180029410
xor esi, esi
cmp byte [0x18004ec6b], r15b
mov edx, esi
mov eax, esi
setge dl
cmp byte [0x18004ec6b], 0x4a
setge al
cmp edx, eax
jne 0x180029473
mov word [0x18004ec84], si
movabs rax, 0xa6b87dc7e21e0
imul rbx, rax
mov word [0x18004ec84], r8w
mov qword [rbp - 0x58], rbx
jmp 0x1800294a4
cmp byte [0x18004ec86], sil
jne 0x180029495
movzx eax, byte [rsp + 0x51]
mov rcx, qword [rbp - 0x70]
sub rcx, rax
mov rax, qword [rbp - 0x70]
and rax, rcx
mov qword [rbp - 0x70], rax
jmp 0x1800294a4
movzx eax, word [rsp + 0x70]
mov rax, qword [rbp - 0x68]
mov al, byte [0x18004ec52]
mov al, byte [rsp + 0x50]
lea r9, [rbp - 0x40]
movzx eax, word [rsp + 0x5c]
mov r8d, 0xdf
mov al, byte [rsp + 0x50]
mov eax, dword [rbp - 0x38]
mov qword [rbp - 0x40], rax
mov rax, qword [0x18004ed20]
movsx ecx, al
movzx eax, byte [0x18004ec86]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
movsx ebx, r13b
lea r13, [0x18000f6fc]
imul ebx, ecx
mov ecx, dword [0x18004ed04]
mov rdx, qword [0x180f24e90]
xor cl, al
sub cl, 0x1f
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x28], rsi
mov byte [0x18004ec6e], cl
mov rcx, r13
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.18000b68c
movzx edx, word [rsp + 0x70]
mov rsi, rax
movzx ecx, r14b
xor r14d, r14d
cmp dx, cx
je 0x180029583
mov rdx, qword [0x18004ed28]
mov r8d, r14d
mov rcx, qword [rbp - 0x50]
cmp rdx, rcx
mov rcx, qword [0x18004ed28]
mov edx, r14d
setg r8b
cmp rcx, 8
setg dl
cmp r8d, edx
jb 0x1800295b2
movzx ebx, word [0x18004ed30]
movsx rcx, word [0x18004ed54]
xor bl, 0xfe
xor rcx, 0xe24c1c
mov qword [0x18004ed28], rcx
jmp 0x1800295b2
test r12w, r12w
je 0x1800295b2
movsx ecx, byte [rsp + 0x60]
mov eax, 0xa871
sub eax, ecx
mov cl, byte [str.hapi_ms_win_core_he]
add dword [0x18004ec54], eax
sub cl, dil
mov al, byte [str.hapi_ms_win_core_he]
sub cl, al
mov byte [str.hapi_ms_win_core_he], cl
mov eax, dword [rsp + 0x6c]
lea r9, [rbp - 0x20]
mov qword [rsp + 0x40], r14
mov ecx, 0xd7ad
movzx eax, r12w
mov r8d, 0xde
sub rcx, rax
mov qword [rsp + 0x38], r14
mov eax, dword [rbp - 0x44]
mov eax, dword [rbp - 0x44]
mov eax, dword [rbp - 0x34]
mov eax, dword [rbp - 0x30]
mov eax, dword [rsp + 0x7c]
add qword [0x18004ed40], rcx
mov rcx, r13
mov rdx, qword [0x180f24e90]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.18000b68c
cmp word [0x18004ed34], r14w
mov r8, rax
jne 0x180029636
movsx ecx, bl
not ecx
movsxd rcx, ecx
mov qword [0x18004ed60], rcx
mov ecx, dword [0x18004ecf8]
add cl, 0x22
mov byte [0x18004ec1e], cl
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x40]
mov r9, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x40]
mov qword [rsp + 0x28], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180010e24
call fcn.1800216f0
mov rdx, qword [0x180f24e90]
lea r9, [rbp - 0x28]
mov qword [rsp + 0x40], r14
mov r8d, 0xe4
mov qword [rsp + 0x38], r14
mov rcx, r13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.18000b68c
movsx ecx, word [0x18004ed30]
mov r8d, r14d
cmp ecx, dword [0x18004ed50]
mov edx, r14d
movzx ecx, word [0x18004ed30]
mov rsi, rax
sete r8b
mov eax, 0x3c
cmp cx, ax
sete dl
cmp r8d, edx
ja 0x1800296f9
mov eax, dword [rsp + 0x74]
mov dil, r14b
add al, 0xd
mov byte [rsp + 0x50], al
movsx ecx, byte [0x18004ebf3]
add cl, byte [0x18004ec1e]
mov byte [0x18004ebf3], cl
mov ecx, 0xea
movsx eax, r15b
add ax, cx
mov byte [rsp + 0x60], bl
mov word [0x18004ec6c], ax
jmp 0x18002972a
movsx ecx, word [0x18004ed54]
mov eax, dword [rbp - 0x48]
not eax
cmp ecx, eax
jbe 0x18002972a
movsx eax, word [0x18004ed5c]
movsx edx, byte [0x18004ec33]
sub edx, eax
movzx eax, word [0x18004ed5c]
add ax, dx
mov word [0x18004ed5c], ax
mov eax, dword [rbp - 0x74]
mov ecx, dword [0x18004ebf4]
movzx eax, byte [0x18004ec86]
movdqa xmm0, xmmword [0x1800369c0]
movdqa xmm1, xmmword [0x1800369d0]
imul ecx, eax
mov eax, dword [0x18004ebf4]
and eax, ecx
mov dword [0x18004ebf4], eax
mov eax, 0x2116
movsx ecx, byte [0x18004ec83]
add cx, ax
movzx eax, word [0x18004ed5c]
or cx, ax
mov word [0x18004ed5c], cx
mov eax, dword [rbp - 0x80]
mov rax, r14
mov byte [rbp + 8], r14b
movdqu xmmword [rbp - 0x18], xmm0
movdqu xmmword [rbp - 8], xmm1
movdqu xmm0, xmmword [rbp + rax - 0x18]
pxor xmm0, xmmword [0x1800369e0]
movdqu xmmword [rbp + rax - 0x18], xmm0
add rax, 0x10
cmp rax, 0x20
jb 0x18002978f
movdqa xmm0, xmmword [str._50_61531._a52__b_____.6bac2_620a4c_1_03_21_4___6_6__00_4b]
mov rax, r14
movdqa xmm1, xmmword [0x1800369b0]
movdqu xmmword [rbp + 0x10], xmm0
movdqa xmm0, xmmword [0x1800369a0]
movdqu xmmword [rbp + 0x20], xmm1
movdqa xmm1, xmmword [0x180036990]
movdqu xmmword [rbp + 0x30], xmm0
movdqu xmmword [rbp + 0x40], xmm1
mov byte [rbp + 0x50], r14b
movdqu xmm0, xmmword [rbp + rax + 0x10]
paddb xmm0, xmmword [0x180036970]
movdqu xmmword [rbp + rax + 0x10], xmm0
add rax, 0x10
cmp rax, 0x40
jb 0x1800297e8
movsxd r8, dword [rbp - 0x28]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x40], r14
lea r9, [rbp + 0x10]
mov qword [rsp + 0x38], r14
lea rcx, [0x18000da00]
mov qword [rsp + 0x30], r14
mov rdx, rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.18000b68c
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r9d, r9d
movsx rax, dil
xor r8d, r8d
mov qword [rsp + 0x40], r14
xor edx, edx
mov qword [0x181061ef8], rax
mov al, byte [rsp + 0x50]
mov eax, dword [rbp - 0x5c]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.18000b68c
mov r9, qword [rbp - 0x28]
mov rdx, rax
mov r8, rsi
or rcx, 0xffffffffffffffff
call fcn.180024c40
mov ebx, eax
mov r8d, 0x3e3
mov eax, 1
movsx edx, word [rsp + 0x5c]
sub r8d, eax
movzx ecx, byte [rsp + 0x51]
add cx, dx
mov word [rsp + 0x5c], cx
movsx edx, word [rsp + 0x5c]
mov cl, byte [rsp + 0x51]
sub edx, 0x1e519e03
add cl, al
mov dword [0x18004ed50], edx
mov byte [rsp + 0x51], cl
test r8d, r8d
jg 0x180029899
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov qword [rsp + 0x38], r14
mov edx, 0x1388
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.18000b68c
mov byte [rsp + 0x50], 2
movzx eax, word [rsp + 0x54]
shl al, 7
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x74]
movsx ecx, byte [rsp + 0x50]
sub ecx, 1
je 0x180029942
cmp ecx, 1
jne 0x18002994a
mov rcx, qword [rbp - 0x68]
mov eax, 0x8efab13e
imul rcx, rax
movzx eax, word [0x18004ed30]
sub ax, cx
mov word [0x18004ed30], ax
jmp 0x18002994a
mov al, byte [rsp + 0x50]
mov rax, qword [rbp - 0x70]
mov eax, ebx
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.18002a1d0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret