Function at 0x140019575
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
call fcn.1400182b2
mov ecx, 0xd
call fcn.140015329
mov qword [0x140020038], rax
xor ecx, ecx
lea rdx, [rsp + 0x2c]
mov byte [rdx - 4], cl
mov dword [rdx], 0x43e41c5e
mov dword [rdx + 4], 0x1fa51550
mov dword [rdx + 8], 0x41fa1d1b
mov dword [rdx + 0xc], 0x2d967935
cmp byte [rdx - 4], cl
jne 0x140019700
xor r15d, r15d
mov r14d, 0xffffffff
mov r8d, 0x1010b29
mov r9d, 0xaf361dbb
mov r10d, 0xa58f226e
mov r11d, 0xed33bcf
mov ebx, dword [rsp + r15*4 + 0x2c]
mov esi, ebx
xor esi, r14d
mov ebp, esi
and ebp, 0xa8e6fff0
mov edi, ebx
and edi, 0x5719000f
or edi, ebp
mov ebp, edi
xor ebp, 0x52000000
xor edi, 0xb20
and ebp, 0xf2828440
and edi, r8d
or edi, ebp
mov ebp, edi
xor ebp, r8d
xor edi, 0xfefef4d6
and esi, 0x50c9e244
and ebx, r9d
or ebx, esi
mov esi, ebx
xor esi, r9d
xor ebx, 0x40094200
and ebx, 0xe11f5e89
mov ecx, esi
and ecx, 0x1ee0a176
or ecx, ebx
xor ecx, 0x129cd1e0
and esi, 0xf3838f69
or esi, ecx
mov ecx, esi
xor ecx, r14d
and ecx, edi
mov ebx, ebp
xor ebx, esi
and ebx, ebp
and esi, ebp
or esi, ecx
mov edi, ebx
xor edi, r14d
mov ecx, esi
xor ecx, r14d
mov ebp, edi
and ebp, r10d
and ebx, 0x52008d01
or ebx, ebp
or edi, ecx
and ecx, r10d
and esi, 0x5a70dd91
or esi, ecx
xor esi, ebx
xor edi, r14d
or edi, esi
mov ecx, edi
xor ecx, r14d
mov esi, edi
xor esi, 0x37c61ce3
and esi, edi
or edi, 0xc839e31c
mov ebx, esi
xor ebx, r14d
mov ebp, edi
and ebp, r11d
and ecx, 0x31040420
or ecx, ebp
or edi, ebx
and ebx, r11d
and esi, 0xf12cc430
or esi, ebx
xor esi, ecx
xor edi, r14d
or edi, esi
mov ecx, edi
xor ecx, r14d
and ecx, 0x6c164dc1
and edi, 0x93e9b23e
or edi, ecx
xor edi, 0x85c5a77e
mov dword [rsp + r15*4 + 0x2c], edi
inc r15
cmp r15, 4
jne 0x1400195ea
mov rcx, rax
mov r8d, 0xd
call fcn.140014dfa
mov ecx, 0xd
call fcn.140015329
mov qword [0x140020040], rax
xor ecx, ecx
lea rdx, [rsp + 0x2c]
mov byte [rdx - 4], cl
mov dword [rdx], 0x1099e2f5
mov dword [rdx + 4], 0x43dcefe4
mov dword [rdx + 8], 0x1d83e2ba
mov dword [rdx + 0xc], 0x71ef8694
cmp byte [rdx - 4], cl
jne 0x140019840
xor r15d, r15d
mov r14d, 0xffffffff
mov r8d, 0xdaed43d6
mov r9d, 0xf091b761
mov r10d, 0x1bfa634c
mov r11d, 0xe4059cb3
mov esi, dword [rsp + r15*4 + 0x2c]
mov ebp, esi
xor ebp, r14d
mov edi, esi
xor edi, r8d
and edi, esi
mov ebx, ebp
and ebx, 0x5747786c
and esi, 0xa8b88793
or esi, ebx
xor esi, 0xd9570107
or esi, ebp
and ebp, r8d
mov ebx, ebp
and ebx, edi
xor edi, ebp
or edi, ebx
mov ebx, edi
xor ebx, r14d
and ebx, 0xcf9d1cbb
and edi, 0x3062e344
or edi, ebx
mov ebx, edi
xor ebx, 0x620d2012
xor edi, 0x5405060
and edi, 0x8dc2d0e0
and ebx, 0x723d2f1f
or ebx, edi
mov edi, ebx
xor edi, 0x70112701
xor ebx, 0xd424080
and ebx, 0xf6e489e
and edi, r9d
or edi, ebx
mov ebx, edi
xor ebx, 0x7e81ce0a
xor edi, r9d
and edi, ebx
mov ebx, esi
xor ebx, r14d
mov ebp, edi
xor ebp, r14d
and ebx, ebp
or ebp, esi
mov ecx, ebp
xor ecx, r14d
and esi, edi
or esi, ebx
mov edi, esi
xor edi, r14d
mov ebx, ebp
and ebx, r10d
and ecx, r11d
or ecx, ebx
or ebp, edi
and edi, r10d
and esi, r11d
or esi, edi
xor esi, ecx
xor ebp, r14d
or ebp, esi
mov dword [rsp + r15*4 + 0x2c], ebp
inc r15
cmp r15, 4
jne 0x14001976e
mov rcx, rax
mov r8d, 0xd
call fcn.140014dfa
mov ecx, 0xb
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020048], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x56092df9
mov dword [rcx + 4], 0x40426cbf
mov dword [rcx + 8], 0x246c32e0
cmp byte [rcx - 4], al
jne 0x140019a54
mov esi, 1
xor ebp, ebp
mov r12d, 0xffffffff
mov r8d, 0xbe5b4c90
mov ebx, 0xdb93a173
mov r13d, dword [rsp + rsi*4 + 0x28]
mov eax, r13d
xor eax, r12d
mov edi, r13d
and edi, 0x8acf147a
mov ecx, eax
and ecx, 0x246c5e8c
and r13d, ebx
or r13d, ecx
xor r13d, r12d
or r13d, eax
and eax, 0x7530eb85
or eax, edi
mov ecx, eax
xor ecx, 0x4e1462
xor eax, 0x55306a80
and eax, 0xdfb16a98
mov edx, 0x204e9567
and ecx, edx
or ecx, eax
mov r10d, ecx
xor r10d, edx
xor ecx, 0x80214880
and ecx, 0xa02fd9e0
mov eax, r10d
and eax, 0x5fd0261f
or eax, ecx
xor eax, 0x7bbc7893
and r10d, ebx
or r10d, eax
mov eax, r10d
xor eax, r12d
mov ecx, 0xffdad117
and eax, ecx
mov edx, 0x252ee8
and r10d, edx
or r10d, eax
mov r11d, r10d
xor r11d, edx
mov r15d, r13d
xor r15d, r12d
xor r10d, ecx
mov eax, r11d
or eax, 0x12500040
mov edi, r10d
or edi, 0x208f2da1
mov ecx, r15d
or ecx, 0x2004040
mov edx, 0x32df2de1
and eax, edx
mov r14d, r10d
and r14d, 0x4120021e
or r14d, eax
and edi, edx
mov eax, r11d
and eax, 0x8c00d000
or eax, edi
mov r9d, r13d
or r9d, 0x1a60f0d
xor eax, r14d
mov edi, 0x3a64f4d
and ecx, edi
mov edx, r13d
and edx, 0x600920b2
or edx, ecx
and r9d, edi
mov edi, r15d
and edi, 0x9c509000
or edi, r9d
xor edi, edx
mov ecx, eax
xor ecx, r12d
and ecx, edi
xor edi, r12d
and edi, eax
or edi, ecx
mov eax, r11d
mov ecx, 0x9bc292b6
and eax, ecx
mov edx, 0x643d6d49
and r10d, edx
or r10d, eax
or r11d, r15d
and r15d, ecx
and r13d, edx
or r13d, r15d
xor r13d, r10d
xor r11d, r12d
or r11d, r13d
mov eax, r11d
xor eax, r12d
and eax, 0x41a4b36f
and r11d, r8d
or r11d, eax
xor r11d, r8d
mov eax, edi
and eax, r11d
xor r11d, edi
or r11d, eax
mov dword [rsp + rsi*4 + 0x28], r11d
movabs rcx, 0x9190bf7f8d7141bc
mov rax, rcx
movabs rdx, 0xbc5f08186ea2afb
sub rax, rdx
sub rax, rcx
add rax, rdx
sub rbp, rax
movabs rcx, 0x1eccb1c043204d1c
add rbp, rcx
movabs rax, 0x730979cb888f0da6
add rbp, rax
sub rbp, rcx
sub rbp, rax
inc rbp
inc rsi
cmp rsi, 4
jne 0x1400198a3
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xb
call fcn.140014dfa
mov ecx, 0xb
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020050], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x19814a23
mov dword [rcx + 4], 0x229d0b67
mov dword [rcx + 8], 0x46b35538
cmp byte [rcx - 4], al
jne 0x140019cdb
mov r14d, 1
xor ecx, ecx
mov r9d, 0xffffffff
mov r10d, 0x28d56bed
mov r11d, 0x837f6483
mov r13d, dword [rsp + r14*4 + 0x28]
mov eax, r13d
xor eax, r9d
mov ebp, r13d
and ebp, 0xc2381d0e
mov r15d, eax
mov edx, 0x3dc7e2f1
and r15d, edx
or r15d, ebp
mov ebp, r15d
xor ebp, 0x42181508
xor r15d, edx
and ebp, 0x5258b5f8
mov edi, r15d
and edi, 0xada74a07
or edi, ebp
xor edi, 0x7cce462f
and r15d, 0x2e96f3d7
or r15d, edi
mov r12d, r15d
xor r12d, r9d
and eax, 0xe507ab4c
and r13d, 0x1af854b3
or r13d, eax
mov eax, r13d
xor eax, 0x10680420
and eax, 0xd1690c28
xor r13d, 0xcb91589b
or r13d, eax
mov eax, r13d
xor eax, r9d
and eax, r10d
mov edx, 0xd72a9412
and r13d, edx
or r13d, eax
mov ebp, r13d
xor ebp, edx
mov edi, r15d
xor edi, r11d
and edi, r15d
mov edx, r15d
or edx, 0x7c809b7c
mov eax, edi
xor eax, r9d
mov ebx, eax
mov esi, 0x7d2ee198
and ebx, esi
and edi, 0x82d11e67
or edi, ebx
or eax, edx
and edx, esi
mov ebx, r12d
and ebx, 0x82510403
or ebx, edx
mov r8d, r13d
xor r8d, r10d
xor r13d, 0xabaa0f6e
and r13d, r8d
xor ebx, edi
mov edi, ebp
and edi, r11d
xor eax, r9d
or eax, ebx
mov edx, r13d
and edx, edi
xor edi, r13d
or edi, edx
mov edx, eax
xor edx, r9d
and edx, edi
xor edi, r9d
and edi, eax
or edi, edx
mov eax, r12d
mov edx, 0x19c3e3be
and eax, edx
mov ebx, 0xe63c1c41
and r15d, ebx
or r15d, eax
or r12d, ebp
and ebp, edx
and r8d, ebx
or r8d, ebp
xor r8d, r15d
xor r12d, r9d
or r12d, r8d
mov eax, r12d
xor eax, r9d
mov esi, 0xfc128561
and eax, esi
and r12d, 0x3ed7a9e
or r12d, eax
mov ebp, edi
xor ebp, r9d
mov eax, ebp
mov edx, 0xa3d171de
and eax, edx
mov ebx, 0x5c2e8e21
and edi, ebx
or edi, eax
mov eax, r12d
xor eax, 0x2c0a00
xor r12d, esi
or ebp, r12d
and r12d, edx
and eax, ebx
or eax, r12d
xor eax, edi
xor ebp, r9d
or ebp, eax
mov eax, ebp
xor eax, r9d
mov edx, ebp
or edx, 0x20048a83
mov ebx, eax
mov edi, 0x304caea7
and edx, edi
and eax, 0x87921158
or eax, edx
or ebx, 0x10482424
and ebx, edi
and ebp, 0x48214000
or ebp, ebx
xor ebp, eax
mov dword [rsp + r14*4 + 0x28], ebp
movabs rdx, 0x81ad467d27f4c7bb
movabs rbp, 0x225d7f0d01818569
lea rax, [rdx + rbp]
sub rdx, rax
movabs rax, 0xb28f029f7e852481
sub rcx, rax
movabs rbx, 0x1547a994c8f251b8
sub rcx, rbx
add rcx, rax
movabs rax, 0xad41fc22ad4dca58
add rcx, rax
add rcx, rbp
sub rcx, rax
add rcx, rbx
movabs rax, 0x8e6c3cf4c04ea02b
add rcx, rax
add rdx, rcx
sub rdx, rax
inc rdx
inc r14
mov rcx, rdx
cmp r14, 4
jne 0x140019ac0
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xb
call fcn.140014dfa
mov ecx, 0xa
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020058], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x4c1ccda3
mov dword [rcx + 4], 0x4c1c97a1
mov dword [rcx + 8], 0x2078b9a1
cmp byte [rcx - 4], al
jne 0x140019f1e
mov ebx, 1
xor r14d, r14d
mov r15d, 0xffffffff
mov r13d, 0xd46dc37b
mov r8d, 0x2da7816b
mov eax, dword [rsp + rbx*4 + 0x28]
mov r12d, eax
xor r12d, r15d
mov ebp, eax
or ebp, 0x32533908
mov esi, r12d
or esi, 0xcdacc6f7
xor esi, ebp
mov ebp, esi
xor ebp, r15d
and ebp, 0xc9bd4497
and esi, 0x3642bb68
or esi, ebp
mov ebp, esi
xor ebp, 0x23420897
xor esi, 0x108060
and esi, 0xd8bcf568
mov edx, 0x27430a97
and ebp, edx
or ebp, esi
mov r9d, ebp
xor r9d, edx
xor ebp, 0x1008f148
and ebp, 0x3109f14f
mov esi, r9d
and esi, 0xcef60eb0
or esi, ebp
xor esi, 0xee8eb77d
and r9d, 0xdf874632
or r9d, esi
mov ebp, r9d
xor ebp, r15d
mov edx, 0x31e9685c
and ebp, edx
and r9d, 0xce1697a3
or r9d, ebp
mov esi, r9d
xor esi, 0x8040000
mov ebp, r12d
and ebp, 0xcac15dad
and eax, 0x353ea252
or eax, ebp
xor eax, 0xeab9e460
xor r12d, eax
and r12d, eax
xor r9d, edx
mov eax, r9d
and eax, 0xf7da9fa7
mov edi, 0x8256058
and esi, edi
or esi, eax
mov r11d, esi
mov r10d, r12d
mov eax, r12d
xor eax, r13d
and eax, r12d
xor r12d, r15d
and r12d, 0xd2587e94
and r10d, r8d
or r10d, r12d
mov ebp, r10d
xor esi, 0xd4488323
mov edx, 0x2b923c84
or esi, edx
or r9d, r13d
xor r9d, esi
mov esi, r10d
xor esi, 0xd0484210
or esi, edx
xor r10d, 0x4010142
mov edx, esi
mov ecx, 0xc17eaead
and edx, ecx
and r10d, 0x14014152
or r10d, edx
mov edx, eax
xor edx, r15d
or esi, edx
and edx, ecx
and eax, 0x3e815152
or eax, edx
xor eax, r10d
xor esi, r15d
or esi, eax
mov eax, r9d
xor eax, r15d
mov ecx, 0x2f17da8e
and eax, ecx
mov edx, 0xd0e82571
and r9d, edx
or r9d, eax
mov eax, esi
xor eax, r15d
and eax, ecx
and esi, edx
or esi, eax
xor r11d, edi
xor ebp, r8d
xor esi, r9d
mov eax, r11d
and eax, ebp
xor ebp, r11d
or ebp, eax
mov eax, esi
xor eax, r15d
mov edx, eax
mov ecx, 0xcf7b86fc
and edx, ecx
mov edi, 0x30847903
and esi, edi
or esi, edx
mov edx, ebp
xor edx, r15d
or eax, ebp
and ebp, ecx
and edx, edi
or edx, ebp
xor edx, esi
xor eax, r15d
or eax, edx
mov dword [rsp + rbx*4 + 0x28], eax
movabs rdx, 0xd9b0dc463d9bc983
mov rax, rdx
sub rax, r14
sub rax, rdx
movabs rcx, 0x5b512aa70053d907
add rax, rcx
neg rax
lea r14, [rcx + rax]
inc r14
inc rbx
cmp rbx, 4
jne 0x140019d47
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xa
call fcn.140014dfa
mov ecx, 0xc
call fcn.140015329
mov qword [0x140020060], rax
xor ecx, ecx
lea rdx, [rsp + 0x2c]
mov byte [rdx - 4], cl
mov dword [rdx], 0x398b29cf
mov dword [rdx + 4], 0x7bdc72d0
mov dword [rdx + 8], 0x55822dd8
cmp byte [rdx - 4], cl
jne 0x14001a061
movabs rsi, 0x7a5d5adcd3186d1d
movabs rdi, 0x5a66e712fad19413
mov r15d, 1
movabs rbx, 0xd8b3bdb46012512
xor r12d, r12d
mov r14d, 0xffffffff
mov r8d, 0x9a2a1c9f
mov r9d, 0x65d5e360
mov r10d, 0xaa11be43
mov r11, rbx
sub r11, rsi
sub r11, rbx
sub r11, rdi
add r11, rsi
add r11, rdi
sub r12, r11
mov r13d, dword [rsp + r15*4 + 0x28]
mov ecx, r13d
xor ecx, r14d
mov edi, ecx
and edi, r13d
mov ebp, edi
xor ebp, r14d
mov esi, r13d
and esi, r8d
mov ebx, ecx
and ebx, r9d
or ebx, esi
mov esi, r13d
or esi, ebp
and ebp, r8d
and edi, r9d
or edi, ebp
xor edi, ebx
xor esi, r14d
or esi, edi
mov edi, esi
xor edi, r14d
and edi, 0xa65cb30e
and esi, 0x59a34cf1
or esi, edi
mov edi, esi
xor edi, 0x8010c41
and edi, r10d
xor esi, 0xf3b2f2b2
or esi, edi
mov edi, esi
xor edi, r14d
mov ebx, ecx
and ebx, 0x55ee41bc
and r13d, r10d
or r13d, ebx
xor ecx, r13d
and ecx, r13d
mov ebx, ecx
xor ebx, r14d
and ecx, esi
or esi, ebx
xor esi, r14d
and ebx, edi
or ebx, ecx
mov ecx, esi
and ecx, ebx
xor ebx, esi
or ebx, ecx
mov dword [rsp + r15*4 + 0x28], ebx
inc r12
inc r15
cmp r15, 4
jne 0x140019fbc
mov rcx, rax
mov r8d, 0xc
call fcn.140014dfa
mov ecx, 0xc
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020068], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x7d64efc6
mov dword [rcx + 4], 0x232faed1
mov dword [rcx + 8], 0xd71f1c1
cmp byte [rcx - 4], al
jne 0x14001a1cb
movabs r9, 0x1462764682b4aea6
movabs r10, 0x1032ffb248c8ab09
mov edi, 1
xor esi, esi
mov ecx, 0xffffffff
mov r11d, 0xbccbc604
mov r14d, 0xa96f7fd6
mov r15d, 0x56908029
mov r12d, 0xf9a0e84
mov r13d, 0xf065f17b
mov r8d, dword [rsp + rdi*4 + 0x28]
mov ebp, r8d
xor ebp, ecx
mov ebx, ebp
and ebx, r8d
mov eax, ebp
and eax, ebx
xor ebx, ebp
or ebx, eax
mov eax, ebx
xor eax, ecx
and eax, 0x18e3f5de
and ebx, 0xe71c0a21
or ebx, eax
mov eax, ebx
xor eax, 0xe2000200
and eax, 0xf2e2625a
xor ebx, 0x15fe687b
or ebx, eax
mov eax, ebx
xor eax, ecx
and eax, 0x433439fb
and ebx, r11d
or ebx, eax
and r8d, 0x84358a93
mov eax, ebp
and eax, 0x7bca756c
or eax, r8d
mov edx, ebx
xor edx, r11d
xor ebx, 0x12439d2
xor eax, 0x89281736
and ebp, 0xd1d9da5
or ebp, eax
mov eax, edx
xor eax, ebp
and eax, edx
and ebx, r14d
and edx, r15d
or edx, ebx
mov ebx, ebp
xor ebx, ecx
and ebp, r14d
and ebx, r15d
or ebx, ebp
xor ebx, edx
mov edx, eax
xor edx, ecx
mov ebp, edx
and ebp, r12d
and eax, r13d
or eax, ebp
mov ebp, ebx
xor ebp, ecx
or edx, ebp
and ebp, r12d
and ebx, r13d
or ebx, ebp
xor ebx, eax
xor edx, ecx
or edx, ebx
mov dword [rsp + rdi*4 + 0x28], edx
movabs rax, 0xf0512dc91da485f0
sub rsi, rax
sub rsi, r10
add rsi, rax
add rsi, r9
add rsi, r10
sub rsi, r9
inc rsi
inc rdi
cmp rdi, 4
jne 0x14001a0ea
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xc
call fcn.140014dfa
mov ecx, 0xc
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020070], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x6434d3d0
mov dword [rcx + 4], 0x3d31cbc2
mov dword [rcx + 8], 0x1334d7c7
cmp byte [rcx - 4], al
jne 0x14001a35d
movabs r15, 0x8932d2ecb6a92268
movabs r12, 0x629ace86241faaa1
mov ebx, 1
xor edi, edi
mov esi, 0xffffffff
mov r13d, 0xe0466e8d
mov r11d, 0xeca7445c
mov r14d, 0xb171cb26
mov r8d, 0x4e8e34d9
mov eax, dword [rsp + rbx*4 + 0x28]
mov r10d, eax
xor r10d, esi
mov edx, eax
mov r9d, r10d
and r9d, 0x1358bba3
and eax, r11d
or eax, r9d
xor eax, esi
or eax, r10d
and r10d, 0x57e073ad
and edx, 0xa81f8c52
or edx, r10d
mov ebp, edx
xor ebp, 0xa0060c00
xor edx, 0x17a01120
and edx, 0x1fb99172
and ebp, r13d
or ebp, edx
mov edx, ebp
xor edx, r13d
xor ebp, 0x19a10022
and ebp, 0x79e342ae
mov ecx, edx
and ecx, 0x861cbd51
or ecx, ebp
xor ecx, 0x954406f2
and edx, r11d
or edx, ecx
mov ecx, edx
xor ecx, esi
mov ebp, edx
and edx, r14d
and ecx, r8d
or ecx, edx
mov edx, eax
xor edx, esi
or ebp, eax
and eax, r14d
and edx, r8d
or edx, eax
xor ebp, esi
xor edx, ecx
mov eax, ebp
and eax, edx
xor edx, ebp
or edx, eax
mov dword [rsp + rbx*4 + 0x28], edx
movabs rax, 0x9d66aae65b6b59e1
sub rdi, rax
add rdi, r12
add rdi, rax
movabs rax, 0xfa590753063c42ce
sub rdi, rax
sub rdi, r15
add rdi, rax
sub rdi, r12
movabs rcx, 0xc2c376c75ec6217d
add rdi, rcx
movabs rax, 0xc4c2288220d7ea6f
sub rdi, rax
sub rdi, rcx
movabs rcx, 0x8b2de4e35be1186e
add rdi, rcx
add rdi, rax
sub rdi, rcx
add rdi, r15
inc rdi
inc rbx
cmp rbx, 4
jne 0x14001a255
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xc
call fcn.140014dfa
mov ecx, 0xc
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020078], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x4ee8a322
mov dword [rcx + 4], 0x8f6be21
mov dword [rcx + 8], 0x26eaa631
cmp byte [rcx - 4], al
jne 0x14001a501
movabs r13, 0xfca2b15c2e5b5b78
mov r10d, 1
movabs rax, 0x227bada597b936
xor esi, esi
mov r9d, 0xffffffff
mov r11d, 0x2191242
mov r14d, 0xdb1
mov r15d, 0x43130b36
mov r12d, 0x15b3a61d
add rax, r13
sub r13, rax
mov ebx, dword [rsp + r10*4 + 0x28]
mov eax, ebx
xor eax, r9d
mov edx, eax
and edx, ebx
mov ecx, edx
xor ecx, r9d
mov ebp, ebx
and ebp, r11d
mov edi, eax
and edi, r14d
or edi, ebp
mov ebp, ebx
or ebp, ecx
and ecx, r11d
and edx, r14d
or edx, ecx
xor edx, edi
xor ebp, r9d
or ebp, edx
mov r8d, ebp
xor r8d, r9d
or r8d, 0xfde6e00c
and eax, 0x1354a1ec
and ebx, 0xecab5e13
or ebx, eax
mov eax, ebx
xor eax, 0x91e13
and eax, 0x2191ff3
xor ebx, 0xeeb241e0
or ebx, eax
mov eax, ebx
xor eax, r9d
and eax, r15d
and ebx, 0xbcecf4c9
or ebx, eax
mov eax, r8d
and r8d, r12d
and ebp, 0x20819e2
or ebp, r8d
mov ecx, ebx
xor ecx, 0xa84c50c0
xor ebx, r15d
or eax, ebx
and ebx, r12d
and ecx, 0xea4c59e2
or ecx, ebx
xor eax, r9d
xor ecx, ebp
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
xor eax, r9d
or ecx, 0xdcf72675
or eax, 0x2308d98a
xor eax, ecx
mov ecx, eax
xor ecx, r9d
and ecx, 0x93df2a6d
and eax, 0x6c20d592
or eax, ecx
xor eax, 0x94482641
mov dword [rsp + r10*4 + 0x28], eax
movabs rax, 0x6810d3c8167eb023
sub rsi, rax
movabs rcx, 0x227bada597b936
add rsi, rcx
add rsi, rax
movabs rax, 0xffea2e55e2b780fa
add rsi, rax
add rsi, r13
sub rsi, rax
inc rsi
inc r10
cmp r10, 4
jne 0x14001a3ef
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xc
call fcn.140014dfa
mov ecx, 0xd
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020080], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x3a39f71d
mov dword [rcx + 4], 0x697efb03
mov dword [rcx + 8], 0x3721f65d
mov dword [rcx + 0xc], 0x5b4d9273
cmp byte [rcx - 4], al
jne 0x14001a695
xor ecx, ecx
mov r12d, 0xffffffff
mov r13d, 0xa80a4aff
mov r15d, 0xf6569a8
mov eax, dword [rsp + rcx*4 + 0x2c]
mov r14d, eax
xor r14d, r12d
mov edx, eax
and edx, 0x634f762b
mov ebx, r14d
and ebx, 0x9cb089d4
or ebx, edx
mov edx, ebx
xor edx, 0x84b00984
mov esi, 0xa4b26d8c
and edx, esi
xor ebx, 0x3802e458
or ebx, edx
mov edi, ebx
xor edi, r12d
mov edx, r14d
and edx, 0x5b4d9273
and eax, esi
or eax, edx
xor r14d, eax
and r14d, eax
mov eax, ebx
mov edx, 0xb6be28ed
and eax, edx
mov ebp, 0x9cfc0327
xor ebx, ebp
and ebx, edi
mov esi, 0x4941d712
and edi, esi
or edi, eax
mov r11d, edi
xor r11d, esi
mov r9d, r14d
xor r9d, r12d
xor edi, edx
mov r10d, edi
or r10d, ebp
mov eax, r10d
mov ebp, 0x747e2cc6
and eax, ebp
mov edx, r11d
and edx, 0x301d018
or edx, eax
mov eax, ebx
xor eax, r12d
or r10d, eax
and eax, ebp
and ebx, 0x8b81d339
or ebx, eax
mov r8d, r9d
mov esi, 0x6303fcd8
and r8d, esi
xor ebx, edx
mov eax, r14d
xor eax, esi
and eax, r14d
xor r10d, r12d
or r10d, ebx
mov edx, r8d
and edx, eax
xor eax, r8d
or eax, edx
mov edx, r10d
xor edx, r12d
and edx, eax
xor eax, r12d
and eax, r10d
or eax, edx
mov edx, edi
mov ebp, 0x57f5b500
and edx, ebp
and r11d, r13d
or r11d, edx
or edi, r14d
and r14d, ebp
and r9d, r13d
or r9d, r14d
xor r9d, r11d
xor edi, r12d
or edi, r9d
mov edx, edi
xor edx, r12d
and edx, 0xf09a9657
and edi, r15d
or edi, edx
xor edi, r15d
mov edx, eax
and edx, edi
xor edi, eax
or edi, edx
mov dword [rsp + rcx*4 + 0x2c], edi
inc rcx
cmp rcx, 4
jne 0x14001a56e
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xd
call fcn.140014dfa
mov ecx, 0xb
call fcn.140015329
mov qword [rsp + 0x40], rax
mov qword [0x140020088], rax
xor eax, eax
lea rcx, [rsp + 0x2c]
mov byte [rcx - 4], al
mov dword [rcx], 0x38bbdf67
mov dword [rcx + 4], 0x25e7c875
mov dword [rcx + 8], 0x41c9d069
cmp byte [rcx - 4], al
jne 0x14001a8da
mov ecx, 1
xor r10d, r10d
mov ebp, 0xffffffff
mov r8d, 0xc3afe837
mov r12d, dword [rsp + rcx*4 + 0x28]
mov ebx, r12d
xor ebx, ebp
mov esi, ebx
and esi, 0x802c4491
mov r9d, r12d
mov eax, 0x5820022
and r9d, eax
or r9d, esi
xor r9d, eax
mov esi, r12d
mov edx, 0x85ae44b3
xor esi, edx
and esi, r12d
mov eax, r9d
and eax, esi
xor r9d, esi
or r9d, eax
xor esi, ebp
and esi, 0x7a51bb4c
and r9d, edx
or r9d, esi
mov eax, r9d
xor eax, ebp
and eax, 0x76eb7ef0
and r9d, 0x8914810f
or r9d, eax
mov eax, r9d
xor eax, 0x900810d
mov edi, 0x7940bdbd
and eax, edi
xor r9d, 0x6ab4240
mov edx, 0x86bf4242
and r9d, edx
or r9d, eax
mov r14d, r9d
xor r14d, ebp
mov r13d, r14d
or r13d, edi
and ebx, edx
xor r12d, edi
or r12d, ebx
mov r11d, r12d
xor r11d, ebp
and r12d, r8d
mov r15d, r11d
mov edx, 0x3c5017c8
and r15d, edx
or r15d, r12d
mov eax, r13d
mov edi, 0xb6c6c3c5
xor eax, edi
and eax, r13d
mov ebx, eax
xor ebx, ebp
mov esi, ebx
and esi, 0x16784305
and eax, 0xc987007a
or eax, esi
or r14d, 0x7979bdbf
or ebx, r14d
and r14d, 0x16787f05
and r9d, 0x80860040
or r9d, r14d
mov esi, r15d
xor esi, edx
xor r9d, eax
mov eax, r15d
xor eax, 0x8a96d40d
and eax, esi
and r11d, edi
xor ebx, ebp
or ebx, r9d
mov edx, eax
and edx, r11d
xor r11d, eax
or r11d, edx
mov eax, ebx
xor eax, ebp
and eax, r11d
xor r11d, ebp
and r11d, ebx
mov ebx, r13d
xor ebx, ebp
or r11d, eax
mov eax, ebx
and eax, 0x244202
mov edx, 0xd79b85dd
and r13d, edx
or r13d, eax
xor r15d, r8d
or ebx, r15d
and r15d, 0x28647a22
and esi, edx
or esi, r15d
xor esi, r13d
xor ebx, ebp
or ebx, esi
xor ebx, ebp
mov eax, r11d
and eax, ebx
xor ebx, r11d
or ebx, eax
mov eax, ebx
xor eax, ebp
and eax, 0xc776fe47
and ebx, 0x388901b8
or ebx, eax
mov dword [rsp + rcx*4 + 0x28], ebx
movabs rdx, 0x6ba6ac85513123b0
mov rax, rdx
sub rax, r10
sub rax, rdx
movabs rdx, 0xf5c1761218414e6c
add rax, rdx
movabs rbx, 0x4755562fc2288c66
add rax, rbx
sub rdx, rax
add rdx, rbx
movabs rax, 0xae28902adaf909c4
mov r10, rax
movabs rbx, 0x83df856c7249f610
sub r10, rbx
add r10, rdx
add r10, rbx
movabs rdx, 0x6707c5020b6a399e
add r10, rdx
sub r10, rax
sub r10, rdx
inc r10
inc rcx
cmp rcx, 4
jne 0x14001a6fa
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x2c]
mov r8d, 0xb
call fcn.140014dfa
mov ecx, 0xc
call fcn.140015329
mov qword [0x140020090], rax
xor ecx, ecx
lea rdx, [rsp + 0x2c]
mov byte [rdx - 4], cl
mov dword [rdx], 0x51339f36
mov dword [rdx + 4], 0xd208226
mov dword [rdx + 8], 0x233a8027
cmp byte [rdx - 4], cl
jne 0x14001aa1a
movabs r9, 0xcfcecf157c902547
movabs r8, 0x626e1ba4bd1fac2e
mov r13d, 1
movabs rcx, 0x4bfd8c9f980d7c04
xor edi, edi
mov r15d, 0xffffffff
mov r10d, 0x92eb0aec
mov r11d, 0x21124440
mov r14, rcx
sub r14, r8
sub r14, rcx
mov ebp, dword [rsp + r13*4 + 0x28]
mov r12d, ebp
xor r12d, r15d
mov ecx, ebp
xor ecx, r10d
mov esi, ecx
and esi, ebp
mov ebx, ecx
and ebx, esi
xor ecx, esi
or ecx, ebx
xor esi, r15d
and esi, 0x6d14f513
and ecx, r10d
or ecx, esi
mov esi, ecx
xor esi, r15d
and esi, 0xc5648b38
and ecx, 0x3a9b74c7
or ecx, esi
mov esi, ecx
xor esi, 0x20124440
xor ecx, 0x448800
and ecx, 0x244a803
and esi, r11d
or esi, ecx
mov ecx, esi
xor ecx, r11d
xor esi, 0xdeedbbbf
mov ebx, r12d
and ebx, 0x2356ec43
and ebp, 0xdca913bc
or ebp, ebx
xor ebp, r15d
or ebp, r12d
mov ebx, ebp
xor ebx, r15d
and ebx, esi
mov esi, ecx
xor esi, ebp
and esi, ecx
and ebp, ecx
or ebp, ebx
mov ecx, esi
and ecx, ebp
xor ebp, esi
or ebp, ecx
mov dword [rsp + r13*4 + 0x28], ebp
sub rdi, r9
add rdi, r14
add rdi, r9
add rdi, r8
inc rdi
inc r13
cmp r13, 4
jne 0x14001a968
mov rcx, rax
mov r8d, 0xc
call fcn.140014dfa
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret