Function at 0x140012655
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov ebx, r9d
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], rdx
mov rsi, rcx
mov rax, qword [rsp + 0x1b0]
mov dword [rax], 0
mov ecx, 0x64
call fcn.140015329
mov qword [rsp + 0x78], rax
lea rax, [rsi + 0xaa8]
mov qword [rsp + 0x120], rax
lea rax, [rsi + 0x280]
mov qword [rsp + 0x118], rax
lea rax, [rsi + 0x268]
mov qword [rsp + 0x110], rax
mov eax, 4
lea rcx, [rsp + 0x30]
or rcx, rax
mov qword [rsp + 0x58], rcx
lea rax, [rsi + 0x3c8]
mov qword [rsp + 0x108], rax
test bl, bl
mov eax, 0x32146e25
mov ecx, 0x419f1589
cmovne ecx, eax
mov dword [rsp + 0xa8], ecx
mov eax, 0xae0645c3
mov ecx, 0x237fb0d4
cmovne ecx, eax
mov dword [rsp + 0xac], ecx
mov eax, 0x2ec66b61
mov ecx, 0xa357c6a9
cmovne ecx, eax
mov dword [rsp + 0xa4], ecx
mov eax, 0x9caf20aa
mov ecx, 0xda3e373
cmovne ecx, eax
mov dword [rsp + 0xa0], ecx
mov qword [rsp + 0x70], rsi
lea rax, [rsi + 0x260]
mov qword [rsp + 0x100], rax
mov eax, 0x2f864256
movabs r11, 0x238f19311a26d3fe
movabs r14, 0xbb9c8a66a1f0889
mov r13d, 0xffffffff
movabs r12, 0x89544a2e0b257d84
movabs r8, 0xd204885bee0f9a6
mov dword [rsp + 0x4c], ecx
mov ecx, eax
cmp eax, 0x6867c5a
jle 0x140012801
cmp ecx, 0x2f864255
jg 0x140012850
cmp ecx, 0x19d6ff9c
jle 0x140012b09
cmp ecx, 0x237fb0d3
jle 0x140013441
cmp ecx, 0x237fb0d4
je 0x140013779
cmp ecx, 0x2c140c50
je 0x140013793
mov eax, ecx
cmp ecx, 0x2ec66b61
jne 0x140012786
mov rax, qword [rsp + 0x28]
movsxd rcx, dword [rax + 0x860]
lea edx, [rcx + 1]
mov dword [rax + 0x860], edx
mov rdx, qword [rsp + 0x140]
mov qword [rax + rcx*8 + 0x868], rdx
mov eax, 0xa357c6a9
jmp 0x140012786
cmp ecx, 0xb1fa25d0
jle 0x1400128b5
cmp ecx, 0xd5c7c7d3
jle 0x140012b45
cmp ecx, 0xdcd6cedf
jle 0x1400134ba
cmp ecx, 0xdcd6cee0
je 0x140013761
cmp ecx, 0xe246b8ca
je 0x1400137c8
mov eax, ecx
cmp ecx, 0x4318eaf
jne 0x140012786
jmp 0x140013eb9
cmp ecx, 0x4697b929
jle 0x140013360
cmp ecx, 0x5a5c543a
jle 0x140013523
cmp ecx, 0x5a5c543b
je 0x1400137f2
cmp ecx, 0x7bf25841
je 0x140013812
mov eax, ecx
cmp ecx, 0x7ea102b0
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
jne 0x140012786
mov rax, qword [rsp + 0x1b0]
mov dword [rax], 3
jmp 0x14001372c
cmp ecx, 0xa357c6a8
jle 0x1400133fe
cmp ecx, 0xae0645c2
jle 0x14001360c
cmp ecx, 0xb11c2c54
je 0x140013efa
mov eax, ecx
cmp ecx, 0xae0645c3
jne 0x140012786
mov byte [rsp + 0x24], bpl
mov ecx, 0xc8
call fcn.140015329
mov r8d, 0x6bc3fe1b
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x28]
add rax, 0x30
mov qword [rsp + 0xf0], rax
xor eax, eax
mov byte [rsp + 0x30], al
mov dword [rsp + 0x34], 0x28d940f1
mov dword [rsp + 0x38], 0x28c840e0
mov dword [rsp + 0x3c], 0x28cc40f0
mov dword [rsp + 0x40], 0x288940be
mov dword [rsp + 0x44], 0x28de40a1
mov dword [rsp + 0x48], 0x28a940f7
cmp byte [rsp + 0x30], al
movabs rsi, 0x16922be4fa117ccd
movabs r15, 0x6aacfaf3b8b1c669
movabs r14, 0x7031128c5230ae96
jne 0x140012ab1
mov r9d, 1
xor ecx, ecx
mov edx, dword [rsp + r9*4 + 0x30]
mov edi, edx
xor edi, r13d
mov ebx, edi
and ebx, edx
mov r11, rsi
mov esi, ebx
xor esi, r13d
mov ebp, edx
and ebp, r8d
mov eax, edi
mov r10d, 0x943c01e4
and eax, r10d
or eax, ebp
mov ebp, edx
or ebp, esi
and esi, r8d
and ebx, r10d
or ebx, esi
mov rsi, r11
mov r11d, 0x43e6a932
xor ebx, eax
xor ebp, r13d
or ebp, ebx
mov eax, ebp
xor eax, r13d
mov ebx, 0xbc1956cd
and eax, ebx
xor ebp, r11d
or ebp, eax
mov eax, edi
and eax, r11d
mov r11d, 0xb8226ccf
and edx, ebx
or edx, eax
xor edi, edx
and edi, edx
mov edx, edi
and edi, ebp
xor ebp, r13d
xor edx, r13d
mov eax, ebp
xor eax, edx
and eax, ebp
and edx, ebp
or edx, edi
movabs rdi, 0xcc76659487d4e36a
mov ebp, eax
xor ebp, r13d
mov ebx, ebp
and ebx, r11d
mov r10d, 0x47dd9330
and eax, r10d
or eax, ebx
mov ebx, edx
xor ebx, r13d
or ebp, ebx
and ebx, r11d
and edx, r10d
or edx, ebx
xor edx, eax
xor ebp, r13d
or ebp, edx
mov eax, ebp
mov edx, ebp
xor edx, 0x6b4fe9b6
and edx, ebp
xor ebp, r13d
and ebp, 0x6a0c4016
mov ebx, 0x143a9a0
and eax, ebx
or eax, ebp
xor eax, ebx
mov ebp, eax
and ebp, edx
xor edx, eax
or edx, ebp
movabs rbp, 0x3b6054b2e09e9f7
mov dword [rsp + r9*4 + 0x30], edx
lea rax, [r12 + rbp]
mov rdx, rbp
sub rdx, rax
add rdx, r12
add rdx, rsi
add rcx, rsi
sub rcx, rdx
mov rax, rdi
sub rax, r15
sub rax, rdi
movabs rdx, 0xc33e80f68734183e
sub rax, r14
add rax, rcx
add rax, r14
add rax, rdx
add rax, r15
sub rax, rdx
inc rax
inc r9
mov rcx, rax
cmp r9, 7
jne 0x14001297b
mov rsi, qword [rsp + 0xf8]
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xf0]
call fcn.14001aa82
mov rax, qword [rsp + 0x28]
movsxd rcx, dword [rax + 0x808]
lea edx, [rcx + 1]
mov dword [rax + 0x808], edx
mov qword [rax + rcx*8 + 0x810], rsi
mov eax, 0x1d6010a7
movabs r11, 0x238f19311a26d3fe
movabs r14, 0xbb9c8a66a1f0889
jmp 0x140013bdb
cmp ecx, 0xda3e372
jg 0x140013650
cmp ecx, 0x6867c5b
je 0x1400138f9
mov eax, ecx
cmp ecx, 0xb00c2b9
jne 0x140012786
mov rax, qword [rsp + 0xd8]
cmp qword [rax], 0
mov eax, 0x2c140c50
jmp 0x1400139bf
cmp ecx, 0xc8bbfa2b
jg 0x14001366f
cmp ecx, 0xb1fa25d1
je 0x140013911
mov eax, ecx
cmp ecx, 0xb3179668
jne 0x140012786
mov byte [rsp + 0x24], bpl
mov ecx, 0x1e
movabs r14, 0x26b89d3b8f589836
mov r12, r8
mov esi, 0x2688c0ca
call fcn.140015329
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x130], rax
mov ecx, 0x1e
call fcn.140015329
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x138], rax
mov ecx, 0x1e
call fcn.140015329
movabs rdi, 0xce75b672146cc17f
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x140], rax
mov eax, 0
mov byte [rsp + 0x30], al
mov dword [rsp + 0x34], 0x1ebc7846
mov dword [rsp + 0x38], 0x1ef47861
mov dword [rsp + 0x3c], 0x1eb67856
mov dword [rsp + 0x40], 0x1eb2787a
mov dword [rsp + 0x44], 0x1ebc787c
mov dword [rsp + 0x48], 0x1ed97815
cmp byte [rsp + 0x30], al
mov r15d, 0x889c898
jne 0x140012e46
mov r8d, 1
xor ecx, ecx
mov eax, dword [rsp + r8*4 + 0x30]
mov r11, rdi
mov r9d, eax
xor r9d, r13d
mov edx, r9d
and edx, esi
mov ebx, eax
xor ebx, esi
and ebx, eax
mov ebp, edx
and ebp, ebx
xor ebx, edx
or ebx, ebp
mov edx, ebx
xor edx, r13d
and edx, 0x11b64ff2
and ebx, 0xee49b00d
or ebx, edx
mov edx, ebx
xor edx, 0x371e0c38
mov ebp, 0x379f3cfc
and edx, ebp
xor ebx, 0xa1b3c4
or ebx, edx
mov edx, ebx
xor edx, r13d
and edx, r15d
mov edi, 0xf7763767
and ebx, edi
or ebx, edx
mov esi, ebx
xor esi, edi
mov edx, r9d
and edx, 0xc860c303
and eax, ebp
or eax, edx
xor r9d, eax
and r9d, eax
mov r10d, ebx
xor r10d, r15d
mov ebp, r9d
xor ebp, r13d
xor ebx, 0x186ebf6f
and ebx, r10d
mov edi, esi
and edi, 0x10e777f7
mov edx, r9d
xor edx, 0xef188808
mov eax, ebx
and eax, edi
xor edi, ebx
mov ebx, edx
and ebx, ebp
and edx, r9d
or edi, eax
mov eax, ebx
and eax, edx
xor edx, ebx
or edx, eax
mov eax, edi
xor eax, r13d
mov ebx, 0xc350829
and eax, ebx
mov r15d, 0xf3caf7d6
and edi, r15d
or edi, eax
mov eax, edx
xor eax, r13d
and eax, ebx
and edx, r15d
or edx, eax
xor edx, edi
mov eax, esi
mov edi, 0x81ebf7ad
and eax, edi
mov ebx, 0x7e140852
and r10d, ebx
or r10d, eax
or esi, r9d
and r9d, edi
mov r15d, 0x6f56f5db
and ebp, ebx
or ebp, r9d
mov r9d, 0x36fe8f7
mov rdi, r11
mov r11d, 0x3a372244
xor ebp, r10d
mov r10d, 0xc5c8ddbb
xor esi, r13d
or esi, ebp
mov eax, esi
xor eax, r13d
and eax, r9d
and esi, 0xfc901708
or esi, eax
mov eax, edx
xor eax, r13d
mov ebx, eax
and ebx, r10d
and edx, r11d
or edx, ebx
mov ebp, esi
xor ebp, 0x38100200
xor esi, r9d
or eax, esi
and esi, r10d
and ebp, r11d
or ebp, esi
mov esi, 0x2688c0ca
xor ebp, edx
xor eax, r13d
or eax, ebp
xor eax, r13d
mov edx, eax
and edx, r15d
or eax, r15d
mov r15d, 0x889c898
xor eax, edx
mov edx, eax
xor edx, r13d
and eax, 0xb9ef4ecd
and edx, 0x4610b132
or edx, eax
mov dword [rsp + r8*4 + 0x30], edx
sub rcx, rdi
movabs rdx, 0x52ccfe127a8567cc
add rcx, rdx
add rcx, rdi
movabs rax, 0xd2944f325820760d
sub rcx, rax
movabs rbp, 0xd6d05c097c799be
add rcx, rbp
sub rcx, rdx
sub rcx, rbp
movabs rdx, 0x6cb7738c3bfb4482
sub rcx, rdx
add rcx, r12
add rcx, rdx
sub rcx, r12
movabs rdx, 0xbf1746105df538a1
sub rcx, rdx
sub rcx, r14
add rcx, rdx
movabs rdx, 0x2843efc4b1121917
sub rcx, rdx
add rcx, rax
add rcx, rdx
add rcx, r14
inc rcx
inc r8
cmp r8, 7
jne 0x140012c43
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
mov r8d, 0x16
call fcn.140014dfa
xor eax, eax
mov byte [rsp + 0x30], al
mov dword [rsp + 0x34], 0x573baaf7
mov dword [rsp + 0x38], 0x573faac7
mov dword [rsp + 0x3c], 0x575aaab3
cmp byte [rsp + 0x30], al
movabs r11, 0x45a3cd9b5082a626
movabs r14, 0x15ed77ef1853710c
mov r15d, 0x82f425bf
mov r8d, 0xbdd08872
jne 0x1400130c0
mov r12d, 1
xor ecx, ecx
mov esi, dword [rsp + r12*4 + 0x30]
mov edi, esi
xor edi, r13d
mov ebx, esi
mov eax, edi
mov ebp, esi
mov edx, edi
and edx, 0xa7d4f190
and esi, 0x582b0e6f
or esi, edx
xor esi, 0xcf238af1
or esi, edi
or edi, 0x18240aa4
or ebx, 0xc14002
mov edx, 0x18e54aa6
and ebx, edx
and eax, 0x318b410
or eax, ebx
and edi, edx
and ebp, 0xe4020149
or ebp, edi
xor ebp, eax
mov eax, ebp
xor eax, r13d
and eax, 0xe4c3414b
and ebp, 0x1b3cbeb4
or ebp, eax
mov edx, ebp
xor edx, r13d
and ebp, 0xec27b59b
mov eax, edx
and eax, 0x13d84a64
or eax, ebp
xor eax, 0x84d0cefa
and edx, 0x68f77b61
or edx, eax
mov eax, edx
xor eax, r13d
mov ebx, esi
xor ebx, r13d
mov ebp, edx
and ebp, 0x5f12fe0
xor edx, r8d
and edx, eax
mov r10d, 0xbdd08872
mov r8d, 0xffffffff
mov r13d, 0xfa0ed01f
and eax, r13d
or eax, ebp
mov r9d, eax
mov edi, esi
and edi, 0x7d0bda40
xor esi, r10d
and esi, ebx
and ebx, r15d
or ebx, edi
mov edi, eax
xor edi, 0x212780
or edi, r10d
xor eax, 0x2060004
mov ebp, edi
mov r10d, 0x40e9d4cb
and ebp, r10d
and eax, 0x2062304
or eax, ebp
mov ebp, edx
xor ebp, r8d
or edi, ebp
and ebp, r10d
mov r15d, 0x82f425bf
and edx, 0xbf162b34
or edx, ebp
xor ebx, r15d
xor edx, eax
mov eax, ebx
and eax, 0x422f778d
xor edi, r8d
or edi, edx
mov edx, eax
and edx, esi
xor esi, eax
or esi, edx
mov eax, edi
xor eax, r8d
and eax, esi
xor esi, r8d
mov r8d, 0xbdd08872
and esi, edi
xor r9d, r13d
mov r13d, 0xffffffff
or esi, eax
mov eax, r9d
and eax, ebx
xor ebx, r9d
mov r9d, 0xe0102a01
mov edi, 0x1fefd5fe
mov ebp, 0x45a0992d
or ebx, eax
mov eax, ebx
xor eax, r13d
and eax, ebp
and ebx, 0xba5f66d2
or ebx, eax
mov edx, esi
xor edx, r13d
mov eax, edx
and eax, edi
and esi, r9d
or esi, eax
mov eax, ebx
xor eax, 0xa0102200
xor ebx, ebp
or edx, ebx
and ebx, edi
and eax, r9d
mov edi, 0x9d8e82b1
or eax, ebx
xor eax, esi
xor edx, r13d
or edx, eax
mov eax, edx
xor eax, r13d
mov ebp, edx
xor ebp, 0xc0522e2d
and ebp, edx
or edx, 0x3fadd1d2
mov ebx, edx
and ebx, edi
and eax, 0x40502c0c
or eax, ebx
mov ebx, ebp
xor ebx, r13d
or edx, ebx
and ebx, edi
and ebp, 0x62717d4e
or ebp, ebx
xor ebp, eax
movabs rax, 0x3b86ed6bf3820587
movabs rbx, 0xa895dc61c26e2a81
xor edx, r13d
or edx, ebp
mov dword [rsp + r12*4 + 0x30], edx
movabs rbp, 0x2c63417f897b2922
add rcx, rax
add rcx, r11
sub rcx, rbp
sub rcx, r11
add rcx, r14
sub rcx, rax
sub rcx, r14
sub rcx, rbx
add rcx, rbp
add rcx, rbx
inc rcx
inc r12
cmp r12, 4
jne 0x140012eae
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x58]
mov r8d, 0xa
call fcn.140014dfa
xor eax, eax
mov byte [rsp + 0x30], al
mov dword [rsp + 0x34], 0x151cd9d
mov dword [rsp + 0x38], 0x11dcd91
mov dword [rsp + 0x3c], 0x17ccda2
cmp byte [rsp + 0x30], al
movabs rdx, 0xf81ab1ae37e8572a
movabs rax, 0xbac98828e6ec83f2
movabs r9, 0x2dc120a74bfa19ea
movabs r10, 0x2619ed9903a46022
movabs r11, 0x419df2d8de7b208
mov edi, 0xd94293ec
jne 0x1400132d2
mov r8d, 1
xor ecx, ecx
mov esi, dword [rsp + r8*4 + 0x30]
mov r12, r11
mov r11, r10
mov r10, r9
mov r9d, esi
xor r9d, r13d
mov ebp, r9d
and ebp, 0xddce06d1
mov r15, rdx
mov edx, esi
and edx, 0x2231f92e
or edx, ebp
mov ebp, edx
xor ebp, 0x2214802
xor edx, 0xc8000240
mov r14, rax
mov eax, r9d
or eax, 0xc800026c
or edx, 0x11429180
and edx, edi
and ebp, 0x6a54c03
or ebp, edx
and eax, edi
mov edx, esi
and edx, 0x20182010
or edx, eax
xor edx, ebp
mov eax, edx
xor eax, r13d
and eax, 0x315ab190
and edx, 0xcea54e6f
or edx, eax
mov ebx, edx
xor ebx, r13d
and edx, 0xdd29a507
mov eax, ebx
and eax, 0x22d65af8
or eax, edx
xor eax, 0x636e0f6f
mov edx, 0xbe47aa68
and ebx, edx
or ebx, eax
mov edi, ebx
xor edi, r13d
and r9d, 0x41b85597
xor esi, edx
or esi, r9d
mov r9, r10
mov r10, r11
mov r11, r12
mov r12d, 0x34235362
mov edx, 0xc1da8f6d
mov eax, esi
xor eax, r13d
and eax, edx
and esi, 0x3e257092
or esi, eax
mov ebp, ebx
and ebx, r12d
mov eax, 0xcbdcac9d
and edi, eax
or edi, ebx
mov eax, esi
xor eax, 0xa042090
xor esi, edx
or ebp, esi
and esi, r12d
mov r12d, 0x4cc42bb1
mov edx, 0xcbdcac9d
and eax, edx
or eax, esi
mov esi, 0xb33bd44e
mov edx, ebp
xor edx, r13d
xor eax, edi
mov edi, 0xd94293ec
mov ebx, ebp
and ebx, esi
and edx, r12d
or edx, ebx
mov ebx, eax
xor ebx, r13d
or ebp, ebx
and ebx, esi
and eax, r12d
or eax, ebx
xor eax, edx
xor ebp, r13d
or ebp, eax
mov eax, ebp
xor eax, r13d
or ebp, 0x67c68e2e
or eax, 0x983971d1
xor eax, ebp
mov edx, eax
xor edx, r13d
and edx, 0xd8fde983
and eax, 0x2702167c
or eax, edx
mov dword [rsp + r8*4 + 0x30], eax
mov rax, r9
movabs rdx, 0xbeaae18336899882
sub rax, rdx
sub rax, r9
add rax, rdx
mov rdx, r15
sub rcx, r15
add rcx, r10
add rcx, r15
add rax, r11
sub rcx, rax
mov rax, r14
add rcx, r11
sub rcx, r14
sub rcx, r10
add rcx, r14
inc rcx
inc r8
cmp r8, 4
jne 0x14001313f
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x58]
mov r8d, 0xc
call fcn.140014dfa
lea rax, [rsp + 0x28]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x128]
call fcn.14000292c
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
mov eax, 0xc8bbfa2c
mov ecx, 0x361335c1
cmove eax, ecx
jmp 0x140013bbd
cmp ecx, 0x361335c0
jg 0x1400136a7
cmp ecx, 0x2f864256
je 0x14001395f
mov eax, ecx
cmp ecx, 0x32146e25
jne 0x140012786
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x860]
dec ecx
movsxd rcx, ecx
mov ebx, dword [rax + rcx*4 + 0x908]
lea ecx, [rbx + 2]
call fcn.140015329
mov rbp, rax
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax + 0x860]
dec ecx
movsxd rcx, ecx
mov rdx, qword [rax + rcx*8 + 0x8b8]
mov rcx, rbp
mov r8d, ebx
call fcn.140014dfa
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
mov rax, qword [rsp + 0xb8]
mov qword [rax], rbp
mov rax, qword [rsp + 0xb0]
mov dword [rax], ebx
jmp 0x14001372c
cmp ecx, 0x9caf20a9
jg 0x14001373b
cmp ecx, 0x8364c271
je 0x140013761
mov eax, ecx
cmp ecx, 0x84f6b227
jne 0x140012786
mov rax, qword [rsp + 0x1b0]
mov dword [rax], 1
mov eax, 0xb11c2c54
mov bpl, byte [rsp + 0x26]
jmp 0x140012786
cmp ecx, 0x19d6ff9d
je 0x140013978
mov eax, ecx
cmp ecx, 0x1d6010a7
jne 0x140012786
mov rcx, qword [rsp + 0x28]
call fcn.1400030c1
mov ebx, eax
mov byte [rsp + 0x26], al
mov rcx, qword [rsp + 0x80]
call fcn.14001519e
mov rcx, qword [rsp + 0x88]
call fcn.14001519e
mov rcx, qword [rsp + 0x90]
call fcn.14001519e
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
test bl, bl
mov eax, 0x84f6b227
mov ecx, 0x4318eaf
cmovne eax, ecx
jmp 0x140012786
cmp ecx, 0xd5c7c7d4
je 0x1400139cc
mov eax, ecx
cmp ecx, 0xd7fa6940
jne 0x140012786
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x8c0]
mov r8d, 0x16
mov rdx, qword [rsp + 0x110]
call fcn.140014f6f
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
test eax, eax
mov rax, qword [rsp + 0x60]
sete byte [rax]
mov eax, 0xdcd6cee0
mov ecx, 0xdeb94a2
cmove eax, ecx
jmp 0x140012786
cmp ecx, 0x4697b92a
je 0x1400139e7
mov eax, ecx
cmp ecx, 0x513e514b
jne 0x140012786
mov eax, dword [rsp + 0x4c]
mov byte [rsp + 0x25], al
mov dl, byte [rsp + 0x25]
mov ecx, edx
mov r10b, 0xff
xor cl, r10b
and dl, cl
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
mov r8d, edx
xor r8b, r10b
mov ecx, edx
or cl, 0x6e
mov eax, edx
xor al, 0x91
and al, dl
mov ebx, eax
xor bl, r10b
mov r9d, ecx
mov r11b, 0x97
and r9b, r11b
or cl, bl
and bl, r11b
and al, 0x68
or al, bl
xor al, r9b
xor cl, r10b
or cl, al
mov eax, ecx
xor al, r10b
and al, 0x6f
and cl, 0x90
or cl, al
and r8b, 1
mov eax, edx
xor al, 0xda
or al, r8b
mov ebx, edx
mov r8b, 0x24
and bl, r8b
and al, 0xdb
or al, bl
xor al, r8b
mov ebx, ecx
xor bl, r10b
mov r8d, ebx
mov r9b, 0xbd
and r8b, r9b
mov r11b, 0x42
and cl, r11b
or cl, r8b
or bl, al
and al, r9b
and dl, r11b
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
or dl, al
xor dl, cl
xor bl, r10b
or bl, dl
cmp bl, r10b
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
mov eax, 0xe246b8ca
mov ecx, 0xa47f556b
cmove eax, ecx
jmp 0x140012786
mov eax, dword [rsp + 0xac]
cmp ecx, 0xa357c6a9
je 0x140012786
mov eax, ecx
cmp ecx, 0xa47f556b
jne 0x140012786
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x934], 0
mov eax, 0x5a5c543b
mov ecx, 0xb11c2c54
cmove eax, ecx
mov bpl, byte [rsp + 0x25]
jmp 0x140012786
cmp ecx, 0xda3e373
je 0x140013a07
mov eax, ecx
cmp ecx, 0xdeb94a2
jne 0x140012786
jmp 0x140013ed7
cmp ecx, 0xc8bbfa2c
je 0x140013bef
mov eax, ecx
cmp ecx, 0xcc89df48
jne 0x140012786
mov rax, qword [rsp + 0xe8]
cmp dword [rax + 4], 0x16
mov eax, 0xb1fa25d1
mov ecx, 0x6867c5b
cmova eax, ecx
jmp 0x140012786
cmp ecx, 0x361335c1
je 0x140013c25
mov eax, ecx
cmp ecx, 0x419f1589
jne 0x140012786
mov rax, qword [rsp + 0x50]
mov r9d, dword [rax + 0x934]
mov rax, qword [rsp + 0x50]
mov r8, qword [rax + 0x938]
mov rax, qword [rsp + 0x70]
mov edx, dword [rax + 0x264]
mov rcx, qword [rsp + 0x120]
call fcn.1400042f6
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x938]
mov rdx, qword [rsp + 0xb8]
mov qword [rdx], rcx
mov eax, dword [rax + 0x934]
mov rcx, qword [rsp + 0xb0]
mov dword [rcx], eax
mov eax, 0xb11c2c54
mov bpl, byte [rsp + 0x25]
jmp 0x140012786
cmp ecx, 0x9caf20aa
je 0x140013c64
mov eax, ecx
cmp ecx, 0xa05a3f16
jne 0x140012786
mov eax, dword [rsp + 0xa8]
jmp 0x140012786
mov rax, qword [rsp + 0x1b0]
mov dword [rax], 2
mov eax, 0xdeb94a2
jmp 0x140012786
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
mov eax, 0x1d6010a7
mov ecx, 0xae0645c3
cmove eax, ecx
jmp 0x140012786
mov rax, qword [rsp + 0xd0]
mov ecx, 0x908
add rax, rcx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
cmp dword [rax], 4
mov eax, 0x4697b92a
mov ecx, 0xcc89df48
cmova eax, ecx
jmp 0x140012786
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x930]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
cmp eax, 0xc7
mov eax, 0x7ea102b0
mov ecx, 0xd5c7c7d4
cmovg eax, ecx
jmp 0x140012786
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x938]
call fcn.1400154b5
mov eax, 0xb11c2c54
mov bpl, byte [rsp + 0x25]
jmp 0x1400138e0
mov rax, qword [rsp + 0x98]
mov rbx, qword [rax]
xor ecx, ecx
mov edx, 1
mov r8d, 0x6efba69c
mov r9d, 0x85
call fcn.14001939f
mov rcx, rbx
call rax
shl rax, 0x20
mov ebx, ebp
movabs rbp, 0xbb2b500cba099ea5
mov rcx, rbp
movabs rdx, 0x76ed55797a6ae91e
sub rcx, rdx
sub rcx, rbp
mov ebp, ebx
sub rcx, rax
movabs rax, 0xd70d8f348557fd9
sub rcx, rax
add rcx, rdx
add rcx, rax
movabs rax, 0x213c097befd2a8ed
add rcx, rax
movabs rdx, 0xf8a96eca650dfec2
add rcx, rdx
sub rcx, rax
movabs rax, 0x8a903c7c3742255b
sub rcx, rax
sub rcx, rdx
add rcx, rax
movabs r8, 0x100000000
sub r8, rcx
shr r8, 0x1f
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x118]
call fcn.14000cadf
mov eax, 0x513e514b
mov cl, byte [rsp + 0x27]
mov dword [rsp + 0x4c], ecx
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
jmp 0x140012786
mov rax, qword [rsp + 0xe0]
mov word [rax + 0x14], 0
mov eax, 0xb1fa25d1
jmp 0x140012786
mov rax, qword [rsp + 0x28]
mov r8d, dword [rax + 0x908]
mov rdx, qword [rax + 0x8b8]
mov rcx, qword [rax + 0x8c0]
call fcn.1400169c5
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
mov rcx, qword [rsp + 0x60]
mov byte [rcx], al
test al, al
mov eax, 0x8364c271
mov ecx, 0xd7fa6940
cmovne eax, ecx
jmp 0x140012786
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x128], rax
mov eax, dword [rsp + 0xa0]
jmp 0x140012786
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov ecx, 0x8b8
add rax, rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rsp + 0xe0], rax
cmp qword [rsp + 0xe0], 0
mov eax, 0xb00c2b9
mov ecx, 0x4697b92a
cmove eax, ecx
jmp 0x140012786
mov eax, dword [rsp + 0x6c]
cmp eax, 0x12c
mov eax, 0x7ea102b0
mov ecx, 0xa05a3f16
cmovl eax, ecx
jmp 0x140012786
mov rax, qword [rsp + 0x1b0]
mov dword [rax], 2
mov eax, 0x513e514b
mov dword [rsp + 0x4c], 0
jmp 0x140012786
mov byte [rsp + 0x24], bpl
xor eax, eax
mov byte [rsp + 0x30], al
mov dword [rsp + 0x34], 0x7461d7a4
mov dword [rsp + 0x38], 0x7424d7b7
cmp byte [rsp + 0x30], al
mov r10d, 0x75cb471b
mov r11d, 0x35cc100
mov r14d, 0x99c7e527
mov r12d, 0xf2449131
mov r9d, 0x7a5949a7
mov r15d, 0xea2018fd
jne 0x140013ba3
xor r8d, r8d
mov edi, dword [rsp + r8*4 + 0x34]
mov ebx, edi
xor ebx, r13d
mov ebp, edi
or ebp, 0xce4af924
mov esi, ebx
or esi, 0x31b506db
xor esi, ebp
mov edx, esi
xor edx, r13d
and edx, 0xd4586c71
and esi, 0x2ba7938e
or esi, edx
mov edx, esi
xor edx, 0x1a020511
xor esi, 0xe5ed6aaa
and edx, 0x3b6f67b1
mov ecx, esi
and ecx, 0xc490984e
or ecx, edx
xor ecx, 0xb0b44fad
and esi, 0x8bdb281c
or esi, ecx
mov ecx, esi
xor ecx, r13d
and ecx, r15d
and esi, 0x15dfe702
or esi, ecx
mov eax, esi
xor eax, 0x14a000
and edi, 0x390b584b
mov ecx, ebx
and ecx, 0xc6f4a7b4
or ecx, edi
xor ecx, 0x4d2f8fa8
and ebx, 0x7424d7e3
or ebx, ecx
mov ecx, ebx
xor ecx, r13d
and ecx, 0xdbb6ece
and ebx, r12d
or ebx, ecx
mov edi, ebx
xor edi, r12d
xor esi, r15d
mov ecx, ebx
xor ecx, 0x5a22648
and ecx, 0x85a6b658
xor ebx, 0x787029d5
and ebx, edi
and edi, r9d
or edi, ecx
mov ebp, edi
xor ebp, r9d
or eax, r10d
mov ecx, esi
and ecx, ebp
xor ebp, esi
or esi, 0x8a34b8e4
xor esi, eax
mov edx, edi
xor edx, 0x8024b040
or edx, r10d
xor edi, 0x80008a4
mov eax, edx
and eax, r11d
and edi, 0x882038e4
or edi, eax
mov eax, ebx
xor eax, r13d
or edx, eax
and eax, r11d
and ebx, 0xfca33eff
or ebx, eax
xor ebx, edi
mov edi, 0x66381ad8
xor edx, r13d
or edx, ebx
mov eax, esi
xor eax, r13d
and eax, edi
and esi, r14d
or esi, eax
mov eax, edx
xor eax, r13d
and eax, edi
and edx, r14d
or edx, eax
xor edx, esi
or ebp, ecx
xor ebp, r13d
mov eax, edx
and eax, ebp
xor ebp, edx
or ebp, eax
mov dword [rsp + r8*4 + 0x34], ebp
test r8, r8
mov r8d, 1
je 0x140013a53
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov r8d, 8
call fcn.140014dfa
mov eax, 0xb3179668
movabs r11, 0x238f19311a26d3fe
movabs r14, 0xbb9c8a66a1f0889
movabs r12, 0x89544a2e0b257d84
movabs r8, 0xd204885bee0f9a6
mov bpl, byte [rsp + 0x24]
jmp 0x140012786
mov rcx, qword [rsp + 0x28]
add rcx, 0x30
mov rdx, qword [rsp + 0x108]
call fcn.14001aa82
movabs r11, 0x238f19311a26d3fe
movabs r8, 0xd204885bee0f9a6
mov eax, dword [rsp + 0xa4]
jmp 0x140012786
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x860], 2
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0x868], rcx
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x870], rcx
mov eax, 0xc8bbfa2c
jmp 0x140012786
mov byte [rsp + 0x24], bpl
mov r9d, 0x6a41d294
xor eax, eax
mov byte [rsp + 0x30], al
mov dword [rsp + 0x34], 0x41f85106
mov dword [rsp + 0x38], 0x41f9510f
mov dword [rsp + 0x3c], 0x41bd514e
cmp byte [rsp + 0x30], al
jne 0x140013e77
mov r8d, 1
xor ecx, ecx
mov ebx, dword [rsp + r8*4 + 0x30]
mov eax, ebx
xor eax, r13d
mov edx, eax
and edx, ebx
mov esi, edx
xor esi, r13d
mov ebp, ebx
mov r12d, 0xd3a11bfb
mov r10d, 0x95be2d6b
and ebp, r10d
mov edi, eax
and edi, r9d
or edi, ebp
mov ebp, 0x6a41d294
mov r9d, ebx
or r9d, esi
and esi, r10d
and edx, ebp
or edx, esi
xor edx, edi
xor r9d, r13d
or r9d, edx
mov edx, r9d
xor edx, r13d
and edx, 0xbe42aeb1
mov ebp, 0x41bd514e
xor r9d, ebp
or r9d, edx
mov edx, r9d
xor edx, r13d
and eax, 0x8499d187
mov edi, 0x7b662e78
and ebx, edi
or ebx, eax
mov esi, ebx
xor esi, edi
xor ebx, 0x5080
and ebx, 0x7b6250c8
mov eax, esi
and eax, 0x849daf37
or eax, ebx
xor eax, 0x3adf0186
and esi, ebp
or esi, eax
mov eax, esi
xor eax, r13d
and eax, 0x4e3ab550
mov ebp, 0xb1c54aaf
and esi, ebp
or esi, eax
mov ebx, esi
xor ebx, ebp
mov eax, esi
xor eax, 0x42201150
and eax, r12d
xor esi, 0x6e8830a0
and esi, ebx
mov ebp, 0x2c5ee404
and ebx, ebp
or ebx, eax
mov edi, ebx
xor edi, ebp
mov eax, r9d
mov r12d, 0xdf4d7a0f
and eax, r12d
mov ebp, r9d
xor ebp, 0x20b285f0
and ebp, edx
mov r10d, eax
and r10d, ebp
xor ebp, eax
mov eax, edi
and eax, r12d
or ebp, r10d
mov r10d, eax
and r10d, esi
xor esi, eax
or esi, r10d
mov r10d, 0xd3a11bfb
mov eax, ebp
xor eax, r13d
mov r12d, 0xfc723f1
and eax, r12d
mov r15d, 0xf038dc0e
and ebp, r15d
or ebp, eax
mov eax, esi
xor eax, r13d
and eax, r12d
mov r12d, 0x8105a5c
and esi, r15d
mov r15d, 0xf7efa5a3
or esi, eax
xor esi, ebp
mov eax, edx
and eax, r15d
and r9d, r12d
or r9d, eax
xor ebx, r10d
mov ebp, 0x7002bfcc
or edx, ebx
and ebx, r15d
and edi, r12d
or edi, ebx
xor edi, r9d
mov r9d, 0x6a41d294
xor edx, r13d
or edx, edi
mov eax, edx
xor eax, r13d
and eax, 0x8ffd4033
and edx, ebp
or edx, eax
xor edx, ebp
mov eax, esi
and eax, edx
xor edx, esi
movabs rsi, 0x4f37f8515cf0d377
movabs rdi, 0x7a0cbb81bb2abf64
movabs rbx, 0xc21cf98b6d24aac2
movabs rbp, 0xf49cfbdacbaba6f0
or edx, eax
mov dword [rsp + r8*4 + 0x30], edx
add rcx, r14
sub rcx, rbx
sub rcx, r14
sub rcx, rbp
add rcx, r11
add rcx, rbp
add rcx, rbx
sub rcx, rsi
sub rcx, rdi
add rcx, rsi
sub rcx, r11
add rcx, rdi
inc rcx
inc r8
cmp r8, 4
jne 0x140013c9f
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov r8d, 0xa
call fcn.140014dfa
movabs r11, 0x238f19311a26d3fe
mov eax, 0xb3179668
mov bpl, byte [rsp + 0x24]
movabs r12, 0x89544a2e0b257d84
movabs r8, 0xd204885bee0f9a6
jmp 0x140012786
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
mov eax, 0x513e514b
mov ecx, 0x19d6ff9d
cmove eax, ecx
mov cl, byte [rsp + 0x26]
jmp 0x140012782
mov rax, qword [rsp + 0x60]
mov al, byte [rax]
test al, al
mov byte [rsp + 0x27], al
mov eax, 0x7bf25841
mov ecx, 0x513e514b
cmove eax, ecx
mov cl, byte [rsp + 0x27]
jmp 0x140012782
lea rcx, [rsp + 0x28]
call fcn.140002970
mov sil, 0xff
mov ebx, ebp
xor bl, sil
mov edx, ebp
or dl, 0xd8
mov ecx, ebx
or cl, 0x27
xor cl, dl
mov edx, ecx
xor dl, sil
mov r8b, 0xd9
and dl, r8b
mov r9b, 0x26
and cl, r9b
or cl, dl
mov edx, ecx
xor dl, sil
mov r10b, 0xe9
and dl, r10b
and cl, 0x16
or cl, dl
mov r11b, 6
mov edx, ecx
xor dl, r11b
and bl, r11b
and bpl, 0xf9
or bpl, bl
mov ebx, ebp
xor bl, 0x20
xor cl, r10b
xor bpl, r11b
mov eax, ecx
and al, r8b
and dl, r9b
or dl, al
and r8b, bpl
and bl, r9b
or bl, r8b
xor bl, dl
or bpl, cl
xor bpl, sil
or bpl, bl
xor sil, bpl
and sil, 0xbe
mov al, 0x41
and bpl, al
or bpl, sil
xor bpl, al
setne al
mov rcx, qword [rsp + 0xc0]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret