Function at 0x180077590
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp - 0x60], rcx
mov rax, qword [0x1800c3608]
xor rax, rbp
mov qword [rbp], rax
mov eax, dword [0x1800c4cb0]
mov ecx, dword [0x1800c4cb4]
lea edx, [rax + 1]
imul edx, eax
mov eax, edx
not eax
mov r8d, eax
and r8d, 0xbcf006bc
and edx, 0x430ff943
or edx, r8d
xor edx, 0x430ff942
xor eax, edx
test eax, edx
sete byte [rbp - 1]
cmp ecx, 0xa
setl byte [rbp - 2]
mov eax, 0xe9c8244c
mov r14d, 0x3d7c7f91
mov r13d, 0xf88087b6
mov r12d, 0xf7c0640
mov edi, 0x449fe6dd
mov ebx, 0x5c74ad55
mov r15d, 0x57df4efd
mov esi, 0x61880090
jmp 0x180077640
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, 0xf88087b6
nop dword [rax]
cmp eax, 0x26d409fd
jle 0x180077690
cmp eax, 0x5578aeb6
jle 0x1800776f0
cmp eax, 0x666d50bf
jle 0x1800777ec
cmp eax, 0x76776276
jg 0x180077993
cmp eax, 0x666d50c0
je 0x180077d6b
cmp eax, 0x68d6d9d9
je 0x180077dc0
cmp eax, 0x710c976f
jne 0x180077640
mov eax, 0x76776277
jmp 0x180077640
cmp eax, 0xebf692ce
jg 0x180077740
cmp eax, 0xc6d2f67e
jg 0x18007783b
cmp eax, 0xb4a1cc1b
jg 0x1800779cc
cmp eax, 0x91a5d1ff
je 0x180077dd6
cmp eax, 0x97ec8512
je 0x180077dee
cmp eax, 0x9cd9afbf
jne 0x180077640
cmp byte [rbp - 4], 0
mov eax, 0x5ca536ec
mov ecx, 0x6f37e3c
cmovne eax, ecx
jmp 0x180077640
cmp eax, 0x449fe6dc
jg 0x1800778be
cmp eax, 0x353150a5
jle 0x1800779fa
cmp eax, 0x353150a6
je 0x180077df8
cmp eax, 0x3a6dc436
je 0x180077e36
cmp eax, 0x3d7c7f91
jne 0x180077640
mov eax, 0x56bdda6
jmp 0x180077640
cmp eax, 0xf9d71eb5
jg 0x1800778f8
cmp eax, 0xee5d4e92
jle 0x180077a5c
cmp eax, 0xee5d4e93
je 0x180077e4c
cmp eax, 0xf66da2cd
je 0x180077ecc
cmp eax, 0xf88087b6
jne 0x180077640
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
not ecx
or ecx, eax
xor ecx, 0xffffffff
sete al
setne cl
cmp dword [0x1800c4cb4], 0xa
setl dl
setge r8b
and al, r8b
or r8b, cl
and dl, cl
or dl, al
mov eax, r8d
xor al, dl
mov ecx, 0x97ec8512
cmovne ecx, r12d
test dl, dl
mov eax, ecx
mov edx, 0x97ec8512
cmovne eax, edx
test r8b, r8b
cmovne eax, ecx
jmp 0x180077640
cmp eax, 0x5c74ad54
jle 0x180077ad1
cmp eax, 0x5c74ad55
je 0x180077f02
cmp eax, 0x5ca536ec
je 0x180077f14
cmp eax, 0x61880090
jne 0x180077640
mov rax, qword [rbp - 0x10]
mov byte [rax + 0x71], 0
mov rax, qword [rbp - 0x20]
mov byte [rax], 1
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, 0x57df4efd
jmp 0x180077640
cmp eax, 0xd244cf85
jle 0x180077b5e
cmp eax, 0xd244cf86
je 0x180077f25
cmp eax, 0xdc87be67
je 0x180077f3b
cmp eax, 0xe9c8244c
jne 0x180077640
movzx eax, byte [rbp - 1]
movzx ecx, byte [rbp - 2]
xor al, 1
mov edx, ecx
xor dl, 1
mov r8d, edx
and r8b, cl
xor r8b, 1
mov r9d, ecx
xor r9b, r8b
or r8b, cl
xor r8b, 1
or r8b, r9b
xor r8b, al
or dl, al
mov ecx, edx
xor cl, r8b
test dl, 1
mov eax, 0x56bdda6
cmovne eax, r14d
test r8b, 1
cmove eax, r14d
test cl, 1
mov ecx, 0x56bdda6
cmove eax, ecx
jmp 0x180077640
cmp eax, 0x4b122d2f
jle 0x180077c01
cmp eax, 0x4b122d30
je 0x180077f56
cmp eax, 0x4f646e5b
je 0x180077f79
cmp eax, 0x4fa890a1
jne 0x180077640
mov rax, qword [rbp - 0x28]
mov eax, 0x47072dab
jmp 0x180077640
cmp eax, 0x6f37e3b
jle 0x180077c2d
cmp eax, 0x6f37e3c
je 0x180077fc4
cmp eax, 0xf7c0640
je 0x180077623
cmp eax, 0x10fc3451
jne 0x180077640
mov rax, qword [rbp - 0x10]
cmp byte [rax + 0x71], 0
setne byte [rbp - 4]
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
xor eax, ecx
test eax, ecx
setne al
sete cl
cmp dword [0x1800c4cb4], 0xa
setl dl
setge r8b
and cl, r8b
and dl, al
or dl, cl
or r8b, al
mov eax, r8d
xor al, dl
mov ecx, 0x9cd9afbf
mov eax, 0xc6d2f67f
cmovne ecx, eax
test r8b, r8b
mov eax, 0x9cd9afbf
cmovne eax, ecx
test dl, dl
cmove eax, ecx
jmp 0x180077640
cmp eax, 0x76776277
je 0x18007801d
cmp eax, 0x7b6644c2
je 0x18007805d
cmp eax, 0x7e50839b
jne 0x180077640
mov eax, dword [rbp - 0x14]
cmp eax, 3
mov eax, 0xdc87be67
mov ecx, 0x5578aeb7
cmove eax, ecx
jmp 0x180077640
cmp eax, 0xb5dbbf37
je 0x180078067
cmp eax, 0xc37e66b4
jne 0x1800781c8
mov eax, dword [rbp - 0x14]
cmp eax, 3
mov eax, 0x7e50839b
mov ecx, 0x91a5d1ff
cmovl eax, ecx
jmp 0x180077640
cmp eax, 0x26d409fe
je 0x1800780bf
cmp eax, 0x2a68e86e
jne 0x180077640
mov eax, dword [0x1800c4cb0]
lea ecx, [rax - 1]
imul ecx, eax
not cl
or cl, 0xfe
cmp cl, 0xff
setne al
cmp dword [0x1800c4cb4], 0xa
setge cl
mov edx, ecx
xor dl, al
or cl, al
mov r8d, ecx
xor r8b, dl
test cl, cl
mov eax, 0xee5d4e93
cmovne eax, edi
test dl, dl
cmove eax, edi
test r8b, r8b
mov ecx, 0xee5d4e93
cmove eax, ecx
jmp 0x180077640
cmp eax, 0xebf692cf
je 0x1800780c9
cmp eax, 0xee497844
jne 0x180077640
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1800c4cb4], 0xa
setge dl
setl r8b
mov r9d, r8d
xor r9b, cl
and r9b, r8b
and dl, al
and r8b, cl
or r8b, dl
mov ecx, r8d
xor cl, r9b
test r8b, r8b
mov eax, 0xf66da2cd
mov r8d, 0xd1865cf0
cmovne eax, r8d
test r9b, r9b
mov edx, 0xf66da2cd
cmove eax, edx
test cl, cl
cmovne eax, r8d
jmp 0x180077640
cmp eax, 0x5578aeb7
je 0x180078121
cmp eax, 0x57df4efd
jne 0x180077640
mov rax, qword [rbp - 0x10]
mov byte [rax + 0x71], 0
mov rax, qword [rbp - 0x20]
mov byte [rax], 1
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
not ecx
or ecx, eax
cmp ecx, 0xffffffff
sete al
cmp dword [0x1800c4cb4], 0xa
setl cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov r8d, ecx
xor r8b, dl
test cl, cl
mov eax, 0x7b6644c2
cmovne eax, esi
test dl, dl
cmove eax, esi
test r8b, r8b
mov ecx, 0x7b6644c2
cmove eax, ecx
jmp 0x180077640
cmp eax, 0xc6d2f67f
je 0x180078193
cmp eax, 0xd1865cf0
jne 0x180077640
mov rax, qword [rbp - 0x28]
mov r12, qword [rax]
mov rax, qword [rbp - 0x10]
mov r9, qword [rax + 0x80]
mov rax, qword [rbp - 0x28]
mov r8, qword [rax]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
mov edx, 1
call fcn.1800987fc
add rsp, 0x20
cmp r12, rax
mov r12d, 0xf7c0640
setne byte [rbp - 5]
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1800c4cb4], 0xa
setge dl
setl r8b
mov r9d, r8d
xor r9b, cl
and r9b, r8b
and dl, al
and r8b, cl
or r8b, dl
mov eax, r9d
xor al, r8b
mov ecx, 0xf66da2cd
mov edx, 0xf9d71eb6
cmovne ecx, edx
test r8b, r8b
mov eax, ecx
cmovne eax, edx
jmp 0x180078188
cmp eax, 0x449fe6dd
je 0x1800781a1
cmp eax, 0x47072dab
jne 0x180077640
mov rax, qword [rbp - 0x50]
mov rax, qword [rbp - 0x30]
mov rax, qword [rbp - 0x58]
mov eax, 0xb4a1cc1c
jmp 0x180077640
cmp eax, 0xf9d71eb6
je 0x1800781b2
cmp eax, 0x56bdda6
jne 0x180077640
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x20
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.1800916a0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
cmp qword [rax + 0x68], 0
setne byte [rbp - 3]
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0xd8aeff0d
mov edx, eax
and edx, 0x275100f2
or edx, ecx
xor edx, 0x275100f3
and eax, 0xfffffffe
or eax, edx
xor eax, 0xe36507b4
xor eax, 0x1c9af84b
sete al
setne cl
cmp dword [0x1800c4cb4], 0xa
setl dl
setge r8b
or r8b, cl
xor dl, al
mov ecx, r8d
xor cl, dl
test dl, dl
mov eax, 0x3d7c7f91
mov edx, 0xd244cf86
cmovne eax, edx
test r8b, r8b
cmovne eax, r14d
test cl, cl
cmove eax, edx
jmp 0x180077640
mov rax, qword [rbp - 0x10]
mov byte [rax + 0x71], 0
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x1800c4cb4], 0xa
setge cl
mov edx, ecx
or dl, al
xor cl, al
mov eax, edx
xor al, cl
mov r8d, 0x710c976f
cmovne r8d, ebx
test cl, cl
mov eax, r8d
mov ecx, 0x710c976f
cmovne eax, ecx
test dl, dl
cmovne eax, r8d
jmp 0x180077640
cmp dword [rbp - 0x14], 0
mov eax, 0xdc87be67
mov ecx, 0x4f646e5b
cmove eax, ecx
jmp 0x180077640
mov eax, dword [rbp - 0x14]
cmp eax, 1
mov eax, 0xdc87be67
mov ecx, 0x76776277
cmove eax, ecx
jmp 0x180077640
mov eax, 0x4fa890a1
jmp 0x180077640
mov eax, dword [0x1800c4cb0]
lea ecx, [rax - 1]
imul ecx, eax
and cl, 1
cmp dword [0x1800c4cb4], 0xa
setge al
mov edx, eax
xor dl, cl
or cl, al
mov eax, ecx
xor al, dl
mov r8d, 0x10fc3451
mov eax, 0xc6d2f67f
cmovne r8d, eax
test cl, cl
mov eax, 0x10fc3451
jmp 0x180077fb5
cmp dword [rbp - 0x14], 0
mov eax, 0xc37e66b4
mov ecx, 0x68d6d9d9
cmovle eax, ecx
jmp 0x180077640
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xebfe04a5
and ecx, 0x1401fb5a
or ecx, edx
xor ecx, 0x1401fb5b
xor eax, ecx
test eax, ecx
setne al
sete cl
cmp dword [0x1800c4cb4], 0xa
setl dl
setge r8b
mov r9d, edx
or dl, cl
and cl, r8b
and r9b, al
or r9b, cl
xor r8b, al
xor dl, 1
or dl, r8b
mov ecx, edx
xor cl, r9b
test dl, dl
mov eax, 0x26d409fe
cmovne eax, edi
test r9b, r9b
cmove eax, edi
test cl, cl
mov ecx, 0x26d409fe
cmove eax, ecx
jmp 0x180077640
mov rax, qword [rbp - 0x28]
mov rax, qword [rbp - 0x10]
mov r9, qword [rax + 0x80]
mov rax, qword [rbp - 0x28]
mov r8, qword [rax]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
mov edx, 1
call fcn.1800987fc
add rsp, 0x20
mov eax, 0xd1865cf0
jmp 0x180077640
mov rax, qword [rbp - 0x10]
mov byte [rax + 0x71], 0
mov eax, 0x666d50c0
jmp 0x180077640
mov rax, qword [rbp - 0x20]
mov byte [rax], 1
mov eax, 0xb4a1cc1c
jmp 0x180077640
cmp byte [rbp - 3], 0
mov eax, 0x5ca536ec
mov ecx, 0x353150a6
cmovne eax, ecx
jmp 0x180077640
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, 0x47072dab
jmp 0x180077640
mov rax, qword [rbp - 0x10]
cmp byte [rax + 0x71], 0
mov rax, qword [rbp - 0x20]
sete byte [rax]
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
mov eax, 0x4fa890a1
jmp 0x180077640
mov eax, dword [0x1800c4cb0]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x1800c4cb4], 0xa
setge cl
mov edx, eax
xor dl, cl
or cl, al
mov eax, ecx
xor al, dl
mov r8d, 0x666d50c0
cmovne r8d, ebx
test cl, cl
mov eax, 0x666d50c0
cmovne eax, r8d
test dl, dl
cmove eax, r8d
jmp 0x180077640
mov rax, qword [rbp - 0x40]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
mov edx, 0xffffffff
call qword [rax + 0x18]
add rsp, 0x20
mov rcx, qword [rbp - 0x40]
mov dword [rcx], eax
mov rax, qword [rbp - 0x48]
mov rax, qword [rbp - 0x48]
mov dword [rax], 0xffffffff
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov ecx, dword [rcx]
cmp ecx, dword [rax]
mov rax, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov eax, 0xb5dbbf37
mov ecx, 0x2a68e86e
cmove eax, ecx
jmp 0x180077640
mov rax, qword [rbp - 0x28]
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
movabs rcx, 0xfec3e68d3f32f433
add rax, rcx
sub rax, qword [rbp - 0x30]
sub rax, rcx
mov rcx, qword [rbp - 0x28]
mov qword [rcx], rax
mov rax, qword [rbp - 0x28]
cmp qword [rax], 0
mov eax, 0xee497844
mov ecx, 0x4b122d30
cmove eax, ecx
jmp 0x180077640
mov eax, 0x47072dab
jmp 0x180077640
mov rax, qword [rbp - 0x58]
mov rax, qword [rbp - 0x58]
mov qword [rax], 0x20
mov rax, qword [rbp - 0x30]
mov rax, qword [rbp - 0x50]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 0x68]
mov r9, qword [rbp - 0x30]
add r9, 0x20
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x10]
add rdx, 0x74
mov rax, qword [rbp - 0x50]
mov r10, qword [rcx]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call qword [r10 + 0x40]
add rsp, 0x30
mov dword [rbp - 0x14], eax
mov eax, 0x3a6dc436
jmp 0x180077640
mov eax, 0xb4a1cc1c
jmp 0x180077640
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
not ecx
or ecx, eax
cmp ecx, 0xffffffff
sete cl
cmp dword [0x1800c4cb4], 0xa
setl dl
xor cl, dl
mov r8d, ecx
mov eax, 0xf7c0640
cmovne eax, r13d
not r8b
test r8b, dl
cmove eax, r12d
test cl, cl
cmovne eax, r13d
test r8b, dl
cmovne eax, r13d
jmp 0x180077640
mov eax, dword [0x1800c4cb0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0x4546bbbe
and ecx, 0xbab94441
or ecx, edx
xor ecx, 0xbab94440
xor eax, ecx
test eax, ecx
sete al
setne cl
cmp dword [0x1800c4cb4], 0xa
setge dl
setl r8b
mov r9d, r8d
xor r9b, cl
and r9b, r8b
and dl, al
and r8b, cl
or r8b, dl
mov eax, r9d
xor al, r8b
mov ecx, 0x61880090
cmovne ecx, r15d
test r8b, r8b
mov eax, ecx
cmovne eax, r15d
test r9b, r9b
cmove eax, ecx
jmp 0x180077640
mov rax, qword [rbp - 0x10]
mov eax, 0x10fc3451
jmp 0x180077640
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
mov eax, 0xee5d4e93
jmp 0x180077640
cmp byte [rbp - 5], 0
mov eax, 0x4b122d30
mov ecx, 0xebf692cf
cmovne eax, ecx
jmp 0x180077640
cmp eax, 0xb4a1cc1c
jne 0x180077640
mov rax, qword [rbp - 0x20]
movzx ebx, byte [rax]
mov rcx, qword [rbp]
xor rcx, rbp
sub rsp, 0x20
call fcn.180091700
add rsp, 0x20
mov eax, ebx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret