Function at 0x140098030
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rax, qword [0x140332240]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rdi, rdx
mov rsi, rcx
movzx edx, word [rcx + 0xe]
mov eax, edx
and eax, 7
cmp eax, 5
ja case.default.0x140098088
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x985d0]
add rcx, r8
jmp rcx
mov rcx, rdi
call fcn.140098c90
mov rcx, qword [rdi]
mov dl, 0x6e
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x75
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x6c
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x6c
call fcn.140099510
jmp 0x1400985a3
mov rcx, rdi
call fcn.140098c90
mov rcx, qword [rdi]
mov dl, 0x66
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x61
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x6c
call fcn.140099510
mov dl, 0x73
mov rcx, qword [rdi]
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x65
call fcn.140099510
jmp 0x1400985a3
mov rcx, rdi
call fcn.140098c90
mov rcx, qword [rdi]
mov dl, 0x74
call fcn.140099510
mov rcx, qword [rdi]
mov dl, 0x72
call fcn.140099510
mov dl, 0x75
jmp 0x1400980e7
mov rcx, rdi
call fcn.140098c90
mov rax, qword [rdi + 0x20]
add rax, 0x10
cmp rax, qword [rdi + 0x28]
jbe 0x14009813d
lea rcx, [rdi + 8]
call fcn.1400995b0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
mov qword [rdi + 0x20], rax
mov qword [rcx], 0
mov byte [rcx + 8], 0
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x140098186
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x140098186
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x7b
movabs r14, 0xffffffffffff
inc qword [rbx + 0x18]
mov rbx, qword [rsi + 8]
mov eax, dword [rsi]
and rbx, r14
shl rax, 5
add rax, rbx
cmp rbx, rax
je 0x140098215
mov r12d, 0x1000
mov r15d, 0xd
test word [rbx + 0xe], r12w
je 0x1400981ce
movsx eax, byte [rbx + 0xd]
mov r8d, r15d
sub r8d, eax
mov rdx, rbx
jmp 0x1400981d8
mov rdx, qword [rbx + 8]
mov r8d, dword [rbx]
and rdx, r14
mov rcx, rdi
call fcn.140098b90
test al, al
je 0x1400982e5
lea rcx, [rbx + 0x10]
mov rdx, rdi
call fcn.140098030
test al, al
je 0x1400982e5
mov ecx, dword [rsi]
add rbx, 0x20
mov rax, qword [rsi + 8]
shl rcx, 5
and rax, r14
add rcx, rax
cmp rbx, rcx
jne 0x1400981b8
mov rcx, rdi
call fcn.140098a00
jmp 0x1400985a5
mov rcx, rdi
call fcn.140098c90
mov rax, qword [rdi + 0x20]
add rax, 0x10
cmp rax, qword [rdi + 0x28]
jbe 0x140098241
lea rcx, [rdi + 8]
call fcn.1400995b0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
mov qword [rdi + 0x20], rax
mov qword [rcx], 0
mov byte [rcx + 8], 1
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14009828a
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14009828a
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x5b
movabs r14, 0xffffffffffff
inc qword [rbx + 0x18]
mov rbx, qword [rsi + 8]
mov eax, dword [rsi]
and rbx, r14
shl rax, 4
add rax, rbx
cmp rbx, rax
je 0x1400982d8
mov rdx, rdi
mov rcx, rbx
call fcn.140098030
test al, al
je 0x1400982e5
mov ecx, dword [rsi]
add rbx, 0x10
mov rax, qword [rsi + 8]
shl rcx, 4
and rax, r14
add rcx, rax
cmp rbx, rcx
jne 0x1400982b0
mov rcx, rdi
call fcn.140098870
jmp 0x1400985a5
xor al, al
jmp 0x1400985a5
bt dx, 0xc
jae 0x140098313
movsx eax, byte [rsi + 0xd]
mov r15d, 0xd
sub r15d, eax
mov rdx, rsi
mov r8d, r15d
mov rcx, rdi
call fcn.140098b90
jmp 0x1400985a5
mov r15d, dword [rsi]
movabs r14, 0xffffffffffff
mov rsi, qword [rsi + 8]
mov r8d, r15d
and rsi, r14
mov rcx, rdi
mov rdx, rsi
call fcn.140098b90
jmp 0x1400985a5
movzx eax, dx
mov rcx, rdi
shr ax, 9
test al, 1
je 0x140098452
movaps xmmword [rsp + 0xb0], xmm6
movsd xmm6, qword [rsi]
call fcn.140098c90
movabs rcx, 0x7ff0000000000000
movsd qword [rbp - 0x69], xmm6
mov rax, qword [rbp - 0x69]
and rax, rcx
cmp rax, rcx
jne 0x140098387
movaps xmm6, xmmword [rsp + 0xb0]
xor al, al
jmp 0x1400985a5
mov esi, dword [rdi + 0x38]
movabs rcx, 0x7fffffffffffffff
movsd qword [rbp - 0x69], xmm6
movaps xmm0, xmm6
mov rax, qword [rbp - 0x69]
test rcx, rax
jne 0x1400983d6
movabs rcx, 0x8000000000000000
and rax, rcx
je 0x1400983b8
mov byte [rbp - 0x49], 0x2d
test rax, rax
lea rcx, [rbp - 0x49]
lea rdx, [rbp - 0x48]
cmovne rcx, rdx
mov word [rcx], 0x2e30
lea rsi, [rcx + 3]
mov byte [rcx + 2], 0x30
jmp 0x14009841e
xorps xmm1, xmm1
comisd xmm1, xmm6
jbe 0x1400983ed
movaps xmm0, xmm6
mov byte [rbp - 0x49], 0x2d
xorps xmm0, xmmword [0x1402f3910]
lea rax, [rbp - 0x48]
lea rbx, [rbp - 0x49]
cmova rbx, rax
lea r9, [rbp - 0x61]
mov rdx, rbx
lea r8, [rbp - 0x69]
call fcn.1400a3b20
mov r8d, dword [rbp - 0x61]
mov r9d, esi
mov edx, dword [rbp - 0x69]
mov rcx, rbx
call fcn.1400a3d80
mov rsi, rax
lea rax, [rbp - 0x49]
lea rbx, [rbp - 0x49]
cmp rax, rsi
je 0x140098443
nop dword [rax + rax]
movzx edx, byte [rbx]
mov rcx, qword [rdi]
call fcn.140099510
inc rbx
cmp rbx, rsi
jne 0x140098430
movaps xmm6, xmmword [rsp + 0xb0]
mov al, 1
jmp 0x1400985a5
movzx eax, dl
shr al, 5
test al, 1
je 0x1400984b8
mov ebx, dword [rsi]
call fcn.140098c90
mov ecx, ebx
test ebx, ebx
jns 0x14009846f
mov byte [rbp - 0x59], 0x2d
neg ecx
lea rax, [rbp - 0x58]
test ebx, ebx
lea rdx, [rbp - 0x59]
cmovs rdx, rax
call fcn.1400a2e30
mov rsi, rax
lea rbx, [rbp - 0x59]
lea rax, [rbp - 0x59]
cmp rax, rsi
je 0x1400985a3
nop word [rax + rax]
movzx edx, byte [rbx]
mov rcx, qword [rdi]
call fcn.140099510
inc rbx
cmp rbx, rsi
jne 0x1400984a0
jmp 0x1400985a3
movzx eax, dl
shr al, 6
test al, 1
je 0x140098508
mov ebx, dword [rsi]
call fcn.140098c90
lea rdx, [rbp - 0x29]
mov ecx, ebx
call fcn.1400a2e30
mov rsi, rax
lea rbx, [rbp - 0x29]
lea rax, [rbp - 0x29]
cmp rax, rsi
je 0x1400985a3
nop dword [rax + rax]
movzx edx, byte [rbx]
mov rcx, qword [rdi]
call fcn.140099510
inc rbx
cmp rbx, rsi
jne 0x1400984f0
jmp 0x1400985a3
mov rbx, qword [rsi]
shr dl, 7
test dl, 1
je 0x140098565
call fcn.140098c90
mov rcx, rbx
test rbx, rbx
jns 0x140098527
mov byte [rbp - 0x19], 0x2d
neg rcx
lea rax, [rbp - 0x18]
test rbx, rbx
lea rdx, [rbp - 0x19]
cmovs rdx, rax
call fcn.1400a30a0
mov rsi, rax
lea rbx, [rbp - 0x19]
lea rax, [rbp - 0x19]
cmp rax, rsi
je 0x1400985a3
nop dword [rax + rax]
movzx edx, byte [rbx]
mov rcx, qword [rdi]
call fcn.140099510
inc rbx
cmp rbx, rsi
jne 0x140098550
jmp 0x1400985a3
call fcn.140098c90
lea rdx, [rbp - 1]
mov rcx, rbx
call fcn.1400a30a0
mov rsi, rax
lea rbx, [rbp - 1]
lea rax, [rbp - 1]
cmp rax, rsi
je 0x1400985a3
nop word [rax + rax]
movzx edx, byte [rbx]
mov rcx, qword [rdi]
call fcn.140099510
inc rbx
cmp rbx, rsi
jne 0x140098590
mov al, 1
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14026cac0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret