Function at 0x140001860
Capabilities:
Encrypt data using xtea

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov qword [rsp + 0x20], r9
mov edi, dword [r8]
lea rcx, [r8 + 4]
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x18]
mov r9d, dword [rcx]
mov dword [rsp + 0x14], edx
imul r15d, edx, 0x9e3779b9
xor ecx, ecx
mov rdx, qword [rsp + 0x20]
mov esi, 0x7000b391
cmp esi, 0x9a6e2019
je 0x1400021c0
cmp esi, 0xbfee6d5f
je 0x1400018f0
cmp esi, 0x7000b391
jne 0x1400018a0
mov dword [rsp + 8], r15d
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], r9d
mov dword [rsp + 4], edi
mov esi, dword [rsp + 0xc]
cmp esi, dword [rsp + 0x14]
mov esi, 0x9a6e2019
mov eax, 0xbfee6d5f
cmovb esi, eax
jmp 0x1400018a0
mov r12d, dword [rsp + 4]
shl r12d, 4
mov ecx, dword [rsp + 4]
shr ecx, 5
mov r14d, ecx
not r14d
mov edi, r14d
and edi, ecx
mov ebx, edi
not ebx
mov ebp, ecx
and ebp, 0x3bde9c5
mov esi, r14d
and esi, 0xc42163a
or esi, ebp
mov ebp, ecx
or ebp, ebx
and ebx, 0xf3bde9c5
and edi, 0x442163a
or edi, ebx
xor edi, esi
not ebp
or ebp, edi
mov esi, ebp
not esi
and esi, 0x5596533f
and ebp, 0xaa69acc0
or ebp, esi
mov eax, ebp
xor eax, 0x28088400
xor ebp, 0x40804235
and ebp, 0xc2e16af5
and eax, 0x3d1e950a
or eax, ebp
mov esi, eax
xor esi, 0x60a6718f
xor eax, 0x3d1e950a
and eax, esi
mov esi, r14d
and esi, 0xa2471b7a
and ecx, 0x5b8e485
or ecx, esi
xor r14d, ecx
and r14d, ecx
mov edi, r12d
not edi
mov esi, edi
and esi, r12d
mov ecx, edi
and ecx, esi
xor esi, edi
or esi, ecx
mov ecx, esi
not ecx
and esi, 0x74ba7615
mov ebp, ecx
and ebp, 0x8b4589e0
or ebp, esi
xor ebp, 0x29029290
and ecx, 0x5db8e480
or ecx, ebp
mov esi, ecx
not esi
and esi, 0x82e9110b
and ecx, 0x7d16eef4
or ecx, esi
mov r15d, ecx
xor r15d, 0x7d16eef4
xor ecx, 0x82e9110b
mov esi, edi
and esi, 0x5ceec160
and r12d, 0xa3113e90
or r12d, esi
xor r12d, 0x15625e0
or r12d, edi
mov ebp, r12d
not ebp
mov edi, eax
not edi
and edi, r14d
mov esi, r14d
not esi
mov ebx, eax
xor ebx, esi
and ebx, eax
and esi, eax
or esi, edi
mov eax, ebx
and eax, esi
xor esi, ebx
or esi, eax
and ebp, ecx
or ecx, r12d
mov eax, ecx
not eax
and r12d, r15d
or r12d, ebp
mov edi, r12d
not edi
mov ebx, ecx
and ebx, 0x5856ff92
and eax, 0xa7a90060
or eax, ebx
or ecx, edi
and edi, 0x5856ff92
and r12d, 0xa7a9006d
or r12d, edi
xor r12d, eax
not ecx
or ecx, r12d
mov edi, ecx
not edi
mov eax, edi
or eax, esi
not esi
mov ebx, eax
not ebx
and edi, 0x70757eb2
and ecx, 0x8f8a814d
or ecx, edi
xor ecx, 0x70757eb2
or ecx, esi
mov esi, ecx
not esi
mov edi, eax
and edi, 0xa21d9bbc
and ebx, 0x5de26443
or ebx, edi
or eax, ecx
and ecx, 0xa21d9bbc
and esi, 0x5de26443
or esi, ecx
xor esi, ebx
not eax
or eax, esi
add eax, dword [rsp + 4]
mov ecx, dword [rsp + 8]
shr ecx, 0xb
not ecx
mov esi, ecx
and esi, 0x2155e106
or ecx, 0x2155e106
xor ecx, esi
mov esi, ecx
not esi
and ecx, 0xc9b4b5f
and esi, 0x2044b4a0
or esi, ecx
mov edi, esi
xor edi, 0xd33155a6
xor esi, 0x2cceaa59
mov ecx, esi
or ecx, 3
and esi, 0x2cdffffc
mov ebx, edi
and ebx, 3
or ebx, esi
mov esi, ebx
not esi
mov ebp, ecx
and ebp, 0x24c5c1cc
and edi, 0xa3a3e30
or edi, ebp
or ecx, esi
and esi, 0xf5c5c1cc
and ebx, 0x81a3e33
or ebx, esi
xor ebx, edi
not ecx
or ecx, ebx
mov esi, ecx
not esi
mov edi, esi
and edi, 0xc72ddbfc
and esi, ecx
and ecx, 0x38d22403
or ecx, edi
mov edi, ecx
xor edi, 0x38420002
xor ecx, 0xc72ddbfc
mov ebx, esi
not ebx
mov ebp, ecx
and ebp, 0xc5b0af1d
and edi, 0x3a4f50e2
or edi, ebp
or ecx, ebx
and ebx, 0xc5b0af1d
and esi, 0x3a4f50e2
or esi, ebx
xor esi, edi
not ecx
or ecx, esi
mov esi, ecx
not esi
mov edi, esi
and edi, 0x7f36158d
and ecx, 0x80c9ea72
or ecx, edi
xor ecx, 0x7f36158d
xor esi, ecx
and esi, ecx
mov r15d, dword [rdx + rsi*4]
add r15d, dword [rsp + 8]
mov r14d, r15d
not r14d
mov ebx, r14d
and ebx, 0x93275486
mov ecx, r15d
and ecx, 0x6cd8ab79
or ecx, ebx
mov ebx, ecx
xor ebx, 0x2c188078
xor ecx, 0x93275486
mov ebp, r14d
and ebp, r15d
mov edi, ebp
not edi
mov esi, ecx
and esi, 0xc0e12f87
and ebx, 0x3f1ed078
or ebx, esi
or ecx, edi
and edi, 0xc0e12f87
and ebp, 0x3f1ed078
or ebp, edi
xor ebp, ebx
not ecx
or ecx, ebp
mov esi, ecx
not esi
and esi, 0xb3391835
and ecx, 0x4cc6e7ca
or ecx, esi
mov esi, ecx
xor esi, 0x4cc6e7ca
mov ebp, eax
not ebp
and esi, ebp
xor ecx, 0xb3391835
and ecx, eax
or ecx, esi
not ecx
or ecx, ebp
mov r12d, ecx
not r12d
mov esi, ebp
and esi, 0x92d0f469
and ebp, eax
and eax, 0x6d2f0b96
or eax, esi
mov esi, eax
xor esi, 0x49040086
xor eax, 0x92d0f469
mov edi, ebp
not edi
mov ebx, eax
and ebx, 0x342b4b10
and esi, 0xcbd4b4ef
or esi, ebx
or eax, edi
and edi, 0x342b4b10
and ebp, 0xcbd4b4ef
or ebp, edi
xor ebp, esi
not eax
or eax, ebp
and r14d, 0xbf1446f7
and r15d, 0x40ebb908
or r15d, r14d
xor r15d, 0x40ebb908
not eax
mov esi, r15d
and esi, eax
xor eax, r15d
or eax, esi
mov esi, eax
not esi
and esi, 0x64d2aadb
and eax, 0x9b2d5524
or eax, esi
mov esi, eax
xor esi, 0x980c5124
xor eax, 0x64d2aadb
mov r15d, ecx
or r15d, eax
mov edi, r15d
not edi
and ecx, 0x3f304d9
and r12d, 0xfc0cfb26
or r12d, ecx
and eax, 0x3f304d9
and esi, 0xfc0cfb26
or esi, eax
xor esi, r12d
mov eax, esi
not eax
mov ecx, r15d
and ecx, 0x1fca374f
and edi, 0xe035c8b0
or edi, ecx
or r15d, eax
and eax, 0x1fca374f
and esi, 0xe035c8b0
or esi, eax
xor esi, edi
not r15d
or r15d, esi
sub r15d, dword [rsp + 0x10]
mov r9d, r15d
neg r9d
mov r13d, r9d
shl r13d, 4
mov edi, r9d
shr edi, 5
mov r12d, r13d
not r12d
mov eax, r12d
and eax, 0x9e00074c
mov esi, r13d
and esi, 0x1724800
or esi, eax
mov eax, r12d
or eax, 0x9f724f4e
xor eax, esi
mov esi, eax
xor esi, 0x600800
xor eax, 0xc8c3458
and esi, 0xf2618ba0
and eax, 0xd9e7458
or eax, esi
mov ebp, eax
xor ebp, 0x82c42017
mov ecx, edi
not ecx
xor eax, 0x41084a8
and eax, 0x14389fa8
and ebp, 0xebc76057
or ebp, eax
mov eax, ebp
xor eax, 0xb854000
xor ebp, 0x14389fa8
mov ebx, edi
and ebx, 0x45abd5c
mov esi, ecx
and esi, 0xba542a3
or esi, ebx
mov r11d, edi
or r11d, ebp
and ebp, 0xf45abd5c
and eax, 0xba542a0
or eax, ebp
xor eax, esi
not r11d
or r11d, eax
mov eax, r11d
not eax
mov esi, ecx
and esi, 0xb65ef6af
and ecx, edi
and edi, 0x1a10950
or edi, esi
xor edi, 0x49a10950
mov esi, edi
and esi, ecx
xor edi, ecx
or edi, esi
and r12d, 0x326f80ea
and r13d, 0xcd907f10
or r13d, r12d
xor r13d, 0xcd907f15
not edi
mov ecx, r13d
and ecx, edi
xor edi, r13d
or edi, ecx
mov ecx, edi
not ecx
and ecx, 0x78c1e5b9
and edi, 0x873e1a46
or edi, ecx
mov r10d, edi
xor r10d, 0x873e1a46
xor edi, 0x78c1e5b9
mov esi, r11d
and esi, 0x686e9317
xor r11d, 0x8402e0ed
and r11d, eax
and eax, 0x97916ce8
or eax, esi
mov r13d, eax
xor r13d, 0x97916ce8
mov ecx, eax
xor ecx, 0x13938c05
and ecx, r13d
mov r12d, r10d
or r12d, 0x80ed
mov ebp, edi
or ebp, 0x980612
mov esi, ecx
not esi
mov ebx, r11d
not ebx
mov r14d, esi
and r14d, 0xa337c0e3
and ecx, 0x5cc83f1c
or ecx, r14d
or esi, ebx
and ebx, 0xa337c0e3
and r11d, 0x5cc83f1c
or r11d, ebx
xor r11d, ecx
not esi
or esi, r11d
and r12d, 0x9886ff
mov ecx, edi
and ecx, 0x7b651900
or ecx, r12d
and ebp, 0x9886ff
mov ebx, r10d
and ebx, 0x84026000
or ebx, ebp
xor ebx, ecx
mov ecx, esi
not ecx
and ecx, 0xe664a14a
and esi, 0x199b5eb5
or esi, ecx
mov ecx, ebx
not ecx
and ecx, 0xe664a14a
and ebx, 0x199b5eb5
or ebx, ecx
xor ebx, esi
xor eax, 0x686e9317
mov ecx, eax
and ecx, 0xce2b4592
and r13d, 0x31d4ba6d
or r13d, ecx
or eax, r10d
and r10d, 0xce2b4592
and edi, 0x31d4ba6d
or edi, r10d
xor edi, r13d
not eax
or eax, edi
mov ecx, eax
not ecx
and ecx, 0x142b2adb
and eax, 0xebd4d524
or eax, ecx
xor eax, 0xebd4d524
mov ecx, ebx
and ecx, eax
xor eax, ebx
or eax, ecx
sub eax, r15d
mov r15d, dword [rsp + 8]
mov ecx, 0x61c88647
add r15d, ecx
mov ecx, r15d
not ecx
mov ebp, r15d
or ebp, 0xa9d022
mov ebx, ecx
or ebx, 0x14400881
and ebp, 0x14e9d8a3
and ecx, 0xa040408
or ecx, ebp
and ebx, 0x14e9d8a3
mov ebp, r15d
and ebp, 0xe1122354
or ebp, ebx
xor ebp, ecx
mov ecx, ebp
not ecx
and ecx, 0x168feb8c
and ebp, 0xe9701473
or ebp, ecx
mov ecx, ebp
xor ecx, 0xf73418fa
mov ebx, ebp
xor ebx, 0xf73418f9
and ebx, ecx
xor ebp, 0x8cbe704
and ebp, 0xfffffffc
and ecx, 3
or ecx, ebp
mov ebp, ebx
and ebp, ecx
xor ecx, ebx
or ecx, ebp
mov ebp, ecx
not ebp
and ecx, 0xe8661933
and ebp, 0x1799e6cc
or ebp, ecx
mov ecx, ebp
xor ecx, 0x8021101
xor ebp, 0x17000244
and ebp, 0xf7640a76
and ecx, 0x89bf589
or ecx, ebp
mov ebp, ecx
xor ebp, 0x811c001
xor ecx, 0xc6040820
and ecx, 0xc68e3da8
and ebp, 0x3971c257
or ebp, ecx
xor ebp, 0x3971c257
mov ebx, dword [rdx + rbp*4]
add ebx, r15d
mov r10d, eax
not r10d
mov ecx, eax
and ecx, 0x3fb4415c
mov esi, r10d
and esi, 0xc04bbea3
or esi, ecx
mov ebp, esi
xor ebp, 0x3fb4415c
mov r14d, ebx
not r14d
mov ecx, r14d
and ecx, 0xc1543d0b
mov r11d, ebx
and r11d, 0x3eabc2f4
or r11d, ecx
mov ecx, r11d
xor ecx, 0x200b0244
xor esi, 0x404b1603
xor r11d, 0xc1543d0b
mov edi, r11d
and edi, 0x9fb0e9b0
and ecx, 0x604f164f
or ecx, edi
or r11d, ebp
and ebp, 0x9fb0e9b0
and esi, 0x604f164f
or esi, ebp
xor esi, ecx
not r11d
or r11d, esi
mov ecx, r14d
and ecx, 0xb718363c
and r14d, ebx
and ebx, 0x48e7c9c3
or ebx, ecx
xor ebx, 0x48e7c9c3
mov ecx, ebx
and ecx, r14d
xor ebx, r14d
or ebx, ecx
mov ecx, ebx
not ecx
and ecx, 0x2099c21c
and ebx, 0xdf663de3
or ebx, ecx
mov ecx, ebx
xor ecx, 0xdc0001c2
xor ebx, 0x2099c21c
mov esi, eax
and esi, 0x377bc25
and r10d, 0xfc8843da
or r10d, esi
or eax, ebx
and ebx, 0x377bc25
and ecx, 0xfc8843da
or ecx, ebx
xor ecx, r10d
not eax
or eax, ecx
mov r12d, eax
mov r10d, r11d
mov ebx, r11d
mov edi, eax
xor edi, 0x77667709
mov r13d, edi
and r13d, eax
mov r14d, r11d
and r14d, eax
xor eax, r11d
not r11d
not r12d
and r10d, 0x889988f6
xor ebx, 0x77667709
and ebx, r11d
and edi, r12d
mov esi, r10d
and esi, ebx
xor ebx, r10d
or ebx, esi
mov ebp, r13d
not ebp
mov ecx, edi
not ecx
mov esi, ebp
and esi, 0xabe416a5
and r13d, 0x541be95a
or r13d, esi
or ebp, ecx
and ecx, 0xabe416a5
and edi, 0x541be95a
or edi, ecx
xor edi, r13d
not ebp
or ebp, edi
mov ecx, ebx
not ecx
and ecx, 0xf247d3e6
and ebx, 0xdb82c19
or ebx, ecx
mov ecx, ebp
not ecx
and ecx, 0xf247d3e6
and ebp, 0xdb82c19
or ebp, ecx
xor ebp, ebx
or eax, r14d
mov ecx, eax
not ecx
and ecx, 0xbe4c6890
and eax, 0x41b3976f
or eax, ecx
xor eax, 0x41b3976f
mov ecx, ebp
and ecx, eax
xor eax, ebp
or eax, ecx
mov edi, dword [rsp + 4]
sub edi, eax
mov ecx, dword [rsp + 0xc]
add ecx, 1
jmp 0x14000189b
mov eax, dword [rsp + 4]
mov dword [r8], eax
mov rax, qword [rsp + 0x18]
mov ecx, dword [rsp + 0x10]
mov dword [rax], ecx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret