Function at 0x1403a9f20
Capabilities:
Clear file content

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [0x14056a550]
xor rax, rsp
mov qword [rsp + 0x28], rax
movsx eax, byte [rcx + 0x27c]
dec eax
cmp eax, 7
ja case.default.0x1403a9f60
mov rdi, qword [rsi + 0x230]
lea rcx, [0x1403aa200]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov qword [rsp + 0x20], rdi
and byte [rsi + 0x294], 0xbf
lea rdx, [rsp + 0x20]
mov r8d, 4
mov rcx, rsi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
mov rdx, qword [rsi + 0x110]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
cmp word [rsi + 0x27a], 0
jne 0x1403aa19d
lea rdx, [rsp + 0x20]
mov r8d, 4
jmp 0x1403aa190
mov rdx, qword [rsi + 0x110]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa16a
and byte [rsi + 0x294], 0xbf
cmp byte [rsi + 0x27c], 8
jne 0x1403aa17f
mov byte [rsp + 0x20], 0xd
mov r8d, 1
jmp 0x1403aa182
lea r8, str.for_wseq.c
mov ecx, 8
mov edx, 2
mov r9d, 0x12c9
call fcn.140004539
jmp 0x1403aa19d
mov rbx, qword [rsi + 0x1c8]
and byte [rsi + 0x294], 0xbf
mov eax, dword [rsi + 0x290]
not eax
test eax, 0x8000001
jne 0x1403aa06d
cmp byte [rsi + 0x27d], 2
jne 0x1403aa06d
mov byte [rsp + 0x20], 0x20
lea rdx, [rsp + 0x20]
mov r8d, 1
mov rcx, rsi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
dec rbx
mov rdx, qword [rsi + 0x110]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
sub rbx, rdi
jle 0x1403aa19d
mov rcx, qword [rsi + 0x78]
xor edx, edx
mov r8, rbx
call fcn.1400020b8
mov rdx, qword [rsi + 0x78]
mov rcx, rsi
mov r8, rbx
jmp 0x1403aa193
cmp word [rsi + 0x27a], 0
jne 0x1403aa19d
lea eax, [rdi + 2]
mov rcx, qword [rsi + 0x78]
mov byte [rcx], al
mov rcx, qword [rsi + 0x78]
mov byte [rcx + 1], ah
and byte [rsi + 0x294], 0xbf
mov rdx, qword [rsi + 0x78]
mov r8d, 4
mov rcx, rsi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
mov rdx, qword [rsi + 0x110]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
test dil, 1
je 0x1403aa19d
mov byte [rsp + 0x20], 0
jmp 0x1403aa15d
mov rdx, qword [rsi + 0x110]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa16a
and byte [rsi + 0x294], 0xbf
jmp 0x1403aa19d
mov rdx, qword [rsi + 0x110]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa16a
and byte [rsi + 0x294], 0xbf
mov byte [rsp + 0x20], 0xd
lea rdx, [rsp + 0x20]
mov r8d, 1
jmp 0x1403aa190
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
and byte [rsi + 0x294], 0xbf
jmp 0x1403aa1e3
xor r8d, r8d
mov byte [rsp + r8 + 0x20], 0xa
inc r8
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400053c6
cmp eax, 0xffffffff
je 0x1403aa1c2
xor edi, edi
test byte [rsi + 0x295], 8
je 0x1403aa1e8
mov rcx, qword [rsi + 0x1a0]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x1403aa1d0
and byte [rsi + 0x295], 0xf7
jmp 0x1403aa1e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
jmp 0x1403aa1e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
and byte [rsi + 0x295], 0xf7
mov edi, 0x26
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140003706
mov eax, edi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret