Function at 0x140004ac0
Capabilities:
Create directory
Delete file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x14006cfd8]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdi, rcx
cmp qword [rcx + 0x18], 0x10
jb 0x140004af4
mov rcx, qword [rcx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rbp, qword [rdi + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rbp
cmp rax, 0xb
jb 0x140004d3e
mov r15, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140004b27
mov r15, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea r14, [rbp + 0xb]
mov ebx, 0xf
lea rsi, [rsp + 0x48]
cmp r14, rbx
jbe 0x140004bc5
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x140004b5c
mov rbx, rcx
jmp 0x140004b68
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140004baf
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004d44
mov rcx, rax
call fcn.14002ba68
test rax, rax
je 0x140004d38
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140004bc0
test rcx, rcx
je 0x140004bbe
call fcn.14002ba68
mov rsi, rax
jmp 0x140004bc0
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rbx
mov r8, rbp
mov rdx, r15
mov rcx, rsi
call fcn.14002da40
movsd xmm0, qword [str.update.zip]
movsd qword [rsi + rbp], xmm0
movzx eax, word [0x140063b20]
mov word [rsi + rbp + 8], ax
movzx eax, byte [0x140063b22]
mov byte [rsi + rbp + 0xa], al
mov byte [rsi + r14], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
mov r8d, 0x48
lea rdx, str.https:__github.com_discord_discord_open_source_files_15368919_update.zip
lea rcx, [rsp + 0x28]
call fcn.140008690
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x28]
call fcn.140002cc0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x140004c7c
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004c77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004d4a
call fcn.14002ba60
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140003090
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x140004cd8
lea rdx, str.Failed_to_delete_update.zip
call fcn.140007f80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140007ca0
movzx edx, al
mov rcx, rbx
call fcn.140008e60
mov rcx, rbx
call fcn.140007850
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140004d11
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004d0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004d38
call fcn.14002ba60
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14002ba40
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
call fcn.140033fd8
int3
call fcn.1400012e0
int3
call fcn.140001240
nop
call fcn.140033fd8
nop