Function at 0x140001830
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 eax, 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 ebp, 0xc31c12ca
nop dword [rax + rax]
cmp ebp, 0x8e417393
je 0x1400022b9
cmp ebp, 0x6b228ce7
je 0x1400018c0
cmp ebp, 0xc31c12ca
jne 0x140001870
mov dword [rsp + 8], r15d
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x10], r9d
mov dword [rsp + 4], eax
mov ebp, dword [rsp + 0xc]
cmp ebp, dword [rsp + 0x14]
mov ebp, 0x8e417393
mov edx, 0x6b228ce7
cmovb ebp, edx
jmp 0x140001870
mov ebx, dword [rsp + 4]
shl ebx, 4
mov r10d, dword [rsp + 4]
shr r10d, 5
mov r15d, r10d
not r15d
mov eax, r10d
and eax, 0x2f342e4
mov ecx, r15d
and ecx, 0x9d0cbd1b
or ecx, eax
mov ebp, ecx
xor ebp, 0x1009
mov r14d, ebx
mov eax, ebx
mov esi, ebx
xor esi, 0x46a3a690
and esi, ebx
not ebx
mov edi, ebx
and edi, 0x5daeadf2
and r14d, 0xa2515200
or r14d, edi
xor ecx, 0x40a200e0
and ecx, 0x5daeadf2
and ebp, 0x251520d
or ebp, ecx
xor ebp, r14d
mov r14d, ebp
xor r14d, ebx
and r14d, ebp
and ebx, 0x731e6805
and eax, 0x8ce197f0
or eax, ebx
mov edi, eax
xor edi, 0x81829a
xor eax, 0x42022001
mov ebx, eax
or ebx, 0xa95c1860
mov ebp, esi
not ebp
and ebx, 0xaf7e1c60
and edi, 0x4081a29a
or edi, ebx
or eax, ebp
and ebp, 0xaf7e1c61
and esi, 0x5081e390
or esi, ebp
xor esi, edi
not eax
or eax, esi
not esi
and esi, 0xb95c5964
and eax, 0x46a3a69b
or eax, esi
mov esi, eax
not esi
and esi, 0xce461e54
and eax, 0x31b9e1ab
or eax, esi
mov esi, eax
xor esi, 0x31b9e1ab
and esi, r15d
xor eax, 0xce461e54
and eax, r10d
or eax, esi
xor r15d, eax
and r15d, eax
mov r10d, r14d
not r10d
mov ebx, r15d
not ebx
and ebx, 0x50db1ff2
mov esi, r15d
and esi, 0xaf24e00d
or esi, ebx
mov ebx, esi
xor ebx, 0xaf24e00d
mov ecx, r14d
or ecx, 0x20401000
mov ebp, r10d
or ebp, 0x8813885b
mov eax, esi
xor eax, 0xdee0912d
and eax, ebx
and r15d, 0x71c47120
and ecx, 0xa853985b
mov edi, r10d
and edi, 0x6280684
or edi, ecx
and ebp, 0xa853985b
mov ecx, r14d
and ecx, 0x51846120
or ecx, ebp
xor ecx, edi
mov edi, eax
and edi, r15d
xor r15d, eax
or r15d, edi
mov eax, ecx
not eax
and eax, 0xe561b436
and ecx, 0x1a9e4bc9
or ecx, eax
mov eax, r15d
not eax
and eax, 0xe561b436
and r15d, 0x1a9e4bc9
or r15d, eax
xor r15d, ecx
xor esi, 0x50db1ff2
mov eax, r14d
and eax, 0xa8e58f63
and r10d, 0x571a709c
or r10d, eax
or r14d, esi
and esi, 0xa8e58f63
and ebx, 0x571a709c
or ebx, esi
xor ebx, r10d
not r14d
or r14d, ebx
mov eax, r14d
not eax
and eax, 0xeb739bc3
and r14d, 0x148c643c
or r14d, eax
mov eax, r14d
xor eax, 0x4804030
xor r14d, 0xeb739bc3
mov ebx, r15d
not ebx
mov ecx, ebx
and ecx, 0x9b5c27cc
and r15d, 0x64a3d833
or r15d, ecx
or ebx, r14d
and r14d, 0x9b5c27cc
and eax, 0x64a3d833
or eax, r14d
xor eax, r15d
not ebx
or ebx, eax
add ebx, dword [rsp + 4]
mov eax, dword [rsp + 8]
shr eax, 0xb
mov ecx, eax
not ecx
mov ebp, eax
or ebp, 0x21a08904
mov edi, ecx
or edi, 0xc6185021
and ebp, 0x21b8d925
and ecx, 0x40058
or ecx, ebp
and edi, 0xe7b8d925
and eax, 0x32682
or eax, edi
xor eax, ecx
mov ecx, eax
not ecx
and ecx, 0x39e3af86
and eax, 0xc61c5079
or eax, ecx
mov ecx, eax
xor ecx, 3
and ecx, eax
mov ebp, eax
not ebp
and ebp, 0x2e33e829
and eax, 0xd1cc17d6
or eax, ebp
mov edi, eax
xor edi, 0x91c002c1
mov ebp, ecx
not ebp
xor eax, 0x2e33e82a
mov esi, ebp
and esi, 0x6e1d3534
and ecx, 0x91e2cacb
or ecx, esi
or ebp, eax
and eax, 0x6e1d3534
and edi, 0x91e2cacb
or edi, eax
xor edi, ecx
not ebp
or ebp, edi
mov eax, ebp
not eax
mov ecx, eax
or ecx, 0xe9101663
mov edi, ebp
or edi, 0x422000
and edi, 0xe9523663
and eax, 0x16088880
or eax, edi
and ecx, 0xe9523663
and ebp, 0xa5411c
or ebp, ecx
xor ebp, eax
mov eax, ebp
not eax
and eax, 0xe7611c
and ebp, 0xff189ee3
or ebp, eax
mov rdx, qword [rsp + 0x20]
mov r10d, dword [rdx + rbp*4]
add r10d, dword [rsp + 8]
mov r14d, r10d
not r14d
mov esi, r14d
and esi, r10d
mov ecx, r14d
and ecx, esi
xor esi, r14d
or esi, ecx
mov ecx, ebx
not ecx
not esi
mov ebp, ecx
and ebp, esi
xor esi, ecx
or esi, ebp
mov ebp, ecx
and ebp, 0xaa6dd9d3
and ecx, ebx
and ebx, 0x5592262c
or ebx, ebp
mov ebp, ebx
xor ebp, 0x45002024
xor ebx, 0xaa6dd9d3
mov edi, ecx
not edi
mov eax, ebx
and eax, 0x329a979a
and ebp, 0xcd656865
or ebp, eax
or ebx, edi
and edi, 0x329a979a
and ecx, 0xcd656865
or ecx, edi
xor ecx, ebp
not ebx
or ebx, ecx
mov eax, ebx
not eax
and eax, 0x5db7b886
and ebx, 0xa2484779
or ebx, eax
mov eax, ebx
xor eax, 0xa2484779
and eax, r14d
xor ebx, 0x5db7b886
and ebx, r10d
or ebx, eax
xor r14d, ebx
and r14d, ebx
mov eax, r14d
and r14d, esi
not esi
not eax
mov ecx, esi
xor ecx, eax
and ecx, esi
and eax, esi
or eax, r14d
mov ebp, ecx
and ebp, eax
xor eax, ecx
or eax, ebp
mov r9d, dword [rsp + 0x10]
sub r9d, eax
mov r15d, dword [rsp + 8]
mov eax, 0x61c88647
add r15d, eax
mov ebx, r9d
shl ebx, 4
mov ebp, r9d
shr ebp, 5
mov r13d, ebx
not r13d
mov eax, r13d
and eax, 0x1440006
mov ecx, ebx
and ecx, 0x201a2a10
or ecx, eax
xor ecx, 0x201a2a18
mov eax, ebx
xor eax, 0x215e2a10
and eax, ebx
mov esi, ecx
and esi, eax
xor eax, ecx
or eax, esi
mov ecx, eax
not ecx
and ecx, 0x27319fa5
and eax, 0xd8ce605a
or eax, ecx
mov ecx, ebp
mov esi, ebp
xor esi, 0x694d207
and esi, ebp
not ebp
xor eax, 0x66fb5bb
mov edi, ebp
and edi, eax
xor eax, ebp
or eax, edi
mov edi, eax
not edi
and edi, 0xdba17b80
and eax, 0x245e847f
or eax, edi
mov r10d, eax
xor r10d, 0x245e847f
mov r12d, eax
xor r12d, 0xdba17b80
or ecx, 0xc96b2df8
mov edi, esi
not edi
mov r11d, ecx
and r11d, 0xe0761dd
and ebp, 0x20909202
or ebp, r11d
or ecx, edi
and edi, 0x1e0761dd
and esi, 0x1f89e22
or esi, edi
xor esi, ebp
not ecx
or ecx, esi
mov ebp, ecx
not ebp
and ebp, 0xdac60268
and ecx, 0x2539fd97
or ecx, ebp
mov esi, ecx
xor esi, 0x11200480
xor ecx, 0xe4101063
and ecx, 0xe69d3b73
and esi, 0x1962c48c
or esi, ecx
mov ecx, esi
xor ecx, 0x1962c480
and ecx, r13d
xor esi, 0xe69d3b70
and esi, ebx
or esi, ecx
not esi
or esi, r13d
mov ecx, esi
not ecx
mov ebp, esi
and ebp, 0x6fabdd39
xor esi, 0xe9296870
and esi, ecx
and ecx, 0x905422c0
or ecx, ebp
mov edi, ecx
xor edi, 0x905422c6
xor eax, 0x328813fd
mov ebp, eax
and ebp, r12d
and eax, r10d
xor ecx, 0x797d4abb
and ecx, edi
mov ebx, ebp
not ebx
mov r10d, eax
not r10d
mov r11d, ebx
and r11d, 0xa40839fe
and ebp, 0x5bf7c601
or ebp, r11d
or ebx, r10d
and r10d, 0xa40839fe
and eax, 0x5bf7c601
or eax, r10d
xor eax, ebp
not ebx
or ebx, eax
mov eax, ecx
and eax, esi
xor esi, ecx
or esi, eax
mov eax, ebx
not eax
and eax, esi
not esi
and esi, ebx
or esi, eax
mov eax, r12d
and eax, edi
xor edi, r12d
or edi, eax
mov eax, edi
not eax
and eax, 0x8fd3715e
and edi, 0x702c8ea1
or edi, eax
mov ecx, edi
xor ecx, 0x50048420
xor edi, 0x8fd3715e
mov r10d, esi
not r10d
mov eax, r10d
and eax, 0xa4a92acb
and esi, 0x5b56d534
or esi, eax
or r10d, edi
and edi, 0xa4a92acb
and ecx, 0x5b56d534
or ecx, edi
xor ecx, esi
not r10d
or r10d, ecx
add r10d, r9d
mov eax, r15d
not eax
and eax, 0x5c430818
mov ebp, r15d
and ebp, 0xa3bcf7e7
or ebp, eax
xor ebp, 0x910aab6
mov eax, r15d
xor eax, 0x5553a2ae
and eax, r15d
mov ecx, ebp
and ecx, eax
xor ebp, eax
or ebp, ecx
not eax
and eax, 0xaaac5d51
and ebp, 0x5553a2ae
or ebp, eax
mov eax, ebp
not eax
mov ecx, eax
and ecx, 0x674fcd10
and ebp, 0x98b032ef
or ebp, ecx
mov ebx, ebp
xor ebx, 0x430b4000
or ebx, 0xb474af70
mov ecx, eax
or ecx, 0x4b8b508f
xor ecx, ebx
mov ebx, ecx
not ebx
and ebx, 0x3412053e
and ecx, 0xcbedfac1
or ecx, ebx
xor ecx, 0x8066aa4d
and eax, 3
xor ebp, 0x98b032ec
or ebp, eax
mov eax, ebp
not eax
and eax, 0x75ec9936
and ebp, 0x8a1366c9
or ebp, eax
xor ebp, 0x8a1366c9
mov eax, ecx
and eax, ebp
xor ebp, ecx
or ebp, eax
mov ecx, ebp
not ecx
or ebp, 0x9e3186e6
or ecx, 0x61ce7919
xor ecx, ebp
mov eax, ecx
not eax
and eax, 0x5d58b924
and ecx, 0xa2a746db
or ecx, eax
mov eax, ecx
xor eax, 0xc1681b42
xor ecx, 0xc94c020
and eax, 0xf16a1b5f
and ecx, 0xe95e4a0
or ecx, eax
mov eax, ecx
xor eax, 0x8040134e
xor ecx, 0xc156400
and ecx, 0x7d3f6c11
and eax, 0x82c093ee
or eax, ecx
xor eax, 0x82c093ee
mov r11d, dword [rdx + rax*4]
add r11d, r15d
mov ecx, r10d
not ecx
mov eax, ecx
and eax, 0x9c683316
mov ebp, r10d
and ebp, 0x6397cce9
or ebp, eax
mov eax, ebp
xor eax, 0x4314c081
xor ebp, 0x18401310
and ebp, 0x38c31f78
and eax, 0xc73ce087
or eax, ebp
mov ebp, eax
xor ebp, 0xc218a000
xor eax, 0x8020c20
and eax, 0xd264ca7
and ebp, 0xf2d9b358
or ebp, eax
mov ebx, ebp
xor ebx, 0xd220026
or ebx, 0x729c5f91
mov esi, ebx
not esi
and r10d, 0xe606f8e3
mov eax, ecx
and eax, 0x19f9071c
or eax, r10d
xor eax, 0x6b65588d
and ecx, 0x8d63a06e
or ecx, eax
mov r13d, ecx
not r13d
mov r10d, r11d
not r10d
mov edi, r11d
mov r12d, r11d
mov eax, r10d
and eax, 0x3cc450e7
and r11d, 0xc33baf18
or r11d, eax
xor r11d, 0x4e580f76
or r11d, r10d
and r10d, 0x3809ab92
and edi, 0xc7f6546d
or edi, r10d
xor edi, 0x4a95f403
and r12d, 0x729c5f91
or r12d, edi
and ebx, 0xdd1f1239
xor ebp, 0x862a022
and ebp, esi
mov eax, esi
and eax, 0x60a046
or eax, ebx
mov r10d, eax
xor r10d, 0x22e0edc6
mov esi, eax
xor esi, 0x173843c3
and esi, r10d
mov edi, ecx
xor edi, 0x35d8ae05
mov ebx, edi
and ebx, ecx
and edi, r13d
mov r14d, esi
and r14d, ebp
xor ebp, esi
or ebp, r14d
mov esi, ebx
not esi
mov r14d, esi
and r14d, 0xd95fc730
and ebx, 0x26a038cf
or ebx, r14d
mov r14d, edi
not r14d
or esi, r14d
and r14d, 0xd95fc730
and edi, 0x26a038cf
or edi, r14d
xor edi, ebx
not esi
or esi, edi
mov edi, ebp
not edi
and edi, 0xffa9bfc7
and ebp, 0x564038
or ebp, edi
mov edi, esi
not edi
and edi, 0xffa9bfc7
and esi, 0x564038
or esi, edi
mov r14d, r12d
not r14d
xor esi, ebp
xor eax, 0xdd1f1239
mov edi, eax
and edi, 0x8c60a020
and r10d, 0x41870fcf
or r10d, edi
mov ebp, r11d
not ebp
or eax, r13d
and r13d, 0xbe78f030
and ecx, 0x41870fcf
or ecx, r13d
xor ecx, r10d
not eax
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x3a766bb4
and eax, 0xc589944b
or eax, ecx
mov ecx, eax
xor ecx, 0x4509904a
mov r10d, esi
not r10d
xor eax, 0x3a766bb4
mov edi, r10d
and edi, 0x92e64c35
and esi, 0x6d19b3ca
or esi, edi
or r10d, eax
and eax, 0x92e64c35
and ecx, 0x6d19b3ca
or ecx, eax
xor ecx, esi
not r10d
or r10d, ecx
and r11d, 0xd148c3a3
mov r13d, ebp
and r13d, 0x2eb73c5c
or r13d, r11d
mov ecx, r12d
xor ecx, 0x6e847e88
mov ebx, ecx
and ebx, r12d
and ecx, r14d
mov edi, ebx
not edi
mov eax, edi
and eax, 0x547c270c
and ebx, 0xab83d8f3
or ebx, eax
mov eax, ecx
not eax
or edi, eax
and eax, 0x547c270c
and ecx, 0xab83d8f3
or ecx, eax
mov eax, r13d
xor eax, 0x2eb73c5c
xor ecx, ebx
mov esi, r13d
xor esi, 0x403342d4
and esi, eax
and ebp, 0x6e847e88
not edi
or edi, ecx
mov ecx, esi
and ecx, ebp
xor ebp, esi
or ebp, ecx
mov ecx, edi
not ecx
and ecx, 0x4e9c090c
and edi, 0xb163f6f3
or edi, ecx
mov ecx, ebp
not ecx
and ecx, 0x4e9c090c
and ebp, 0xb163f6f3
or ebp, ecx
xor ebp, edi
mov ecx, r14d
and ecx, 0x9d6f11e9
and r12d, 0x6290ee16
or r12d, ecx
xor r13d, 0xd148c3a3
or r14d, r13d
and r13d, 0x9d6f11e9
and eax, 0x6290ee16
or eax, r13d
xor eax, r12d
not r14d
or r14d, eax
mov eax, r14d
not eax
and eax, 0x6c039a33
and r14d, 0x93fc65cc
or r14d, eax
mov eax, ebp
not eax
mov ecx, eax
and ecx, 0x2e7a1f57
and ebp, 0xd185e0a8
or ebp, ecx
mov ecx, r14d
xor ecx, 0x91846088
xor r14d, 0x6c039a33
or eax, r14d
and r14d, 0x2e7a1f57
and ecx, 0xd185e0a8
or ecx, r14d
xor ecx, ebp
not eax
or eax, ecx
mov ecx, eax
xor ecx, r10d
and eax, ecx
and ecx, r10d
mov ebp, eax
and ebp, ecx
xor ecx, eax
or ecx, ebp
mov eax, dword [rsp + 4]
sub eax, ecx
mov ecx, dword [rsp + 0xc]
add ecx, 1
jmp 0x140001866
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