Function at 0x14000ab55
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3a8
mov r13, r9
mov rdi, rcx
mov byte [rsp + 0x42], r8b
test r8b, r8b
mov eax, 0xbc4a1a49
mov r15d, 0x21a72bcf
cmovne r15d, eax
cmp edx, 0xffffffff
mov r12d, 0x9a906e0c
mov r14d, 0x3f409b9a
cmovne r12d, r14d
cmp edx, 3
mov eax, 0xfdfe82b9
cmove r14d, eax
mov ecx, 0xbd8d2c75
mov esi, 0x77c3aeec
cmovl esi, ecx
cmp edx, 2
mov ecx, 0xa0690b5
cmovl ecx, eax
mov dword [rsp + 0x174], ecx
test edx, edx
mov eax, 0x65ee6595
mov ecx, 0x3e477728
cmove ecx, eax
mov dword [rsp + 0x170], ecx
mov eax, 0xf359256e
mov ecx, 0x318dad64
cmovs ecx, eax
mov dword [rsp + 0x17c], ecx
mov eax, 0xa846e07a
mov ecx, 0x36b95eff
cmovle ecx, eax
mov dword [rsp + 0x178], ecx
lea rax, [rdi + 0xc]
mov qword [rsp + 0x108], rax
lea rax, [rdi + 0x218]
mov qword [rsp + 0x1a0], rax
lea rax, [rdi + 0x10]
mov qword [rsp + 0x198], rax
lea rax, [rdi + 0x240]
mov qword [rsp + 0x190], rax
lea rax, [rdi + 0x238]
mov qword [rsp + 0x188], rax
lea rax, [rdi + 0x24c]
mov qword [rsp + 0x100], rax
lea rax, [rdi + 0x248]
mov qword [rsp + 0x180], rax
lea rax, [rdi + 0x254]
mov qword [rsp + 0xd0], rax
lea rax, [rdi + 8]
mov qword [rsp + 0xc8], rax
lea rax, [rdi + 0x259]
mov qword [rsp + 0x200], rax
lea rax, [rdi + 0x258]
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
mov eax, 0xcce49aa5
mov ecx, eax
cmp eax, 0xe907191e
jg 0x14000ad54
cmp ecx, 0xc5baf56a
jg 0x14000adbe
cmp ecx, 0xad7aacbb
jg 0x14000ae8f
cmp ecx, 0x9a906e0b
jle 0x14000b034
cmp ecx, 0xa846e079
jg 0x14000b2b2
cmp ecx, 0x9a906e0c
je 0x14000bb0a
cmp ecx, 0x9ec970b4
je 0x14000bb43
mov eax, ecx
cmp ecx, 0xa6e7fe44
jne 0x14000acba
mov rax, qword [rsp + 0xc8]
mov dword [rax], 0
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x1b8]
cmp byte [rax], 0
mov eax, 0x2306869e
mov ecx, 0xdab11ff4
cmove eax, ecx
jmp 0x14000acba
cmp ecx, 0x36b95efe
jg 0x14000ae3b
cmp ecx, 0x15fc4a9e
jg 0x14000af01
cmp ecx, 0x81e955a
jle 0x14000b09f
cmp ecx, 0xb8ffd22
jg 0x14000b324
cmp ecx, 0x81e955b
je 0x14000bb92
mov eax, esi
cmp ecx, 0xa0690b5
je 0x14000acba
mov eax, ecx
cmp ecx, 0xaaf79cf
jne 0x14000acba
mov dword [rsp + 0x5c], 0
mov eax, 0x1f12c607
jmp 0x14000acba
cmp ecx, 0xd62f44f3
jg 0x14000af59
cmp ecx, 0xcce49aa4
jle 0x14000b0dc
cmp ecx, 0xd3e85bbd
jg 0x14000b35f
mov eax, dword [rsp + 0x178]
cmp ecx, 0xcce49aa5
je 0x14000acba
cmp ecx, 0xcd5e0cff
je 0x14000bbc9
mov eax, ecx
cmp ecx, 0xcfc690af
jne 0x14000acba
movsxd rax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0xe0]
mov cl, byte [rcx + rax]
mov byte [rsp + rax + 0x55], cl
mov eax, dword [rsp + 0x64]
inc eax
mov qword [rsp + 0xf0], rax
mov eax, 0x15fc4a9f
jmp 0x14000acba
cmp ecx, 0x5e5d785e
jg 0x14000afc2
cmp ecx, 0x44a073eb
jle 0x14000b123
cmp ecx, 0x50b56f78
jg 0x14000b3c9
cmp ecx, 0x44a073ec
je 0x14000bbf2
cmp ecx, 0x47479460
je 0x14000bc04
mov eax, ecx
cmp ecx, 0x47e3dd46
jne 0x14000acba
mov eax, 0x4292ed09
jmp 0x14000acba
cmp ecx, 0xbbdb5c3f
jle 0x14000b18c
cmp ecx, 0xbce82f6f
jg 0x14000b413
cmp ecx, 0xbbdb5c40
je 0x14000bc19
cmp ecx, 0xbc0c48a7
je 0x14000bc29
mov eax, ecx
cmp ecx, 0xbc4a1a49
jne 0x14000acba
mov rdx, qword [rsp + 0xc8]
mov eax, dword [rdx]
lea ecx, [rax + 1]
mov dword [rdx], ecx
cmp eax, 2
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x90], rax
mov eax, 0x903da8e2
mov ecx, 0x2c847d48
cmovl eax, ecx
jmp 0x14000acba
cmp ecx, 0x27a7330b
jle 0x14000b1d9
cmp ecx, 0x2c847d47
jg 0x14000b44e
cmp ecx, 0x27a7330c
je 0x14000bc6e
cmp ecx, 0x2ade3d46
je 0x14000bc95
mov eax, ecx
cmp ecx, 0x2c5b84d1
jne 0x14000acba
mov rax, qword [rsp + 0x78]
cmp dword [rax], 3
mov eax, 0xcbc0739c
mov ecx, 0xac17b02c
cmove eax, ecx
jmp 0x14000acba
cmp ecx, 0xe1e8d27d
jle 0x14000b210
cmp ecx, 0xe56c0e9e
jg 0x14000b4d3
cmp ecx, 0xe1e8d27e
je 0x14000bca6
cmp ecx, 0xe31c0f28
je 0x14000bcef
mov eax, ecx
cmp ecx, 0xe4d6959b
jne 0x14000acba
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x138]
mov ecx, dword [rsp + 0x68]
cmp ecx, dword [rax]
mov eax, 0x47e3dd46
mov ecx, 0xe56c0e9f
cmovb eax, ecx
jmp 0x14000acba
cmp ecx, 0x77c3aeeb
jle 0x14000b27b
cmp ecx, 0x7d44333f
jle 0x14000b514
cmp ecx, 0x7d443340
je 0x14000c41b
mov eax, ecx
cmp ecx, 0x7e65531c
jne 0x14000acba
mov rax, qword [rdi + 0x220]
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x148]
movzx edx, word [rsp + 0x46]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xc4]
inc eax
mov dword [rsp + 0xa4], eax
mov eax, 0x9ec970b4
jmp 0x14000acba
cmp ecx, 0x878be2c0
jle 0x14000b833
cmp ecx, 0x878be2c1
je 0x14000bd32
cmp ecx, 0x8a59e5f9
je 0x14000bd3a
mov eax, ecx
cmp ecx, 0x903da8e2
jne 0x14000acba
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
add eax, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x60]
mov dword [rax], ecx
mov eax, dword [rsp + 0x60]
cmp eax, 0x1b7740
mov eax, 0xecb6c479
mov ecx, 0xb997c5ef
cmovg eax, ecx
jmp 0x14000acba
cmp ecx, 0xf359256d
jle 0x14000b89c
mov eax, r12d
cmp ecx, 0xf359256e
je 0x14000acba
cmp ecx, 0xf9496b3c
je 0x14000bd97
mov eax, ecx
cmp ecx, 0xfdfe82b9
jne 0x14000acba
mov eax, r15d
jmp 0x14000acba
cmp ecx, 0xcb7e2704
jle 0x14000b8d8
cmp ecx, 0xcb7e2705
je 0x14000bdb9
cmp ecx, 0xcbc0739c
je 0x14000bde4
mov eax, ecx
cmp ecx, 0xcc07b51b
jne 0x14000acba
mov eax, 0x8a59e5f9
mov dword [rsp + 0xac], 0
jmp 0x14000acba
cmp ecx, 0x3f409b99
jle 0x14000b8f7
cmp ecx, 0x3f409b9a
je 0x14000c2bf
cmp ecx, 0x40ed406e
je 0x14000be04
mov eax, ecx
cmp ecx, 0x4292ed09
jne 0x14000acba
mov ecx, 0x21c0
call fcn.140015329
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x208], rax
mov eax, 0xcb7e2705
mov dword [rsp + 0x98], 0
jmp 0x14000acba
cmp ecx, 0xb49d8f34
jle 0x14000b985
cmp ecx, 0xb49d8f35
je 0x14000be2f
cmp ecx, 0xb95d50f5
je 0x14000be8d
mov eax, ecx
cmp ecx, 0xb997c5ef
jne 0x14000acba
mov eax, dword [rsp + 0x60]
cmp eax, 0x36ee80
mov eax, 0xecb6c479
mov ecx, 0x5e5d785f
cmovl eax, ecx
jmp 0x14000acba
cmp ecx, 0x21a72bce
jle 0x14000b9bf
cmp ecx, 0x21a72bcf
je 0x14000bec3
cmp ecx, 0x21ace5b3
je 0x14000bee0
mov eax, ecx
cmp ecx, 0x2306869e
jne 0x14000acba
jmp 0x14000bdfa
cmp ecx, 0xd88c1e97
jle 0x14000ba75
cmp ecx, 0xd88c1e98
je 0x14000beff
cmp ecx, 0xdab11ff4
je 0x14000bf3c
mov eax, ecx
cmp ecx, 0xdcbfe15b
jne 0x14000acba
call fcn.1400144ba
movsxd rdx, eax
imul rax, rdx, 0xfffffffff2b9d649
shr rax, 0x20
add eax, edx
mov ecx, eax
shr ecx, 0x1f
sar eax, 0xb
add eax, ecx
imul eax, eax, 0x870
sub edx, eax
mov qword [rsp + 0xe8], rdx
mov eax, 0xbce82f70
jmp 0x14000acba
cmp ecx, 0x64cc458f
jle 0x14000baaf
cmp ecx, 0x64cc4590
je 0x14000bf77
cmp ecx, 0x65ee6595
je 0x14000c351
mov eax, ecx
cmp ecx, 0x6ed81c03
jne 0x14000acba
jmp 0x14000beb3
mov eax, dword [rsp + 0x17c]
cmp ecx, 0xa846e07a
je 0x14000acba
cmp ecx, 0xac17b02c
je 0x14000c042
mov eax, ecx
cmp ecx, 0xac6b624b
jne 0x14000acba
mov rax, qword [rsp + 0x78]
mov dword [rax], 2
mov rax, qword [rsp + 0xd8]
mov dword [rax], 0
mov ebx, dword [rdi + 0x250]
xor ecx, ecx
mov edx, 1
mov r8d, 0x7e1a74f1
mov r9d, 0x2f
call fcn.14001939f
mov ecx, ebx
call rax
mov eax, 0x82dbf0a0
jmp 0x14000acba
cmp ecx, 0xb8ffd23
je 0x14000c06f
cmp ecx, 0x103f91e9
je 0x14000c0c5
mov eax, ecx
cmp ecx, 0x14fa633b
jne 0x14000acba
mov dword [rsp + 0xa4], 0
mov eax, 0x9ec970b4
jmp 0x14000acba
cmp ecx, 0xd3e85bbe
je 0x14000c0ec
cmp ecx, 0xd46ea83a
je 0x14000c171
mov eax, ecx
cmp ecx, 0xd5a8cacc
jne 0x14000acba
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x1a0]
cmp eax, dword [rcx]
mov eax, 0xac6b624b
mov ecx, 0xe5e3e82b
cmovb eax, ecx
jmp 0x14000acba
cmp ecx, 0x50b56f79
je 0x14000c228
cmp ecx, 0x553b6c5d
je 0x14000c3f6
mov eax, ecx
cmp ecx, 0x56a64602
jne 0x14000acba
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
cmp eax, 4
mov eax, 0x78868063
mov ecx, 0x81e955b
cmovl eax, ecx
jmp 0x14000acba
cmp ecx, 0xbce82f70
je 0x14000c242
cmp ecx, 0xbd8d2c75
je 0x14000c284
mov eax, ecx
cmp ecx, 0xc03c4380
jne 0x14000acba
mov dword [rsp + 0xb0], 0x13
mov eax, 0xf9496b3c
jmp 0x14000acba
cmp ecx, 0x2c847d48
je 0x14000c2b1
cmp ecx, 0x318dad64
je 0x14000c2cb
mov eax, ecx
cmp ecx, 0x33093333
jne 0x14000acba
mov rax, qword [rdi + 0x220]
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x148]
mov word [rax + rcx*2], 0
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0xbc]
inc eax
mov rcx, qword [rsp + 0x80]
mov dword [rcx], eax
cmp eax, dword [rdi + 0x21c]
mov eax, 0xe6c5ddc1
mov ecx, 0x6ed81c03
cmovb eax, ecx
jmp 0x14000acba
cmp ecx, 0xe56c0e9f
je 0x14000c2f5
cmp ecx, 0xe5e3e82b
je 0x14000c326
mov eax, ecx
cmp ecx, 0xe6c5ddc1
jne 0x14000acba
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0xbc]
mov dword [rax], ecx
mov eax, 0x6ed81c03
jmp 0x14000acba
mov eax, r14d
cmp ecx, 0x77c3aeec
je 0x14000acba
mov eax, ecx
cmp ecx, 0x78868063
jne 0x14000acba
mov dword [rsp + 0x15c], ebp
mov qword [rsp + 0x1f0], rdi
mov dword [rsp + 0x160], esi
mov dword [rsp + 0x164], r14d
mov dword [rsp + 0x168], r12d
mov dword [rsp + 0x16c], r15d
mov qword [rsp + 0x1f8], r13
xor esi, esi
mov byte [rsp + 0x8f], sil
lea rcx, [rsp + 0x8b]
call fcn.1400144fd
add eax, 0xffffffee
mov dword [rsp + 0x158], eax
lea rcx, [rsp + 0x55]
call fcn.1400144fd
mov ecx, 0xc
sub ecx, eax
mov dword [rsp + 0x154], ecx
mov byte [rsp + 0x210], sil
mov dword [rsp + 0x214], 0x1c4aeb65
mov dword [rsp + 0x218], 0x7878a165
cmp byte [rsp + 0x210], sil
mov ecx, 0x7d46fc92
mov edi, 0xb95df008
mov r11d, 0x9d03dc0c
mov r14d, 0x6fa7498d
mov r15d, 0x9058b672
mov r12d, 0xffffffff
mov r10d, 0xc9e4ddae
mov r8d, 0xbe1b18e9
jne 0x14000b792
xor r9d, r9d
mov ebx, dword [rsp + r9*4 + 0x214]
mov eax, ebx
xor eax, r12d
mov edx, ebx
xor edx, ecx
and edx, ebx
mov ebp, ebx
or ebp, 0x80190008
mov esi, edx
xor esi, r12d
and ebp, edi
mov r13d, 0x7d46fc92
mov ecx, eax
and ecx, 0x44020c92
or ecx, ebp
mov ebp, 0xb95df008
mov edi, ebx
or edi, esi
and esi, ebp
and edx, 0x46a20ff7
or edx, esi
xor edx, ecx
xor edi, r12d
or edi, edx
xor edx, r12d
and edx, 0x82b9036d
and edi, r13d
mov r13d, 0x41e4e716
or edi, edx
mov edx, edi
xor edx, r12d
and edi, 0x6ece9284
mov ecx, edx
and ecx, 0x91316d7b
or ecx, edi
xor ecx, 0xe949a83b
and edx, 0x87873abf
or edx, ecx
mov ecx, edx
xor ecx, r12d
and ecx, r13d
and edx, r8d
or edx, ecx
mov ebp, edx
xor ebp, r8d
mov esi, edx
xor esi, r13d
mov r13d, 0xddcbd238
and eax, 0xb08d895b
and ebx, 0x4f7276a4
or ebx, eax
mov eax, ebx
xor eax, 0x48704400
and eax, 0x7878c540
xor ebx, 0x370ab3e4
or ebx, eax
mov ecx, ebx
xor ecx, r12d
xor edx, 0x88003ab8
mov edi, edx
and edi, esi
and edx, ebp
mov ebp, ebx
xor ebp, r10d
and ebp, ecx
or ecx, r10d
mov eax, edi
and eax, edx
xor edx, edi
or edx, eax
mov eax, ecx
and eax, r13d
mov edi, ebx
and edi, 0x22102041
or edi, eax
mov eax, ebp
xor eax, r12d
or ecx, eax
and eax, r13d
mov r13d, 0x62413beb
and ebp, 0x22342dc7
or ebp, eax
xor ebp, edi
mov edi, 0xb95df008
xor ecx, r12d
or ecx, ebp
mov ebp, 0x9dbec414
mov eax, edx
xor eax, r12d
and eax, ebp
and edx, r13d
or edx, eax
mov eax, ecx
xor eax, r12d
and eax, ebp
and ecx, r13d
or ecx, eax
xor ecx, edx
mov eax, esi
and eax, ebx
xor ebx, esi
or ebx, eax
mov eax, ebx
xor eax, r12d
and eax, r11d
and ebx, 0x62fc23f3
or ebx, eax
mov eax, ecx
xor eax, r12d
mov edx, eax
and edx, r14d
and ecx, r15d
or ecx, edx
mov edx, ebx
xor edx, 0x582272
xor ebx, r11d
or eax, ebx
and ebx, r14d
and edx, r15d
or edx, ebx
xor edx, ecx
mov ecx, 0x7d46fc92
xor eax, r12d
or eax, edx
mov dword [rsp + r9*4 + 0x214], eax
test r9, r9
mov r9d, 1
je 0x14000b5fd
mov rcx, qword [rsp + 0x120]
lea rdx, [rsp + 0x214]
mov r8d, dword [rsp + 0x154]
mov r9d, dword [rsp + 0x158]
call fcn.14001aa39
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
mov dword [rax], 0x870
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
cmp qword [rax], 0
mov eax, 0x4292ed09
mov ecx, 0x27a7330c
cmove eax, ecx
mov r13, qword [rsp + 0x1f8]
mov r15d, dword [rsp + 0x16c]
mov r12d, dword [rsp + 0x168]
mov r14d, dword [rsp + 0x164]
mov esi, dword [rsp + 0x160]
mov rdi, qword [rsp + 0x1f0]
mov ebp, dword [rsp + 0x15c]
jmp 0x14000acba
cmp ecx, 0x82dbf0a0
je 0x14000c361
mov eax, ecx
cmp ecx, 0x8734bbdd
jne 0x14000acba
mov rax, qword [rsp + 0x78]
mov dword [rax], 1
mov rax, qword [rsp + 0x118]
mov dword [rax], 0
mov ebx, dword [rdi + 0x250]
xor ecx, ecx
mov edx, 1
mov r8d, 0x7e1a74f1
mov r9d, 0x2f
call fcn.14001939f
mov ecx, ebx
call rax
mov dword [rdi + 0x250], 0x1b7740
mov eax, 0xcbc0739c
jmp 0x14000acba
cmp ecx, 0xe907191f
je 0x14000c37b
mov eax, ecx
cmp ecx, 0xecb6c479
jne 0x14000acba
mov rax, qword [rsp + 0x90]
cmp dword [rax], 0x1b7740
mov eax, 0x2ade3d46
mov ecx, 0xd62f44f4
cmovg eax, ecx
xor ebp, ebp
jmp 0x14000acba
cmp ecx, 0xc5baf56b
je 0x14000c395
mov eax, ecx
cmp ecx, 0xc65d01fc
jne 0x14000acba
jmp 0x14000c3f6
mov eax, dword [rsp + 0x174]
cmp ecx, 0x36b95eff
je 0x14000acba
mov eax, ecx
cmp ecx, 0x3e477728
jne 0x14000acba
mov r8b, byte [rsp + 0x43]
mov ebx, r8d
mov r9b, 0xff
xor bl, r9b
mov edx, ebx
and dl, 0x20
mov ecx, r8d
and cl, 3
or dl, cl
xor dl, 2
or cl, 0xd4
mov eax, ebx
or al, 1
mov r10b, 0xd5
and cl, r10b
and dl, 0x22
or dl, cl
and al, r10b
mov ecx, r8d
and cl, 8
or cl, al
xor cl, dl
mov eax, ecx
xor al, r9b
and al, 0xfb
and cl, 4
or cl, al
mov eax, ecx
xor al, 0x26
xor cl, 0xd9
and bl, cl
and al, r8b
or al, bl
xor cl, al
test cl, al
mov eax, 0xa6e7fe44
mov ecx, 0xb95d50f5
cmove eax, ecx
jmp 0x14000acba
cmp ecx, 0xad7aacbc
je 0x14000c3f6
mov eax, ecx
cmp ecx, 0xb2929af9
jne 0x14000acba
mov rax, qword [rsp + 0x1e0]
mov qword [rdi], rax
mov eax, 0xe31c0f28
mov dword [rsp + 0xa8], 0
jmp 0x14000acba
cmp ecx, 0x15fc4a9f
je 0x14000c3b8
mov eax, ecx
cmp ecx, 0x1f12c607
jne 0x14000acba
mov eax, dword [rsp + 0x5c]
mov byte [rsp + 0x3a], al
mov al, byte [rsp + 0x3a]
mov ecx, eax
mov r9b, 0xff
xor cl, r9b
mov edx, ecx
mov bl, 0xa3
and dl, bl
and cl, al
and al, 0x5c
or al, dl
mov edx, eax
xor dl, 0x18
xor al, bl
mov ebx, ecx
xor bl, r9b
mov r8d, eax
mov r10b, 0x64
and r8b, r10b
mov r11b, 0x9b
and dl, r11b
or dl, r8b
or al, bl
and bl, r10b
and cl, r11b
or cl, bl
xor cl, dl
xor al, r9b
or al, cl
mov ecx, eax
xor cl, r9b
mov edx, eax
mov bl, 0xfe
and dl, bl
and cl, bl
and al, 1
or al, cl
mov ecx, edx
and cl, al
xor al, dl
or al, cl
mov ecx, eax
xor cl, r9b
and al, cl
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov ecx, eax
xor cl, r9b
and cl, 0xc1
mov dl, 0x3e
and al, dl
or al, cl
xor al, dl
cmp al, r9b
mov eax, 0xc03c4380
mov ecx, 0x47479460
cmove eax, ecx
jmp 0x14000acba
cmp ecx, 0xd62f44f4
je 0x14000c3dd
mov eax, ecx
cmp ecx, 0xd7145268
jne 0x14000acba
mov eax, dword [rsp + 0xb4]
inc eax
mov rcx, qword [rsp + 0x1a8]
mov dword [rcx], eax
mov rax, qword [rsp + 0x108]
jmp 0x14000c2b9
cmp ecx, 0x5e5d785f
je 0x14000c403
mov eax, ecx
cmp ecx, 0x60b6e096
jne 0x14000acba
mov rcx, qword [rsp + 0x1d0]
call fcn.14001519e
mov rcx, qword [rsp + 0x120]
call fcn.14001519e
mov rcx, qword [rsp + 0xe0]
call fcn.14001519e
mov rax, qword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
mov eax, 0xb49d8f35
jmp 0x14000acba
mov rax, qword [rsp + 0xf8]
mov byte [rax], 0
mov rax, qword [rsp + 0xc8]
xor ecx, ecx
mov dword [rax], ecx
mov rax, qword [rsp + 0xd0]
mov dword [rax], ecx
cmp word [r13], 0
mov eax, 0x878be2c1
mov ecx, 0xad7aacbc
cmove eax, ecx
jmp 0x14000acba
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0xc4], eax
movsxd rax, dword [rsp + 0xc4]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
movzx eax, word [rax + rcx*2]
mov word [rsp + 0x46], ax
cmp word [rsp + 0x46], 0
mov eax, 0x7e65531c
mov ecx, 0x33093333
cmove eax, ecx
jmp 0x14000acba
mov eax, dword [rsp + 0x58]
add eax, 6
cdqe
mov rcx, qword [rsp + 0xe0]
mov al, byte [rcx + rax]
movsxd rcx, dword [rsp + 0x58]
mov byte [rsp + rcx + 0x8b], al
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0xa0], eax
mov eax, 0x56a64602
jmp 0x14000acba
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov ecx, dword [rax]
call fcn.14000aaf4
mov eax, 0x103f91e9
jmp 0x14000acba
mov eax, 0x7d443340
mov dword [rsp + 0x3c], 0
jmp 0x14000acba
mov dword [rsp + 0xb0], 0
mov eax, 0xf9496b3c
jmp 0x14000acba
mov rax, qword [rsp + 0x1c0]
mov qword [rdi], rax
jmp 0x14000c351
mov rax, qword [rsp + 0x78]
mov dword [rax], 3
mov rax, qword [rsp + 0x1c8]
mov dword [rax], 0
mov ebx, dword [rdi + 0x250]
xor ecx, ecx
mov edx, 1
mov r8d, 0x7e1a74f1
mov r9d, 0x2f
call fcn.14001939f
mov ecx, ebx
call rax
mov eax, 0x2c5b84d1
jmp 0x14000acba
mov ecx, 0x4380
call fcn.140015329
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov eax, 0xe4d6959b
mov dword [rsp + 0x9c], 0
jmp 0x14000acba
mov byte [rsp + 0x43], bpl
mov eax, dword [rsp + 0x170]
jmp 0x14000acba
mov eax, dword [rsp + 0x70]
mov edx, 0x3f1
lea ecx, [rax + rdx]
movsxd rcx, ecx
imul rcx, rcx, 0xfffffffff2b9d649
shr rcx, 0x20
add ecx, eax
add ecx, edx
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xb
add ecx, edx
imul ecx, ecx, 0x870
neg ecx
add eax, ecx
add eax, 0x3f1
mov qword [rsp + 0xe8], rax
mov eax, 0xbce82f70
jmp 0x14000acba
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x74]
cmp ecx, dword [rax]
mov eax, 0xd3e85bbe
mov ecx, 0xcc07b51b
cmovb eax, ecx
mov cl, byte [rsp + 0x41]
mov byte [rsp + 0x3b], cl
jmp 0x14000acba
mov qword [rdi], r13
jmp 0x14000c2bf
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xc0], eax
mov rax, qword [rdi + 0x220]
movsxd rcx, dword [rsp + 0x74]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rsp + 0xc0]
mov qword [rsp + 0x1e8], rcx
mov rcx, qword [rsp + 0x1e8]
movzx eax, word [rax + rcx*2]
mov word [rsp + 0x44], ax
cmp word [rsp + 0x44], 0
mov eax, 0x40ed406e
mov ecx, 0x1f12c607
cmove eax, ecx
mov cl, 1
mov dword [rsp + 0x5c], ecx
jmp 0x14000acba
cmp dword [rsp + 0xb0], 0
mov eax, 0xd3e85bbe
mov ecx, 0x21ace5b3
cmove eax, ecx
mov cl, byte [rsp + 0x3a]
mov byte [rsp + 0x3b], cl
jmp 0x14000acba
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x138]
mov ecx, dword [rsp + 0x6c]
cmp ecx, dword [rax]
mov eax, 0x60b6e096
mov ecx, 0xdcbfe15b
cmovb eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x110]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0x110]
mov dword [rcx], eax
mov eax, 0xcd5e0cff
jmp 0x14000acba
movzx eax, word [rsp + 0x44]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x1e8]
cmp ax, word [rcx + rdx*2]
mov eax, 0xaaf79cf
mov ecx, 0xe907191f
cmove eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x190]
mov r8, qword [rax]
mov rax, qword [rsp + 0x188]
mov edx, dword [rax]
mov rcx, qword [rsp + 0x118]
mov r9, qword [rsp + 0x1e0]
call fcn.140009cfe
test al, al
mov eax, 0x8734bbdd
mov ecx, 0xb2929af9
cmovne eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x108]
mov ebx, dword [rax]
xor ecx, ecx
mov edx, 1
mov r8d, 0x7e1a74f1
mov r9d, 0x2f
call fcn.14001939f
mov ecx, ebx
call rax
mov al, 1
mov dword [rsp + 0x3c], eax
mov eax, 0x7d443340
jmp 0x14000acba
mov rax, qword [rsp + 0x180]
cmp dword [rax], 1
mov eax, 0xc65d01fc
mov ecx, 0xd88c1e98
cmove eax, ecx
jmp 0x14000acba
mov eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0xa8], eax
mov al, byte [rsp + 0x3a]
mov byte [rsp + 0x41], al
mov eax, 0xe31c0f28
jmp 0x14000acba
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
mov eax, dword [rax]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xb4]
cmp eax, 2
mov eax, 0xc65d01fc
mov ecx, 0xd7145268
cmovl eax, ecx
jmp 0x14000acba
xor ecx, ecx
mov edx, 4
mov r8d, 0x8955631f
mov r9d, 0x189
call fcn.14001939f
mov cx, 0x202
lea rdx, [rsp + 0x210]
call rax
mov rax, qword [rsp + 0x1b8]
mov byte [rax], 1
mov eax, 0x2306869e
jmp 0x14000acba
mov ecx, 7
call fcn.140015329
mov qword [rsp + 0x120], rax
mov ecx, 0x18
call fcn.140015329
mov qword [rsp + 0xe0], rax
mov ebx, esi
mov rsi, qword [rsp + 0xe0]
xor ecx, ecx
mov edx, 1
mov r8d, 0xc87545ea
mov r9d, 0xcb
call fcn.14001939f
mov qword [rsp + 0x20], rsi
mov esi, ebx
mov dword [rsp + 0x28], 0x18
mov ecx, 0x7f
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
lea rax, [rsp + 0x55]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
mov edx, 0
mov byte [rax + 2], dl
mov word [rax], 0
lea rax, [rsp + 0x8b]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
mov rax, qword [rsp + 0x130]
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
mov byte [rax + 4], dl
mov dword [rax], 0
mov eax, 0x15fc4a9f
jmp 0x14000acba
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
cmp dword [rax], 0
mov eax, 0xb49d8f35
mov ecx, 0x64cc4590
cmove eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x1c0], rax
mov r8, qword [rdi + 0x230]
mov edx, dword [rdi + 0x228]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x1c8], rax
mov r9, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
call fcn.140009cfe
test al, al
mov eax, 0xbc0c48a7
mov ecx, 0xbbdb5c40
cmovne eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
cmp dword [rax], 1
mov eax, 0x82dbf0a0
mov ecx, 0xd5a8cacc
cmove eax, ecx
jmp 0x14000acba
mov dl, byte [rsp + 0x3b]
mov eax, edx
mov r9b, 0xff
xor al, r9b
mov ecx, edx
mov bl, 0xfe
xor cl, bl
and cl, al
and dl, bl
and al, 1
or al, dl
mov edx, ecx
xor dl, r9b
mov ebx, eax
xor bl, r9b
mov r8d, edx
mov r10b, 0xee
and r8b, r10b
mov r11b, 0x11
and cl, r11b
or cl, r8b
or dl, bl
and bl, r10b
and al, r11b
or al, bl
xor al, cl
xor dl, r9b
or dl, al
mov eax, edx
xor al, r9b
and dl, 0x53
and al, 0xac
or al, dl
mov ecx, eax
xor cl, 0x88
xor al, 0x43
and al, 0x67
and cl, 0x98
or cl, al
mov eax, ecx
xor al, 0x40
xor cl, 0x18
and cl, 0x3f
mov dl, 0xc0
and al, dl
or al, cl
xor al, dl
mov eax, 0x6ed81c03
mov ecx, 0x14fa633b
cmove eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov ebx, esi
mov esi, dword [rsp + 0x6c]
mov rcx, qword [rax + rsi*8]
mov rdx, qword [rsp + 0x120]
mov r8d, dword [rsp + 0x70]
call fcn.140009a2c
mov rax, qword [rsp + 0x1d8]
mov dword [rax], 1
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + rsi*8]
mov word [rax + 0x18], 0x2e
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + rsi*8]
mov word [rax + 0x1a], 0x62
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + rsi*8]
mov cx, 0x61
mov word [rax + 0x1c], cx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + rsi*8]
mov word [rax + 0x1e], 0x7a
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + rsi*8]
mov word [rax + 0x20], cx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + rsi*8]
mov esi, ebx
mov word [rax + 0x22], 0x72
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x98], eax
mov eax, 0xcb7e2705
jmp 0x14000acba
mov byte [rsp + 0x57], 0
mov eax, 0x56a64602
mov dword [rsp + 0xa0], 0
jmp 0x14000acba
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x70], eax
movsxd rax, dword [rsp + 0x70]
shl rax, 2
add rax, qword [rsp + 0x208]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1d8]
cmp dword [rax], 0
mov eax, 0xe1e8d27e
mov ecx, 0xd46ea83a
cmove eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
cmp byte [rax], 0
mov eax, 0xc5baf56b
mov ecx, 0x553b6c5d
cmove eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x90]
mov dword [rax], 0xea60
mov eax, 0x2ade3d46
xor ebp, ebp
jmp 0x14000acba
mov al, byte [rsp + 0x42]
mov byte [rdi + 0x258], al
xor ebp, ebp
mov dword [rdi + 0x250], ebp
mov dword [rdi + 8], ebp
mov qword [rdi + 0x248], 1
mov eax, 0x2ade3d46
jmp 0x14000acba
mov ecx, 0x26
call fcn.140015329
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov edx, dword [rsp + 0x68]
mov qword [rcx + rdx*8], rax
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x9c], eax
mov eax, 0xe4d6959b
jmp 0x14000acba
mov rax, qword [rdi + 0x220]
mov ecx, dword [rsp + 0xb8]
mov rax, qword [rax + rcx*8]
mov qword [rdi], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0xd8]
mov dword [rcx], eax
mov eax, 0x7d443340
mov cl, 1
mov dword [rsp + 0x3c], ecx
jmp 0x14000acba
mov rax, qword [rsp + 0x78]
cmp dword [rax], 2
mov eax, 0x2c5b84d1
mov ecx, 0xb8ffd23
cmove eax, ecx
jmp 0x14000acba
mov eax, dword [rsp + 0xc0]
inc eax
mov dword [rsp + 0xac], eax
mov eax, 0x8a59e5f9
jmp 0x14000acba
mov rax, qword [rsp + 0xd0]
mov dword [rax], 0
mov rax, qword [rsp + 0x1b0]
mov byte [rax], 0
mov eax, 0x553b6c5d
jmp 0x14000acba
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
cmp eax, 2
mov eax, 0x50b56f79
mov ecx, 0xcfc690af
cmovl eax, ecx
jmp 0x14000acba
mov rax, qword [rsp + 0xd0]
mov dword [rax], 0
mov rax, qword [rsp + 0xf8]
mov byte [rax], 0
mov eax, 0x2ade3d46
mov bpl, 1
jmp 0x14000acba
mov rax, qword [rsp + 0x90]
mov dword [rax], 0x1b7740
mov eax, 0xecb6c479
jmp 0x14000acba
mov eax, dword [rsp + 0x3c]
and al, 1
add rsp, 0x3a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret