Function at 0x180001870
Capabilities:
Check mutex on windows
Decode data using base64 via dword translation table

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movabs rsi, 0x8000000000000000
lea rdx, str.XUXbUCString::new_failedsrclib.rs
lea rcx, [rsp + 0x50]
mov r8d, 5
call sym.__str_as_alloc::ffi::c_str::CString::new::SpecNewImpl_::spec_new_impl::hace0a52bb9459d99
cmp qword [rsp + 0x50], rsi
jne 0x180002685
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
xor ecx, ecx
xor edx, edx
mov r8, rdi
call sub.KERNEL32.DLL_CreateMutexA
call sub.KERNEL32.DLL_GetLastError
mov esi, 1
cmp eax, 0xb7
je 0x180001d11
lea rcx, [rsp + 0xe0]
call sym.std::env::args::hfa5229be6c37f0fd
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xe0]
call sym.__std::env::Args_as_core::iter::traits::iterator::Iterator_::next::hc3318d8d0647c904
mov rbx, qword [rsp + 0x50]
movabs rax, 0x8000000000000000
cmp rbx, rax
jne 0x180001976
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf8]
mov qword [rsp + 0xc0], 0
sub rdi, rsi
je 0x180001afb
shr rdi, 5
add rsi, 8
jmp 0x18000195d
add rsi, 0x20
dec rdi
je 0x180001afb
mov rdx, qword [rsi - 8]
test rdx, rdx
je 0x180001950
mov rcx, qword [rsi]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x180001950
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x38], r13
call sym.__std::env::Args_as_core::iter::traits::iterator::Iterator_::size_hint::hbe53340f8eb761d6
mov rax, qword [rsp + 0x70]
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
cmp rcx, 5
mov r12d, 4
cmovae r12, rcx
lea rax, [r12*8]
movabs rdx, 0x555555555555555
lea rsi, [rax + rax*2]
cmp rcx, rdx
ja 0x1800026ca
mov rax, qword [0x1800e41a8]
movzx eax, byte [rax]
mov edi, 8
mov edx, 8
mov rcx, rsi
call sym.__rust_alloc
test rax, rax
je 0x1800026cc
mov rbp, rax
mov qword [rax], rbx
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
movups xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov ebx, 1
mov r15d, 0x28
lea r14, [rsp + 0x70]
lea r13, [rsp + 0xa8]
jmp 0x180001a7e
mov qword [rbp + r15 - 0x10], rsi
mov qword [rbp + r15 - 8], rdi
mov qword [rbp + r15], r12
inc rbx
mov qword [rsp + 0xb8], rbx
add r15, 0x18
lea rcx, [rsp + 0x100]
mov rdx, r14
call sym.__std::env::Args_as_core::iter::traits::iterator::Iterator_::next::hc3318d8d0647c904
mov rsi, qword [rsp + 0x100]
movabs rax, 0x8000000000000000
cmp rsi, rax
je 0x180001b2d
mov rdi, qword [rsp + 0x108]
mov r12, qword [rsp + 0x110]
cmp rbx, qword [rsp + 0xa8]
jne 0x180001a60
lea rcx, [rsp + 0x50]
mov rdx, r14
call sym.__std::env::Args_as_core::iter::traits::iterator::Iterator_::size_hint::hbe53340f8eb761d6
mov r8, qword [rsp + 0x50]
inc r8
mov rax, 0xffffffffffffffff
cmove r8, rax
mov rcx, r13
mov rdx, rbx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hb466c4f8b1939ae0
mov rbp, qword [rsp + 0xb0]
jmp 0x180001a60
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x180001ce2
mov rcx, qword [rsp + 0xe0]
shl rdx, 5
mov ebx, 8
mov r8d, 8
call sym.__rust_dealloc
jmp 0x180001ce7
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
sub rdi, rsi
mov r13, qword [rsp + 0x38]
je 0x180001b72
shr rdi, 5
add rsi, 8
jmp 0x180001b59
add rsi, 0x20
dec rdi
je 0x180001b72
mov rdx, qword [rsi - 8]
test rdx, rdx
je 0x180001b50
mov rcx, qword [rsi]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x180001b50
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x180001b93
mov rcx, qword [rsp + 0x70]
shl rdx, 5
mov r8d, 8
call sym.__rust_dealloc
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rsp + 0xc0], xmm0
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0xd0], rsi
mov rbx, qword [rsp + 0xc8]
test rsi, rsi
je 0x180001ce7
lea rax, [rsi*8]
lea rax, [rax + rax*2]
xor ecx, ecx
mov edx, 0x493a692f
jmp 0x180001bed
add rcx, 0x18
cmp rax, rcx
je 0x180001cb9
cmp qword [rbx + rcx + 0x10], 6
jne 0x180001be0
mov r8, qword [rbx + rcx + 8]
mov r9d, dword [r8]
xor r9d, edx
movzx r8d, word [r8 + 4]
xor r8d, 0x4949
or r8d, r9d
jne 0x180001be0
mov ecx, 5
xor edx, edx
call sym.std::thread::sleep::h3228970c2e27082b
mov rax, qword [0x1800e41a8]
movzx eax, byte [rax]
mov ecx, 0x19fd7
mov edx, 1
call sym.__rust_alloc
test rax, rax
je 0x1800026dc
mov rbx, rax
mov qword [rsp + 0x50], 0x19fd7
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
lea r13, str.6MA9AQDAPQEAru2aTqiVA5MYTBKjln2GR96qlN97LoK4BAkQAxx7MmoAAAAAZ5gYL8oU_hRxvzAEsv__6T7gpyCh3ISxpNEGLY5DrBpJ5wAcWEZuOYcR38iBuC6jKL7qD4rodZ_2OomogXCovDs_nTVg8_56vmZwCcvxjUqn21dle__jWJzLNwo2Z7DDGjH0GYhDqgnGfQqCGQl4zMtwi92WwFwleNQP6d3iYcTm_e3i9BQly54nw021O5xdXm7WgrilOELiDhXlYjTvcrc0Iq_Vqijtg5FjVPP9mxfUGWRrAhrn3dNIw_yLJAEKQRP3QVAiUINSlzb4st5dsf_XZFTtlwNUjGW7GrikErqGJuGIM4o3gersagXMILx9LhLKEP9uLHc3vo35abeYd6nhVNUPfletisejauN8dKhK0HVTbr4dPiMfb1642Kjvhfe9PZBnEbaoecho5FPRr2E_vYIbsLMXlAqjWuKq3xy15XZCrITOdmze7Q0Qb6EyRYlJh7DDMeCM69XmyXTvMZ252sQKiONUEhJZ1YnrPA6grY9Kp9vnDVbLV_5D9NxyFq2NHmPPi9ugsrhzGyjWvIZAVhyg69w3Lh8VicI4EVe5gW7e1l90aymb46xdL3JpvfkdVYPu3Q1F_YfIRho8mK4P0InkEZ7sN8Pb8cRRLoruC4EIp9f17vr3cgl9kraG1qzd0Ar98_ectuzRp_XZlRwwll7otPz8AAAAAAAAAAAEAAAADAAAAAAAAAOuWUSGxvLUjQPLdB6p6dRq9ZSLHkTWcQITvNhGLQ4hrlE7xsCn6VM4_hrhMqQiQI7WAMk03E07BexNy2QMh3Gu_rXKIIYP5OOUtSmLvh8dUUOxCA1jCSqDq8xC5swC7lLnWn9xpKzKffEjXsaPRDGY2WemsiemgZyIQHB8NhhRvDT5iI2ohYQtY5CJXQS0LQBHBDidXdJqpfmX3pm8essUpNVYSqaPc7m83iQykduZOBUzOWN4zJ0Q4j8bY0oXXiA2DUEjrECR1R3W3UWSDO5dEZg59AzwuoPkyqFPnIX2Pv9fauo3kSf3BIojGC6eywMk5TxD3F6kKKACW1ZIglMomL7qiPn4Fvz9In2V9E5AfNcW8YUjMsJj6Dl_ewne7CN4LHp2_Z27X8meTVMVvkTif_SozBRt8AeGgSauFBrAytPOmxJWtWxRckvBn25xzfPK3fKSBjRa0WAhtZepqQLE7s4QTMCgRyEqC54kpyvzIyfkbNvxm8rkoyjQHugLsK3uOX5IKUiAlgUbws0P8FfSbJT9HYGSaUUEZRf1kBounRzmn9uZiw7nWoqWKlSHoyYssBwfsh1sM94MRuTqeJk8nRU9yotkkDScBbpP73XxGoPWGsgnxERmV6tD3zjgWVQc65W88Gl1M1UGrYLJyEEzhTLaBjwrt_0GlGM794xLRmqkt8NsrYjxRzeqQ4aVd69mP1lOm8zI8kUUy6Io93MbURrm5eUbSGfIqKD0eLSQGpE27FFGYqL9IeESVdO_x82IQccHBz86mJyhJDHhV_9t7pCXRCrd0OEVp4g8urgVA6VyIcdmg56e2bVQTsvOFQf4AGFn1w7yY_1spq8ZxyBEMyqTqvPJkyf0xxBostNYmvsGqFnY6Ql4NFL6NJ54yJMhShFHNeBNxfH67Bv6JSXyWhqoPl601Goel0lTXYUcmMYmKhavDOEbhBb1KMtJ016tfhBLZW8fqnd4N1lFZOXxh_niblyH9YvDzaVginoV4fincQq3LdqD7vqlhtXrFaO397OOivvthiHtVP6parT8On2xpa8P4fduF6DyhA023zLVJ6bIpMPu2hChKKnP7jljL_3lFEhu7d3CF9kuLbalaKC1wqtOqXuFDWsEHcWnUjP3e7XVwTUtF3fwOcNlUMi0Tw6oSGoyrNepLdtzwo1Aixg5cChvdosfWsQQctesbOjAG0RYl5TcCiR_SMbEsFn5wiDCMEebb_baDdsHffkPoI8hA0Rc0FxK25oSRQtV5bFp94UkIfo0Eh5btneF6rfNFqL9fMHpNGpFBPAmJtjDkQGLEYm7RP00DYvlPQ5Vcxi_yZQ77zcbSqHBhbzTBKbIENFmioMpvN4YCbEBBQBaE_JEmEKmNXOtt_trhs19jp06RaSDpo8HvVuX5R2SHP8IxaNW2qpWi9ls1nomQvyjK0fe468K6sD9_2kQOiBbPyXEZ8tG1A6MbAPjfq9KfluXuZMyW6L5isYosLreBG_scpcBXkgCycWFf2YipWfc9Xqcvi57QiHZ8E8jqPb_0DIcIBahlB4VOBgec6kRsPctAkveIt2DSZKzl4R7cFzEdcyd1jBzZa32rEy6cN4O171VSy6iPs4htS4bVtiMsPc20xDDXlr1cz_J0tndYBCleJXUVfrEzKDXzp_eShefuA9rcv3ptfroK03v72SHLVi97bMmXry_FpTqrYdIqIPb10VzflCax3AGS8Q8y96gzRvosf2JvY4s6Ix83YDUuQN7NUQZAHELb8mNKNCkmt2GOM5lxhpmm06vrdhV7t0nI23U546bUISj7PTyL0zbx5ijYBjfBB0dmN3eiJkVtDFLGx1esS9QV_XgUYPvjVgdWAwubGqKCm_hOqLfMwfNw9FucoVChA6zVHOeP9rHsT7MW3lAWJUB3mh39Yv4EGxntMUmYetGlmBEuZE92doHi0dwUa0O4eNG5qHZ6nm95LGxaYu2oOJc1Qolst_bag_Npm0xsjN4uIGwqXxoNPydmJzBYs31FQEd6zrzbYcLZJ9P8XIsgOlNn8rB7GIoX7n6VDKzEzDmTuy_yJJeDRC903zrvcUXbwAG7S52ztGG6de0CRRGs_laTAj5EwBpTni5j6YOFd4PzdDxtN3nJCAeYkLdmlLIe2GUXAcGptezJnVtscVz6sml513eo3sm1a1mke8JSdWzemIgRo2EzY8pKwcgWPmgbUfR4yTsD55z0JFWS7E23A2Uv56_RFOSP1Vn9Z4xRPWnBlfIHHEGBA5WI8BTsNMNTFBNa7maiA3voBPTxil9toKeg2t_GVgyo9bkEN1yb0VekaYRPaae0Bc_aqBnP_xJzRq7wom2dn2Yz0GBBu5UrqgkmwV5FdOWLL_RU1Iak_14BCLjFNCXcUzuUOlnYgnyvhXyiS_1UCWl3jRkulZHfWS4w4rBmsZWC8T9AdiUFdv4l2DbBjmSnsro634mCxCYldZiezq2YwH2Ap9Farex6PIOmWCzrCKv35jQ5te5A4xHY9Tpo8gpMiyiNbskOX5ad9Vtham6sZXFffEhXhMnAfIJ7UQW1geY3vBoUdVq9MXRJ7gUMWqtpAB6G5MhS8XkleGd2WAwej2TVRZupXq4HEmcP_7BtuvxCF0yQfKrtSzT79mjMBmaIYB6kgKoHmmADj_5NbrpM_G2uM30vyNbCJpYp1OkyPSRir3CKpoHGAkIP5ZlXSuctwrB0OgGSEbn4YPfT55K4dUsiAhUV1JGNapDyOx1DvQ68aBWm9nuqaMntiT5SC8RN2_RA4siRMOBQgVwCN_sWdrwZK6OvmVWDQ3VViFAj1z8lix62o1utzlfLN5ck4VQiIb2H6TVc6LFxbZZsC7X9hhxQD0RDLbtsZPPmqfHko93MPOyYTbUGQbG1HdYOiCTSkwQ6YpkzqU4EX_JspPhLefjG_Ea74ePbgUBsNw3yMcQe8GwNHIthqI3oNbRXqh1SFFOyoatsDlRmQjHqRVHVIwZaDZByIHBRwE3A42psl8mSZML4XYcgs3FaVXALwDw8hp4UWMmZRQOfWNYUq8iSx0n4LZVvgJhZBmjKnPVmipF5wMwCTRTD6NChTlrbHxtac8YBIL0JJhK8K1evnAvNft1PtkpMYz2MPMZOCaYU84zXofyNMI0K8nlY7oVexFruVB5a2HTKpIRGE6jfiDW7Q1ZghisBbt5plQfRKQoB6Br1W7B3WyCvmmbYGqThUebpIKrrAUgmQx5mFPs4Crl8fKVuAJqSNG_omjbrCF90ugAFrgG8PTxLw6rwg
mov edx, 0x22a74
mov rcx, r13
call sym.base64::decode::num_chunks::ha91cba660b0136a9
mov ecx, 6
mov qword [rsp + 0x40], rax
mul rcx
jo 0x1800026f0
mov rsi, rax
test rax, rax
je 0x180001d40
cmp rsi, 0x19fd8
jb 0x180001d45
lea rcx, [rsp + 0x50]
mov rdx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h4924c39255c69260
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
lea rbx, [rdi + r14]
jmp 0x180001d4b
lea rdi, [rbx + 8]
jmp 0x180001cc9
add rdi, 0x18
dec rsi
je 0x180001ce7
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x180001cc0
mov rcx, qword [rdi]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x180001cc0
mov ebx, 8
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x180001d0a
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, rbx
call sym.__rust_dealloc
xor esi, esi
mov rdi, qword [rsp + 0x48]
mov byte [rdi], 0
test r13, r13
je 0x180001d2a
mov r8d, 1
mov rcx, rdi
mov rdx, r13
call sym.__rust_dealloc
mov eax, esi
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
jmp 0x180001d6a
xor r14d, r14d
mov rdi, rbx
lea r8, [rsi - 1]
mov rcx, rbx
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [r14 + rsi]
dec rax
mov byte [rdi + rax], 0
add r14, rsi
mov rbx, rdi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x60], r14
add qword [rsp + 0x40], 0xffffffffffffbab4
mov ecx, 0x1a
lea rdx, [0x18009b260]
lea r8, [0x18009b15c]
xor ebx, ebx
mov qword [rsp + 0xa0], r14
nop word [rax + rax]
cmp rcx, r14
ja 0x180002512
movzx eax, byte [rbx + r13]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x180002527
movzx eax, byte [rbx + r13 + 1]
movzx r10d, byte [rax + r8]
cmp r10, 0xff
je 0x1800024f2
movzx eax, byte [rbx + r13 + 2]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x1800024fc
movzx eax, byte [rbx + r13 + 3]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x1800024d1
movzx eax, byte [rbx + r13 + 4]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x180002539
movzx eax, byte [rbx + r13 + 5]
movzx r9d, byte [rax + r8]
cmp r9, 0xff
je 0x180002544
movzx eax, byte [rbx + r13 + 6]
movzx ebp, byte [rax + r8]
cmp rbp, 0xff
je 0x18000252e
movzx eax, byte [rbx + r13 + 7]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x18000254f
shl r11, 0x3a
shl r10, 0x34
or r10, r11
shl rdi, 0x2e
shl rsi, 0x28
or rsi, rdi
or rsi, r10
shl r15, 0x22
shl r9, 0x1c
or r9, r15
shl ebp, 0x16
or rbp, r9
or rbp, rsi
shl r12d, 0x10
or r12, rbp
bswap r12
mov rax, qword [rsp + 0x30]
mov qword [rax + rcx - 0x1a], r12
movzx eax, byte [rbx + r13 + 8]
movzx r10d, byte [rax + r8]
cmp r10, 0xff
je 0x1800024dc
movzx eax, byte [rbx + r13 + 9]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x18000255a
movzx eax, byte [rbx + r13 + 0xa]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x1800024c6
movzx eax, byte [rbx + r13 + 0xb]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x1800024e7
movzx eax, byte [rbx + r13 + 0xc]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x180002565
movzx eax, byte [rbx + r13 + 0xd]
movzx r9d, byte [rax + r8]
cmp r9, 0xff
je 0x1800024bb
movzx eax, byte [rbx + r13 + 0xe]
movzx ebp, byte [rax + r8]
cmp rbp, 0xff
je 0x180002507
movzx eax, byte [rbx + r13 + 0xf]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x1800024b0
shl r10, 0x3a
shl r11, 0x34
or r11, r10
shl rdi, 0x2e
shl rsi, 0x28
or rsi, rdi
or rsi, r11
shl r15, 0x22
shl r9, 0x1c
or r9, r15
shl ebp, 0x16
or rbp, r9
or rbp, rsi
shl r12d, 0x10
or r12, rbp
bswap r12
mov rax, qword [rsp + 0x30]
mov qword [rax + rcx - 0x14], r12
movzx eax, byte [rbx + r13 + 0x10]
movzx r10d, byte [rax + r8]
cmp r10, 0xff
je 0x1800025d6
movzx eax, byte [rbx + r13 + 0x11]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x180002596
movzx eax, byte [rbx + r13 + 0x12]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x1800025ae
movzx eax, byte [rbx + r13 + 0x13]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x180002586
movzx eax, byte [rbx + r13 + 0x14]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x1800025c6
movzx eax, byte [rbx + r13 + 0x15]
movzx r9d, byte [rax + r8]
cmp r9, 0xff
je 0x1800025ce
movzx eax, byte [rbx + r13 + 0x16]
movzx ebp, byte [rax + r8]
cmp rbp, 0xff
je 0x1800025b6
movzx eax, byte [rbx + r13 + 0x17]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x1800025de
shl r10, 0x3a
shl r11, 0x34
or r11, r10
shl rdi, 0x2e
shl rsi, 0x28
or rsi, rdi
or rsi, r11
shl r15, 0x22
shl r9, 0x1c
or r9, r15
shl ebp, 0x16
or rbp, r9
or rbp, rsi
shl r12d, 0x10
or r12, rbp
bswap r12
mov rax, qword [rsp + 0x30]
mov qword [rax + rcx - 0xe], r12
movzx eax, byte [rbx + r13 + 0x18]
movzx r10d, byte [rax + r8]
cmp r10, 0xff
je 0x18000258e
movzx eax, byte [rbx + r13 + 0x19]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x1800025be
movzx eax, byte [rbx + r13 + 0x1a]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x1800025ee
movzx eax, byte [rbx + r13 + 0x1b]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x180002570
movzx eax, byte [rbx + r13 + 0x1c]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x1800025e6
movzx eax, byte [rbx + r13 + 0x1d]
movzx r9d, byte [rax + r8]
cmp r9, 0xff
je 0x18000257b
movzx eax, byte [rbx + r13 + 0x1e]
movzx ebp, byte [rax + r8]
cmp rbp, 0xff
je 0x18000259e
movzx eax, byte [rbx + r13 + 0x1f]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x1800025a6
lea rax, [rbx + 0x20]
shl r10, 0x3a
shl r11, 0x34
or r11, r10
shl rdi, 0x2e
shl rsi, 0x28
or rsi, rdi
or rsi, r11
shl r15, 0x22
shl r9, 0x1c
or r9, r15
shl ebp, 0x16
or rbp, r9
or rbp, rsi
shl r12d, 0x10
or r12, rbp
bswap r12
mov r9, qword [rsp + 0x30]
mov qword [r9 + rcx - 8], r12
add rcx, 0x18
cmp rbx, 0x22a29
mov rbx, rax
jb 0x180001da0
mov rax, qword [rsp + 0x40]
cmp rax, 1
jbe 0x18000220b
lea rcx, [0x18009b350]
cmp r14, 0x19fce
jb 0x180002746
mov word [r9 + 0x19fcc], 0
mov dword [r9 + 0x19fc8], 0xc35bc12b
cmp rax, 2
jne 0x180002218
mov r15d, 0x22a68
mov ebx, 0x19fce
jmp 0x18000224f
mov r15d, 0x22a60
mov ebx, 0x19fc8
jmp 0x18000224f
cmp r14, 0x19fd4
jb 0x180002753
mov word [r9 + 0x19fd2], 0
mov dword [r9 + 0x19fce], 0
cmp rax, 3
jne 0x180002760
mov r15d, 0x22a70
mov ebx, 0x19fd4
xor ecx, ecx
xor r11d, r11d
xor edi, edi
xor r10d, r10d
xor r9d, r9d
mov qword [rsp + 0x40], r15
xor esi, esi
mov r12d, edi
xor ebp, ebp
nop dword [rax + rax]
lea rdi, [r12 + rbp]
lea rax, [r15 + rbp]
movzx eax, byte [r13 + rax]
cmp rax, 0x3d
jne 0x1800022b4
lea r14, [rsi + rbp]
test r14b, 2
je 0x1800025f6
test edi, edi
cmove r11, r14
lea rax, [r15 + rbp]
inc rax
inc rbp
cmp rax, 0x22a74
mov rdx, qword [rsp + 0xa0]
jne 0x180002270
jmp 0x180002307
test edi, edi
jg 0x180002735
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x180002723
lea r12, [r15 + rbp]
add r12, 0xfffffffffffdd58d
add r15, rbp
inc r15
add rsi, rbp
inc rsi
inc r10
imul ecx, r10d, 0x3a
shl r14, cl
or r9, r14
mov ecx, eax
test r12, r12
mov rdx, qword [rsp + 0xa0]
jne 0x180002263
jmp 0x180002309
mov eax, ecx
cmp r10, 8
ja case.0x180002321.1
lea rcx, section..rdata
movsxd r8, dword [rcx + r10*4]
add r8, rcx
jmp r8
test r9, r9
mov r13, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
je 0x1800023b8
jmp 0x18000270d
mov ecx, 0x20
jmp 0x180002364
mov ecx, 8
jmp 0x180002364
mov ecx, 0x28
jmp 0x180002364
mov ecx, 0x10
jmp 0x180002364
mov ecx, 0x18
jmp 0x180002364
mov ecx, 0x30
mov r13, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov r8, r9
shl r8, cl
test r8, r8
jne 0x18000270d
dec ecx
shr ecx, 3
lea eax, [rcx + rbx]
inc eax
mov r10d, 0x38
nop dword [rax]
cmp rbx, rdx
jae 0x180002671
mov ecx, r10d
and cl, 0x38
mov r8, r9
shr r8, cl
mov byte [rdi + rbx], r8b
inc rbx
add r10d, 0xfffffff8
cmp rax, rbx
jne 0x180002390
mov rbx, rax
cmp rdx, rbx
jae 0x1800023c2
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x180002634
mov ecx, 0x40000
xor edx, edx
xor r8d, r8d
call sub.KERNEL32.DLL_HeapCreate
mov rcx, rax
mov edx, 8
mov r8, rbx
call fcn.180097b8c
mov rsi, rax
call sub.KERNEL32.DLL_GetLastError
test eax, eax
jne 0x180002415
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call sub.msvcrt.dll_memmove
call rsi
test r15, r15
je 0x18000242b
mov r8d, 1
mov rcx, rdi
mov rdx, r15
call sym.__rust_dealloc
mov rsi, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
test rdi, rdi
je 0x180002472
lea rbx, [rsi + 8]
jmp 0x180002459
add rbx, 0x18
dec rdi
je 0x180002472
mov rdx, qword [rbx - 8]
test rdx, rdx
je 0x180002450
mov rcx, qword [rbx]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x180002450
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x180002495
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov rdi, qword [rsp + 0x48]
mov byte [rdi], 0
mov esi, 1
test r13, r13
jne 0x180001d19
jmp 0x180001d2a
add rbx, 0xf
xor ecx, ecx
jmp 0x18000260c
add rbx, 0xd
xor ecx, ecx
jmp 0x18000260c
add rbx, 0xa
xor ecx, ecx
jmp 0x18000260c
add rbx, 3
xor ecx, ecx
jmp 0x18000260c
add rbx, 8
xor ecx, ecx
jmp 0x18000260c
add rbx, 0xb
xor ecx, ecx
jmp 0x18000260c
inc rbx
xor ecx, ecx
jmp 0x18000260c
add rbx, 2
xor ecx, ecx
jmp 0x18000260c
add rbx, 0xe
xor ecx, ecx
jmp 0x18000260c
mov r8, rdx
mov rdx, qword [rsp + 0xa0]
call sym.core::slice::index::slice_end_index_len_fail::h3e2d9e3a363f96f3
jmp 0x1800027ef
xor ecx, ecx
jmp 0x18000260c
add rbx, 6
xor ecx, ecx
jmp 0x18000260c
add rbx, 4
xor ecx, ecx
jmp 0x18000260c
add rbx, 5
xor ecx, ecx
jmp 0x18000260c
add rbx, 7
xor ecx, ecx
jmp 0x18000260c
add rbx, 9
xor ecx, ecx
jmp 0x18000260c
add rbx, 0xc
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x1b
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x1d
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x13
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x18
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x11
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x1e
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x1f
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x12
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x16
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x19
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x14
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x15
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x10
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x17
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x1c
xor ecx, ecx
jmp 0x18000260c
add rbx, 0x1a
xor ecx, ecx
jmp 0x18000260c
add r12d, ebp
test r12d, r12d
cmovg r14, r11
add r14, qword [rsp + 0x40]
mov al, 0x3d
xor ecx, ecx
mov rbx, r14
mov rdx, qword [rsp + 0x50]
movzx esi, al
shl esi, 8
or rsi, rcx
test rdx, rdx
je 0x18000262f
mov r8d, 1
mov rcx, qword [rsp + 0x30]
call sym.__rust_dealloc
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x1800bde80]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800bde64]
lea r9, [0x18009b068]
lea r8, [rsp + 0x70]
mov edx, 0x15
call sym.core::result::unwrap_failed::ha80c5d14a6d0986a
jmp 0x1800027ef
lea r8, [0x18009b278]
mov rcx, rbx
call sym.core::panicking::panic_bounds_check::h355e469b41f98a46
jmp 0x1800027ef
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea rax, [0x18009b3d8]
mov qword [rsp + 0x20], rax
lea rcx, [0x18009b3b5]
lea r9, sym.core::ptr::drop_in_place_alloc::ffi::c_str::NulError_::hb365b908577f7185
lea r8, [rsp + 0x70]
mov edx, 0x13
call sym.core::result::unwrap_failed::ha80c5d14a6d0986a
jmp 0x1800027ef
xor edi, edi
mov rcx, rdi
mov rdx, rsi
call sym.alloc::raw_vec::handle_error::h08cb50f4b6afae22
jmp 0x1800027ef
mov ecx, 1
mov edx, 0x19fd7
call sym.alloc::raw_vec::handle_error::h08cb50f4b6afae22
jmp 0x1800027ef
lea rcx, str.Overflow_when_calculating_output_buffer_length
lea r8, [0x18009b398]
mov edx, 0x2e
call sym.core::option::expect_failed::h30d53550386382a4
jmp 0x1800027ef
mov rcx, qword [rsp + 0x40]
lea rbx, [rcx + r10]
dec rbx
mov ecx, 2
jmp 0x18000260c
mov rbx, qword [rsp + 0x40]
add rbx, rsi
add rbx, rbp
xor ecx, ecx
jmp 0x18000260c
add r11, qword [rsp + 0x40]
mov al, 0x3d
xor ecx, ecx
mov rbx, r11
jmp 0x18000260c
mov r8, rcx
mov ecx, 0x19fce
jmp 0x180002515
mov r8, rcx
mov ecx, 0x19fd4
jmp 0x180002515
mov r8, rcx
mov ecx, 0x19fda
cmp r14, 0x19fda
jb 0x180002515
mov al, 0x3d
mov ebx, 0x22a72
xor ecx, ecx
jmp 0x18000260c
lea rax, str.Impossible:_must_only_have_0_to_8_input_bytes_in_last_chunk__with_no_invalid_lengths
mov qword [rsp + 0x100], rax
lea rax, [sym.__T_as_core::fmt::Display_::fmt::h3cd1c811560a7b4b]
mov qword [rsp + 0x108], rax
lea rax, str.internal_error:_entered_unreachable_code:
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0x100]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rdx, [0x18009b338]
lea rcx, [rsp + 0x70]
call sym.core::panicking::panic_fmt::h57c46dec66ad69af
ud2