Function at 0x180044390
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, reloc.SHLWAPI.dll_SHRegGetIntW
movaps xmmword [rax - 0x58], xmm6
lea r14d, [rcx + 0x35c]
movaps xmmword [rax - 0x68], xmm7
mov r13, rdx
mov rdx, qword [rsp + 0x60]
mov r12, r9
movaps xmmword [rax - 0x78], xmm8
mov r15, r8
movaps xmmword [rax - 0x88], xmm9
mov esi, ecx
mov qword [rsp + 0x78], rdx
mov ebx, ecx
lea r10, [0x180000000]
cmp ecx, r14d
jae 0x1800449d1
mov eax, dword [rbp + 0x60]
mov rdi, qword [rsp + 0x60]
mov dword [rbp + 0x60], eax
cmp ebx, 0xc4
ja 0x1800448e2
je 0x1800448d3
mov eax, ebx
sub eax, 0x3a
je 0x180044477
sub eax, 0x34
je 0x180044456
sub eax, 0x19
je 0x18004443e
sub eax, 9
je 0x1800449c0
cmp eax, 0x1f
je 0x18004496b
jmp 0x1800449ae
mov eax, dword [r15]
cdq
sub eax, edx
mov rdx, qword [rsp + 0x78]
sar eax, 1
mov r9d, eax
mov dword [rbp + 0x60], eax
jmp 0x1800449b2
movzx eax, byte [r12]
mov byte [r15], al
movzx eax, byte [r12 + 1]
mov byte [r15 + 1], al
movzx eax, byte [r12 + 2]
mov byte [r15 + 2], al
jmp 0x1800449ae
mov eax, dword [r13 + 0x10]
dec eax
cmp eax, 0x11
ja case.0x180044493.10
cdqe
mov ecx, dword [r10 + rax*4 + 0x44d70]
add rcx, r10
jmp rcx
mov eax, SHTestTokenMembership
nop word [rax + rax]
cmp eax, 0xf3
je 0x180044522
add eax, 0x4272
cmp eax, 0x4272
jbe 0x1800444a0
mov eax, 0xc7
nop dword [rax + rax]
cmp eax, 0xc7
je 0x180044578
add eax, 0x81
cmp eax, 0x148
jb 0x1800444c0
mov ebx, 0x12b
nop dword [rax]
mov eax, ebx
sub eax, 0x129
je 0x1800445e8
sub eax, 1
je 0x1800445b8
cmp eax, 1
jne 0x1800445bf
xor r9d, r9d
mov dword [rbp - 0x78], 0x18
lea r8, [rbp - 0x78]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
jmp 0x1800445bf
xor r9d, r9d
mov dword [rsp + 0x58], 0x18
lea r8, [rsp + 0x58]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdx, r15
mov ecx, 0x33
mov rdi, rax
call fcn.180045580
mov qword [rsp + 0x70], rax
movsd xmm0, qword [rsp + 0x70]
movsd qword [rdi + 8], xmm0
mov rdx, qword [rsp + 0x78]
lea r10, [0x180000000]
mov ebx, 0x3a
mov qword [rdi], r13
jmp 0x1800449ae
xor r9d, r9d
mov dword [rsp + 0x50], 0x18
lea r8, [rsp + 0x50]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov r9, r15
xor r8d, r8d
xor edx, edx
mov ecx, SHTestTokenMembership
mov rdi, rax
call fcn.1800206c0
movd xmm0, eax
cvtps2pd xmm1, xmm0
movsd qword [rdi + 8], xmm1
jmp 0x18004455f
mov eax, dword [r15 + 4]
mov dword [rdi + 8], eax
dec ebx
cmp ebx, 0x128
ja 0x1800444e0
mov ebx, 0xb9
cmp ebx, 0xb9
je 0x180044610
cmp ebx, 0x194b
je 0x18004455f
jmp 0x180044636
mov eax, dword [r15 + 4]
lea rcx, [rbp - 0x70]
mov dword [rbp - 0x70], eax
xor r9d, r9d
mov rax, qword [r13 + 0x28]
lea edx, [r9 + 0x64]
mov r8, qword [rax + 8]
call fcn.180060df0
mov qword [rdi + 0x10], rax
jmp 0x18004455f
xor r9d, r9d
mov dword [rbp - 0x68], 0x18
lea r8, [rbp - 0x68]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
mov rax, qword [r15 + 4]
mov qword [rdi + 8], rax
add ebx, 0x1892
cmp ebx, 0x3124
jbe 0x1800445d2
mov ebx, 0x11e
nop dword [rax]
mov eax, ebx
sub eax, 0x11d
je 0x18004455f
cmp eax, 1
jne 0x180044688
xor r9d, r9d
mov dword [rbp - 0x60], 0x18
lea r8, [rbp - 0x60]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
mov rax, qword [r15 + 4]
mov qword [rdi + 8], rax
dec ebx
cmp ebx, 0x11c
ja 0x180044650
xor r9d, r9d
mov dword [rbp - 0x58], 0x18
lea r8, [rbp - 0x58]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
mov rax, qword [r15 + 4]
mov qword [rdi + 8], rax
jmp 0x18004455f
mov ebx, reloc.SHLWAPI.dll_StrCmpCW
mov eax, ebx
sub eax, 0x9c
je 0x1800446d6
cmp eax, 0x73
je 0x18004455f
jmp 0x18004470c
xor r9d, r9d
mov dword [rbp - 0x50], 0x18
lea r8, [rbp - 0x50]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
xor r8d, r8d
mov ecx, 0x97
lea rdx, [rax + 8]
mov rax, qword [r15 + 4]
mov qword [rdx], rax
call fcn.180028870
add ebx, 0x73
cmp ebx, 0x182
jb 0x1800446c2
mov ebx, 0x91
nop dword [rax]
mov eax, ebx
sub eax, 0x91
je 0x180044734
cmp eax, 0x19
je 0x18004455f
jmp 0x18004476d
xor r9d, r9d
mov dword [rbp - 0x80], 0x18
lea r8, [rbp - 0x80]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xeb
lea rdx, [rax + 8]
mov rax, qword [r15 + 4]
mov qword [rdx], rax
call fcn.1800258e0
add ebx, 0x19
cmp ebx, 0xc3
jb 0x180044720
mov ebx, reloc.SHLWAPI.dll_SHRegGetIntW
nop dword [rax]
mov eax, ebx
sub eax, reloc.SHLWAPI.dll_SHRegGetIntW
je 0x1800447bb
sub eax, 1
je 0x180044799
cmp eax, 1
je 0x18004455f
jmp 0x1800447c8
mov r8, qword [rbp + 0x80]
mov r9, r13
mov rdx, r15
mov dword [rsp + 0x20], 0x79
mov rcx, r12
call fcn.180044040
mov rdi, rax
jmp 0x1800447c8
mov eax, dword [r15]
and al, 7
cmp al, 2
jne case.0x180044493.10
inc ebx
cmp ebx, 0x11b
jb 0x180044780
mov ebx, 0xd0
mov eax, ebx
sub eax, 0xd0
je 0x1800447f5
cmp eax, 1
jne 0x180044831
mov eax, dword [r15 + 8]
sub eax, dword [r15 + 4]
mov dword [rdi + 0x10], eax
jmp 0x18004455f
mov eax, dword [r15]
and al, 7
cmp al, 2
jne case.0x180044493.10
xor r9d, r9d
mov dword [rsp + 0x68], 0x18
lea r8, [rsp + 0x68]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
mov rdi, rax
movsxd rax, dword [r15 + 4]
add rax, qword [rbp + 0x80]
mov qword [rdi + 8], rax
inc ebx
cmp ebx, 0xd2
jb 0x1800447d7
mov ebx, 0x54
cmp ebx, 0x57
jae case.0x180044493.10
mov eax, ebx
sub eax, 0x54
je 0x1800448bf
sub eax, 1
je 0x180044862
cmp eax, 1
je 0x18004455f
inc ebx
jmp 0x180044840
xor r9d, r9d
mov dword [rsp + 0x70], 0x20
lea r8, [rsp + 0x70]
mov edx, 0x106
mov rcx, r12
call fcn.180037f70
movsxd rcx, dword [r15 + 4]
mov rdi, rax
mov eax, dword [r15 + 8]
mov r9, rcx
add r9, qword [rbp + 0x80]
sub eax, ecx
mov rdx, qword [r13 + 0x28]
mov ecx, 0xa4
mov dword [rsp + 0x68], eax
lea r8, [rdi + 8]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.180029060
inc ebx
jmp 0x180044840
mov eax, dword [r15]
and al, 7
cmp al, 2
jne case.0x180044493.10
inc ebx
jmp 0x180044840
movzx eax, byte [r12 + 3]
mov byte [r15 + 3], al
jmp 0x1800449ae
mov eax, ebx
sub eax, 0xdd
je 0x1800449a6
sub eax, 0x28
je 0x180044930
sub eax, 0x15
je 0x180044910
cmp eax, 0x56
jne 0x1800449ae
movzx eax, byte [r13 + 3]
mov byte [r15 + 7], al
jmp 0x1800449ae
movzx eax, byte [r13]
mov byte [r15 + 4], al
movzx eax, byte [r13 + 1]
mov byte [r15 + 5], al
movzx eax, byte [r13 + 2]
mov byte [r15 + 6], al
jmp 0x1800449ae
mov edx, dword [rbp - 0x44]
mov ecx, 0x49
mov r8d, dword [rbp - 0x48]
nop dword [rax]
mov eax, ecx
sub eax, 0x47
je case.0x180044a4e.0
sub eax, 1
je 0x18004495f
cmp eax, 1
jne 0x180044964
test r15, r15
je 0x180044964
mov dword [r15], edx
jmp 0x180044964
mov dword [rsp + 0x60], r8d
dec ecx
cmp ecx, 0x46
ja 0x180044940
lea rax, [rbp - 0x48]
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x70]
mov eax, dword [r13]
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x80]
mov dword [rsp + 0x70], eax
mov ecx, 0xff
call fcn.1800258e0
mov rdx, qword [rsp + 0x78]
lea r10, [0x180000000]
jmp 0x1800449ae
mov rdx, r13
mov qword [rsp + 0x78], rdx
mov r9d, dword [rbp + 0x60]
add ebx, 0x56
cmp ebx, r14d
jb 0x180044404
jmp 0x1800449d9
mov rax, rdi
jmp 0x180044d41
xor ebx, ebx
mov eax, ebx
jmp 0x180044d41
mov r9d, dword [rbp + 0x60]
mov dword [rbp + 0x60], r9d
lea eax, [rsi - 0xb]
mov dword [rsp + 0x50], eax
cmp esi, eax
jbe case.0x180044a4e.0
mov r13, qword [rsp + 0x60]
lea r8d, [rsi - 0x57]
mov r12, qword [rsp + 0x60]
xor ebx, ebx
movss xmm8, dword [rbp + 0x60]
mov ecx, eax
mov rsi, qword [rsp + 0x60]
movss xmm6, dword [rbp + 0x60]
mov rdi, qword [rsp + 0x60]
movss xmm9, dword [rbp + 0x60]
movss xmm7, dword [rbp + 0x60]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0x58], r8d
nop dword [rax]
cmp r8d, 0x30
ja case.default.0x180044a4e
movzx eax, byte [r10 + r8 + 0x44de4]
mov ecx, dword [r10 + rax*4 + 0x44db8]
add rcx, r10
jmp rcx
mov rax, qword [rbp + 0x78]
mov edx, 1
mov rcx, qword [rbp + 0x68]
mov r9, qword [rax + 0x20]
mov rax, qword [rbp + 0x70]
mov r8, qword [rax]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rdx, qword [rbp + 0x70]
mov ecx, ebx
mov r8d, dword [rsp + 0x58]
cmp rax, qword [rdx]
sete cl
mov dword [rsp + 0x60], ecx
jmp case.0x180044a4e.10
movsxd rax, r9d
lea rcx, [rax*4]
add rcx, r13
mov qword [rsp + 0x70], rcx
jmp case.0x180044a4e.10
cmp dword [0x18007fe94], 0
jne 0x180044ad9
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov dword [rsp + 0x30], SHSetFolderPathW
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.18004ffd0
mov r8d, dword [rsp + 0x58]
mov rax, qword [rbp + 0x70]
movsxd rax, dword [rax]
cmp eax, 0x140
jne 0x180044afe
lea r13, [0x1800808a0]
lea r12, [rax*4]
add r12, r13
jmp case.0x180044a4e.10
cmp eax, 0x280
jne 0x180044d34
lea r13, [0x18007fea0]
lea r12, [rax*4]
add r12, r13
jmp case.0x180044a4e.10
test r9d, r9d
jle 0x180044c7e
mov rbx, qword [rbp - 0x80]
lea r8d, [r9 - 1]
shr r8d, 1
inc r8d
nop word [rax + rax]
mov eax, 0x5f
cmp eax, 0x5852
ja 0x180044bba
je 0x180044b91
cmp eax, 0x5f
je 0x180044b87
cmp eax, 0x1db0
je 0x180044b78
cmp eax, 0x3b01
jne 0x180044c59
movss xmm6, dword [rdi - 4]
sub rdi, 4
movss xmm9, dword [rbx]
jmp 0x180044c59
movss xmm8, dword [rsi - 4]
sub rsi, 4
jmp 0x180044c59
movss xmm7, dword [r14]
jmp 0x180044c59
movss xmm0, dword [rdx]
sub r12, 4
movaps xmm1, xmm6
mulss xmm1, dword [r13]
mulss xmm0, dword [r12]
addss xmm1, xmm0
movss dword [r14], xmm1
add r14, 4
jmp 0x180044c59
cmp eax, 0x75a3
je 0x180044be1
cmp eax, 0x92f4
jne 0x180044c59
movss dword [rdx], xmm9
add rdx, 4
mov qword [rsp + 0x78], rdx
movss dword [r15], xmm8
jmp 0x180044c59
movss xmm0, dword [rdx]
sub r15, 4
mulss xmm0, dword [r13]
movaps xmm1, xmm6
mov rdx, qword [rsp + 0x68]
add r13, 4
mulss xmm1, dword [r12]
movaps xmm2, xmm7
mov rcx, qword [rsp + 0x70]
sub rcx, 4
mov qword [rsp + 0x70], rcx
subss xmm1, xmm0
movss dword [rsi], xmm1
movaps xmm1, xmm7
mulss xmm1, dword [rdx]
movss xmm0, dword [r15]
mulss xmm0, dword [rcx]
subss xmm1, xmm0
movss dword [rbx], xmm1
add rbx, 4
movss xmm0, dword [r15]
mulss xmm0, dword [rdx]
add rdx, 4
mov qword [rsp + 0x68], rdx
mulss xmm2, dword [rcx]
mov rdx, qword [rsp + 0x78]
addss xmm2, xmm0
movss dword [rdi], xmm2
add eax, 0x1d51
cmp eax, 0xafe6
jbe 0x180044b45
mov qword [rbp - 0x80], rbx
sub r8, 1
jne 0x180044b40
mov r8d, dword [rsp + 0x58]
xor ebx, ebx
mov dword [rsp + 0x60], ebx
jmp case.0x180044a4e.10
mov r13, rbx
mov r12, rbx
jmp case.0x180044a4e.10
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
jmp case.0x180044a4e.10
mov rcx, qword [rbp + 0x80]
movsxd rax, r9d
lea rdi, [rcx + rax*4]
mov qword [rbp - 0x80], rdi
jmp case.0x180044a4e.10
mov rcx, qword [rbp + 0x78]
lea r8, [rbp - 0x50]
movsxd rax, r9d
mov edx, 0xd3
mov r9, qword [rbp + 0x80]
lea rax, [rax*4]
add rax, r13
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
mov dword [rbp - 0x50], eax
call fcn.180052350
mov r8d, dword [rsp + 0x58]
jmp case.0x180044a4e.10
mov rcx, qword [rbp + 0x68]
movsxd rax, r9d
lea r15, [rcx + rax*4]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x70]
mov r14, rcx
movsxd rax, dword [rax]
lea rsi, [rcx + rax*4]
mov ecx, dword [rsp + 0x50]
dec r8d
mov dword [rsp + 0x58], r8d
lea eax, [r8 + 0x57]
cmp eax, ecx
jbe case.0x180044a4e.0
mov rdx, qword [rsp + 0x78]
lea r10, [0x180000000]
mov r9d, dword [rbp + 0x60]
jmp 0x180044a30
mov dword [rsp + 0x60], 4
mov rax, qword [rsp + 0x60]
lea r11, [rsp + reloc.SHLWAPI.dll_SHRegGetIntW]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret