Function at 0x180046780
Capabilities:
Execute command
Hash data with crc32

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x1f8]
sub rsp, 0x2f0
cmp dword [0x1802d32d8], 4
jne 0x180047054
mov r10, qword [0x1802d21c0]
lea rdx, [0x18027ac19]
mov qword [rax - 0x10], rbx
lea r11, [0x180272e80]
mov qword [rax - 0x18], rsi
mov r8b, 0x4d
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov rax, qword [r10 + 0x3ea0]
mov dword [rbp + 0x200], 0xc0c00000
mov dword [rbp + 0x204], 0x43d20000
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movss xmm1, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm1, dword [0x18027cd50]
addss xmm0, dword [0x18027cd00]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x180046874
cmp byte [rdx], r8b
jne 0x180046874
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r11 + rcx*4]
test r8b, r8b
jne 0x180046861
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1800468af
lea r8, str.Main
mov edx, 0xb
mov ecx, ebx
call fcn.180064050
lea r8, [rbp + 0x200]
mov edx, ebx
lea rcx, str.Main
call fcn.180038d70
xor eax, eax
mov qword [rbp + 0x208], 0
mov qword [rsp + 0x38], rax
lea r8, [0x180297e90]
mov qword [rsp + 0x30], rax
lea rcx, [0x18027772f]
mov dword [rsp + 0x28], eax
mov r9d, pe_nt_image_headers64
lea rax, [rbp + 0x208]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180076b40
mov qword [rbp + 0x210], 0
lea rdx, [rbp + 0x210]
movabs rax, 0x9eb3f474ec71c9f4
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x40], rax
movabs rbx, 0xffd63369a2bc6988
mov rax, qword [rsp + 0x40]
movabs rdi, 0x9eb3f4748907a8a7
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x50], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rbp + 0x58], rax
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rsp + 0x70], xmm0
call fcn.180070fc0
test al, al
je 0x180046a39
call fcn.18002bfd0
movdqa xmm1, xmmword [0x18027cf90]
lea r9, [rbp + 0x170]
mov eax, dword [str.loaded]
lea r8, [rbp + 0x180]
movaps xmm3, xmmword [0x18027d490]
lea rdx, [rbp + 0xa0]
movaps xmm2, xmmword [0x18027d320]
lea rcx, [rbp + 0x150]
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x170], xmm3
movups xmmword [rbp + 0xa0], xmm0
mov dword [rbp + 0xa0], eax
movzx eax, word [0x18027acac]
movups xmmword [rbp + 0x150], xmm0
mov word [rbp + 0xa4], ax
movdqu xmmword [rbp + 0xb0], xmm1
mov byte [rbp + 0xa6], 0
movdqa xmm1, xmmword [0x18027cf80]
movdqu xmmword [rbp + 0x160], xmm1
mov dword [rbp + 0x150], 0x73676f4c
mov byte [rbp + 0x154], 0
movdqa xmmword [rbp + 0x180], xmm2
call fcn.180016ea0
movss xmm1, dword [0x18027ce50]
call fcn.18005cda0
mov qword [rbp + 0x218], 0
lea rdx, [rbp + 0x218]
movabs rax, 0x9eb3f474ed66c7eb
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x80]
mov qword [rbp + 0x68], rax
xorps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp - 0x80], xmm0
call fcn.180070fc0
test al, al
je 0x180046aba
call fcn.18002c5d0
mov qword [rsp + 0x48], 0
lea rdx, [rsp + 0x48]
movabs rax, 0xf2dcb254e762d8e8
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x70], rax
movabs rax, 0xffd63369a2ce0cec
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x68], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x70], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x70]
mov qword [rbp + 0x78], rax
xorps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp - 0x70], xmm0
call fcn.180070fc0
movabs rsi, 0x8047457b7a3f9102
movabs r14, 0xb5907dfe7867e971
test al, al
je 0x180046c0d
movabs rax, 0xa4f0d400fb66dcd4
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rax, 0xab811d08c9d206dc
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0xb5907dfe7867e937
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rbx
mov qword [rbp + 0xc0], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xc8], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xd0], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x40]
movdqa xmm1, xmmword [rbp - 0x30]
xorps xmm0, xmmword [rbp + 0xc0]
mov qword [rbp + 0xd8], rax
xorps xmm1, xmmword [rbp + 0xd0]
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmmword [rbp - 0x40], xmm0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov qword [rsp + 0x50], 0
lea rdx, [rsp + 0x50]
movabs r15, 0xbed7861bea74c1e3
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x40], r15
movabs r12, 0xacf6561fcbc80ac9
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x18], rax
movabs rax, 0xb5907dfe0c158805
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 8], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rbx
mov qword [rbp + 0xe0], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xe8], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xf0], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x20]
movdqa xmm1, xmmword [rbp - 0x10]
xorps xmm0, xmmword [rbp + 0xe0]
mov qword [rbp + 0xf8], rax
xorps xmm1, xmmword [rbp + 0xf0]
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
call fcn.180070fc0
test al, al
je 0x180046d0d
xorps xmm0, xmm0
lea rdx, [rbp + 0x190]
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
call fcn.1800059c0
call fcn.1800040f0
mov qword [rsp + 0x58], 0
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x40], r15
lea rcx, [rbp]
mov rax, qword [rsp + 0x40]
mov qword [rbp], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 8], rax
movabs rax, 0xb5907dfe78178605
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x10], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x18], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rbx
mov qword [rbp + 0x100], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp]
movdqa xmm1, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0x100]
mov qword [rbp + 0x118], rax
xorps xmm1, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmmword [rbp], xmm0
call fcn.180070fc0
mov r12, qword [rsp + 0x2d0]
test al, al
je 0x180046ddd
call fcn.180004180
mov qword [rsp + 0x60], 0
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x40], r15
lea rcx, [rbp - 0x60]
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x60], rax
movabs rax, 0xffd6410cd4ce0cdb
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x80], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x60]
mov qword [rbp + 0x88], rax
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp - 0x60], xmm0
call fcn.180070fc0
mov r15, qword [rsp + 0x2c0]
test al, al
je 0x180046f9a
movabs rax, 0xeadbd400fb66dcd4
movabs rcx, 0xf74ff15d4bb0e81c
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
movabs rax, 0x96b21c4698cf19fc
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x28], rax
movabs rax, 0xd2f7539a0a088a02
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x30], rax
movabs rax, 0xe734371c0954a72d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x38], rax
movabs rax, 0x7f1d2a280dc71cd3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x40], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x48], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rbx
mov qword [rbp + 0x120], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r14
mov qword [rbp + 0x128], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x130], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x138], rax
movabs rax, 0x7f1d2a280d926a9b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x140], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmm1, xmmword [rbp + 0x30]
xorps xmm1, xmmword [rbp + 0x130]
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmm0, xmmword [rbp + 0x40]
mov qword [rbp + 0x148], rax
xorps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x40], xmm0
movdqa xmmword [rbp + 0x30], xmm1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov qword [rsp + 0x68], 0
lea rdx, [rsp + 0x68]
movabs rax, 0xdd939015e66bc6f2
lea rcx, [rbp - 0x50]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x200]
mov qword [rbp - 0x50], rax
movabs rax, 0xffd63369d6dd0ce0
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x200]
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x200], rdi
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x200], rbx
mov rax, qword [rbp + 0x200]
movdqa xmm0, xmmword [rbp - 0x50]
mov qword [rbp + 0x98], rax
xorps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp - 0x50], xmm0
call fcn.180070fc0
mov r14, qword [rsp + 0x2c8]
mov rdi, qword [rsp + 0x2d8]
mov rsi, qword [rsp + 0x2e0]
mov rbx, qword [rsp + 0x2e8]
test al, al
je 0x18004704f
mov byte [0x1802d2081], 1
call fcn.180056830
add rsp, 0x2f0
pop rbp
ret