Function at 0x180055bf0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
lea r15d, [rdx + 0x398]
mov rbx, r9
mov rsi, r8
mov edi, edx
mov r14, rcx
cmp edx, r15d
jae 0x180055f3f
mov r12, qword [rsp + 0x70]
xor r13d, r13d
mov rbp, qword [rsp + 0x70]
nop word [rax + rax]
cmp edi, 0xda
ja 0x180055d2b
je 0x180055ef9
mov eax, edi
sub eax, 5
je 0x180055df2
sub eax, 0x2d
je 0x180055d00
sub eax, 0x4a
je 0x180055c82
sub eax, 0x12
je 0x180055f3f
cmp eax, 0x4a
je 0x180055f3f
jmp 0x180055dd9
mov r9, rbx
mov qword [rsp + 0x60], r12
lea r8, [rsp + 0x60]
mov dword [rsp + 0x20], 0x55
lea rdx, [rsp + 0x68]
xor ecx, ecx
call fcn.18003a260
test eax, eax
je case.0x180055e1d.5
mov eax, dword [rsp + 0x68]
lea r8, [rsp + 0xb8]
mov r9, qword [rsp + 0x60]
xor edx, edx
mov ecx, 0xea
mov dword [rsp + 0xb8], eax
call fcn.180019650
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r13
mov ecx, 0xde
mov byte [r14], al
call fcn.18001b110
mov dword [rsp + 0x58], 1
jmp 0x180055dd9
mov r8, qword [rsi]
cmp r8, 1
jb 0x180055dea
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov rcx, qword [rsi]
mov qword [rsp + 0x58], rax
mov byte [rcx + rbx - 1], r13b
jmp 0x180055dd9
mov eax, edi
sub eax, 0x11b
je 0x180055d97
sub eax, 7
je 0x180055d5f
sub eax, 0x55
je 0x180055f08
cmp eax, 7
jne 0x180055dd9
mov r8, qword [rsi]
lea rdx, str.if____IsSmi_q__
mov rcx, rbx
call fcn.180077230
jmp 0x180055dd9
mov edx, 1
lea rcx, [0x180088930]
mov r9, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rsi]
lea r9, [rsp + 0x70]
mov r8, r14
mov qword [rsp + 0x70], rax
mov edx, 0xc6
mov rcx, rbx
call fcn.18000aed0
jmp 0x180055dd9
mov eax, dword [r14]
lea rcx, [rsp + 0xb8]
mov dword [rsp + 0xb8], eax
xor r9d, r9d
lea rax, [rbx + 0x48]
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor edx, edx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0xc3
call fcn.180011630
mov rbp, rax
add edi, 0x5c
cmp edi, r15d
jb 0x180055c40
jmp 0x180055f3f
mov rax, rbx
jmp 0x180055f44
mov rax, qword [rbx]
mov ecx, dword [rax]
cmp ecx, 7
ja case.0x180055e1d.5
lea rdi, [0x180000000]
nop dword [rax]
nop word [rax + rax]
movsxd rax, ecx
mov ecx, dword [rdi + rax*4 + 0x55f68]
add rcx, rdi
jmp rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc5
mov rcx, rbx
call fcn.18004cde0
test eax, eax
jne 0x180055ebc
mov dword [rsp + 0x58], r13d
jmp 0x180055f3f
mov qword [rsp + 0x48], r13
xor r9d, r9d
mov qword [rsp + 0x40], r13
xor r8d, r8d
mov dword [rsp + 0x38], 0xdc
xor edx, edx
mov qword [rsp + 0x30], rbx
xor ecx, ecx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.180045b70
test eax, eax
je case.0x180055e1d.4
jmp 0x180055ebc
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dword [rsp + 0xb8], 1
mov edx, 0xc4
call fcn.180075c20
test eax, eax
je case.0x180055e1d.5
cmp dword [rsp + 0x50], r13d
jne case.0x180055e1d.4
mov rax, qword [rbx]
mov ecx, dword [rax]
cmp ecx, 7
jbe 0x180055e10
mov dword [rsp + 0x58], r13d
jmp 0x180055f3f
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x45]
call fcn.1800678f0
test eax, eax
je case.0x180055e1d.5
mov dword [rsp + 0x58], 1
jmp 0x180055f3f
mov eax, dword [rbx + 0x14]
shl eax, 6
add eax, dword [rbx + 0x18]
mov dword [rsp + 0x58], eax
jmp 0x180055f3f
test rbp, rbp
je 0x180055f33
mov r9d, 0x3c
mov qword [rsp + 0x20], r13
mov r8, rbp
xor edx, edx
xor ecx, ecx
call fcn.180029570
cmp eax, 1
jne 0x180055f33
movsd xmm0, qword [0x18008bf70]
jmp 0x180055f39
movsd xmm0, qword [r14 + 8]
movsd qword [rsp + 0x58], xmm0
mov rax, qword [rsp + 0x58]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret