Function at 0x140004b6f
Capabilities:
Clear file content

Disassembly:
jmp 0x1403846d0
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
mov rdi, qword [rcx + 0x80]
mov rax, qword [rcx + 0x88]
test rax, rax
jne 0x1403846f5
mov rax, qword [rsi + 0x78]
sub rdi, rax
lea r14, [rdi + 4]
cmp r14, qword [rsi + 0x1b0]
jbe 0x140384736
mov edx, 4
mov r8d, 0x200
mov rcx, rsi
call fcn.1400021a8
test eax, eax
je 0x140384736
cmp rdi, qword [rsi + 0x1b0]
ja 0x1403847c4
cmp byte [rsi + 0x27c], 1
jne 0x1403847c4
lea rbx, [rsi + 0x88]
cmp word [rsi + 0x27a], 0
je 0x14038476e
mov rdx, qword [rbx]
test rdx, rdx
jne 0x140384753
mov rdx, qword [rsi + 0x78]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
xor edi, edi
cmp eax, 0xffffffff
jne 0x140384bf7
jmp 0x140384be6
movsx eax, byte [rsi + 0x27c]
cmp eax, 8
ja case.default.0x14038478c
lea rcx, [0x140384c1c]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp rdx
cmp dword [rsi + 0x238], 0xb
mov rcx, qword [rsi + 0x88]
jne 0x140384934
and al, 0xfe
cmp al, 4
jne 0x140384934
test rcx, rcx
je 0x140384978
mov rdi, qword [rsi + 0x80]
sub rdi, rcx
jmp 0x14038497c
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x14038480e
test byte [rax + 0x74], 2
jne 0x140384831
mov eax, dword [rsi + 0x294]
mov r8d, dword [rsi + 0x29c]
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x42
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x42
call fcn.14000475f
jmp 0x140384bf9
mov ecx, 1
mov edx, 0x42
mov r8d, 0x42
mov r9, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.140002b35
movabs rcx, 0x4200000042
mov qword [rax + 0x68], rcx
mov rax, qword [rsi + 0xd8]
mov edi, 0x42
test rax, rax
je 0x140384bf7
mov qword [rax + 8], 0
mov qword [rsi + 0xd8], 0
jmp 0x140384bf7
lea r8, str.for_put.c
mov ecx, 8
mov edx, 2
mov r9d, 0x37f
call fcn.140004539
jmp case.0x14038478c.0
mov r8, qword [rsi + 0x1c8]
sub r8, rdi
jbe case.0x14038478c.0
mov rcx, qword [rsi + 0x80]
xor edx, edx
call fcn.1400020b8
mov rdi, qword [rsi + 0x1c8]
jmp case.0x14038478c.0
mov rax, qword [rbx]
test rax, rax
je 0x140384a32
mov ecx, dword [rsi + 0x80]
sub ecx, eax
add ecx, 0xfffffffe
mov byte [rax], cl
mov rax, qword [rsi + 0x88]
mov byte [rax + 1], ch
test dil, 1
je case.0x14038478c.0
mov rax, qword [rbx]
jmp 0x140384a50
mov rax, qword [rbx]
test rax, rax
jne 0x1403848f8
mov rax, qword [rsi + 0x78]
mov byte [rax + rdi], 0xa
inc rdi
jmp case.0x14038478c.0
mov rax, qword [rbx]
test rax, rax
jne 0x140384910
mov rax, qword [rsi + 0x78]
mov byte [rax + rdi], 0xd
inc rdi
jmp case.0x14038478c.0
mov rax, qword [rbx]
test rax, rax
je 0x140384af9
mov byte [rax + rdi], 0xd
mov rax, qword [rbx]
jmp 0x140384b05
test rcx, rcx
je 0x140384a5c
mov rdi, qword [rsi + 0x80]
sub rdi, rcx
add rdi, 0xfffffffffffffffc
mov rax, rdi
shr rax, 8
mov rdx, rdi
shr rdx, 0x10
mov r8, rdi
shr r8, 0x18
test byte [rsi + 0x295], 0x20
jne 0x140384b13
mov byte [rcx], dil
mov rcx, rbx
jmp 0x140384a8d
mov rcx, qword [rsi + 0x78]
mov rax, qword [rsi + 0x200]
add rax, rdi
add rax, 0xfffffffffffffffc
mov edx, dword [rsi + 0x298]
test edx, 0x200000
jne 0x1403849b2
mov rdx, rax
shr rdx, 8
mov r8, rax
shr r8, 0x10
mov r10, rax
shr r10, 0x18
mov r9d, eax
jmp 0x1403849d8
and edx, 0xffdfffff
mov dword [rsi + 0x298], edx
mov r9d, eax
neg r9d
mov edx, r9d
shr edx, 8
mov r8d, r9d
shr r8d, 0x10
mov r10d, r9d
shr r10d, 0x18
test dword [rsi + 0x294], 0x2000
movzx r9d, r9b
movzx r10d, r10b
mov r11d, r10d
cmove r11d, r9d
movzx edx, dl
movzx r8d, r8b
mov edi, r8d
cmove edi, edx
cmove edx, r8d
cmove r9d, r10d
mov byte [rcx], r11b
mov byte [rcx + 1], dil
mov byte [rcx + 2], dl
mov byte [rcx + 3], r9b
cmp dword [rsi + 0x258], 0
je 0x140384a9b
neg eax
mov ecx, eax
shr ecx, 8
mov edx, eax
shr edx, 0x10
mov r8d, eax
shr r8d, 0x18
jmp 0x140384ab0
lea eax, [rdi - 2]
mov rcx, qword [rsi + 0x78]
mov byte [rcx], al
mov rcx, qword [rsi + 0x78]
mov byte [rcx + 1], ah
test dil, 1
je case.0x14038478c.0
mov rax, qword [rsi + 0x78]
mov byte [rax + rdi], 0
inc rdi
jmp case.0x14038478c.0
add rdi, 0xfffffffffffffffc
mov rax, rdi
shr rax, 8
mov rdx, rdi
shr rdx, 0x10
mov r8, rdi
shr r8, 0x18
lea rcx, [rsi + 0x78]
test byte [rsi + 0x295], 0x20
mov r9, qword [rsi + 0x78]
jne 0x140384b1b
mov byte [r9], dil
mov r9d, eax
mov r10d, edx
mov r11d, r8d
jmp 0x140384b27
mov rcx, rax
shr rcx, 8
mov rdx, rax
shr rdx, 0x10
mov r8, rax
shr r8, 0x18
test byte [rsi + 0x295], 0x20
mov r9, qword [rsi + 0x80]
jne 0x140384ad2
mov byte [r9], al
mov rax, qword [rsi + 0x80]
mov byte [rax + 1], cl
jmp 0x140384b59
mov byte [r9], r8b
mov r8, qword [rsi + 0x80]
mov byte [r8 + 1], dl
mov rdx, qword [rsi + 0x80]
mov byte [rdx + 2], cl
mov rcx, qword [rsi + 0x80]
mov byte [rcx + 3], al
jmp 0x140384b92
mov rax, qword [rsi + 0x78]
mov byte [rax + rdi], 0xd
mov rax, qword [rsi + 0x78]
mov byte [rdi + rax + 1], 0xa
add rdi, 2
jmp case.0x14038478c.0
mov byte [rcx], r8b
mov rcx, rbx
jmp 0x140384b1e
mov byte [r9], r8b
mov r9d, edx
mov r10d, eax
mov r11d, edi
mov r15, qword [rcx]
mov byte [r15 + 1], r9b
mov r9, qword [rcx]
mov byte [r9 + 2], r10b
mov rcx, qword [rcx]
mov byte [rcx + 3], r11b
test byte [rsi + 0x295], 0x20
mov rcx, qword [rsi + 0x80]
jne 0x140384b70
mov byte [rcx], dil
mov rcx, qword [rsi + 0x80]
mov byte [rcx + 1], al
mov rax, qword [rsi + 0x80]
mov byte [rax + 2], dl
mov rax, qword [rsi + 0x80]
mov byte [rax + 3], r8b
jmp 0x140384b92
mov byte [rcx], r8b
mov rcx, qword [rsi + 0x80]
mov byte [rcx + 1], dl
mov rcx, qword [rsi + 0x80]
mov byte [rcx + 2], al
mov rax, qword [rsi + 0x80]
mov byte [rax + 3], dil
mov rdi, r14
mov rdx, qword [rbx]
test rdx, rdx
jne 0x140384ba1
mov rdx, qword [rsi + 0x78]
mov rcx, rsi
mov r8, rdi
call fcn.1400053c6
mov ecx, dword [rsi + 0x294]
mov edx, ecx
and edx, 0xffffffbf
mov dword [rsi + 0x294], edx
cmp eax, 0xffffffff
je 0x140384be6
xor edi, edi
test ecx, 0x800
je 0x140384bf7
mov rcx, qword [rsi + 0x1a0]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x140384c05
and byte [rsi + 0x295], 0xf7
jmp 0x140384bf7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
mov edi, 0x26
mov eax, edi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
and byte [rsi + 0x295], 0xf7
jmp 0x140384bf2