Function at 0x437040
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
xor eax, eax
mov r8d, dword [0x0056b078]
mov r9d, dword [0x0056af1c]
sub eax, 1
mov r10d, r8d
add r10d, eax
imul r8d, r10d
and r8d, 1
cmp r8d, 0
sete r11b
cmp r9d, 0xa
setl bl
mov sil, r11b
xor sil, 0xff
mov dil, bl
xor dil, 0xff
mov r14b, 1
xor r14b, 1
mov r15b, sil
and r15b, 0xff
and r11b, r14b
mov r12b, dil
and r12b, 0xff
and bl, r14b
or r15b, r11b
or r12b, bl
xor r15b, r12b
or sil, dil
xor sil, 0xff
or r14b, 1
and sil, r14b
or r15b, sil
test r15b, 1
mov qword [rbp], rdx
mov qword [rbp - 8], rcx
jne 0x4370df
jmp 0x43756c
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x18], rax
mov rax, rcx
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
mov rax, rcx
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x28], rax
mov rax, rcx
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 8]
mov qword [rcx], rdx
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp]
mov qword [r8], r9
mov r10, qword [rbp - 0x28]
mov qword [r10], 0
mov r11, qword [r8]
cmp qword [r8], 0
setne bl
mov esi, dword [0x0056b078]
mov edi, dword [0x0056af1c]
mov r14d, esi
sub r14d, 0x38687c36
sub r14d, 1
add r14d, 0x38687c36
imul esi, r14d
and esi, 1
cmp esi, 0
sete r15b
cmp edi, 0xa
setl r12b
mov r13b, r15b
xor r13b, 0xff
mov sil, r12b
xor sil, 0xff
mov dil, 1
xor dil, 0
mov r14b, r13b
and r14b, 0
and r15b, dil
mov cl, sil
and cl, 0
and r12b, dil
or r14b, r15b
or cl, r12b
xor r14b, cl
or r13b, sil
xor r13b, 0xff
or dil, 0
and r13b, dil
or r14b, r13b
test r14b, 1
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x38], r11
mov byte [rbp - 0x39], bl
jne 0x4371f2
jmp 0x43756c
mov al, byte [rbp - 0x39]
test al, 1
jne 0x437202
jmp 0x4372f6
xor eax, eax
mov ecx, dword [0x0056b078]
mov edx, dword [0x0056af1c]
sub eax, 1
mov r8d, ecx
add r8d, eax
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
and r11b, r10b
xor r9b, r10b
or r11b, r9b
test r11b, 1
jne 0x437249
jmp 0x4375ce
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
sub rsp, 0x20
call sym.nimCStrLen
add rsp, 0x20
mov edx, dword [0x0056b078]
mov r8d, dword [0x0056af1c]
mov r9d, edx
sub r9d, 0x5f7fbe5f
sub r9d, 1
add r9d, 0x5f7fbe5f
imul edx, r9d
and edx, 1
cmp edx, 0
sete r10b
cmp r8d, 0xa
setl r11b
mov bl, r10b
xor bl, 0xff
mov sil, r11b
xor sil, 0xff
mov dil, 1
xor dil, 1
mov r14b, bl
and r14b, 0xff
and r10b, dil
mov r15b, sil
and r15b, 0xff
and r11b, dil
or r14b, r10b
or r15b, r11b
xor r14b, r15b
or bl, sil
xor bl, 0xff
or dil, 1
and bl, dil
or r14b, bl
test r14b, 1
mov qword [rbp - 0x48], rax
jne 0x4372e9
jmp 0x4375ce
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
jmp 0x437403
mov eax, dword [0x0056b078]
mov ecx, dword [0x0056af1c]
mov edx, eax
sub edx, 0x48b414b2
sub edx, 1
add edx, 0x48b414b2
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 1
mov sil, r10b
and sil, 0xff
and r8b, bl
mov dil, r11b
and dil, 0xff
and r9b, bl
or sil, r8b
or dil, r9b
xor sil, dil
or r10b, r11b
xor r10b, 0xff
or bl, 1
and r10b, bl
or sil, r10b
test sil, 1
jne 0x437376
jmp 0x4375e7
mov eax, dword [0x0056b078]
mov ecx, dword [0x0056af1c]
mov edx, eax
sub edx, 0xcc4430a3
sub edx, 1
add edx, 0xcc4430a3
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 1
mov sil, r10b
and sil, 0xff
and r8b, bl
mov dil, r11b
and dil, 0xff
and r9b, bl
or sil, r8b
or dil, r9b
xor sil, dil
or r10b, r11b
xor r10b, 0xff
or bl, 1
and r10b, bl
or sil, r10b
test sil, 1
jne 0x4373f6
jmp 0x4375e7
xor eax, eax
mov ecx, eax
mov qword [rbp - 0x50], rcx
jmp 0x437403
mov rax, qword [rbp - 0x50]
mov ecx, dword [0x0056b078]
mov edx, dword [0x0056af1c]
mov r8d, ecx
sub r8d, 0x63bba6ac
sub r8d, 1
add r8d, 0x63bba6ac
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
xor r11b, 0xff
mov bl, r10b
xor bl, 0xff
mov sil, 1
xor sil, 0
mov dil, r11b
and dil, 0
and r9b, sil
mov r14b, bl
and r14b, 0
and r10b, sil
or dil, r9b
or r14b, r10b
xor dil, r14b
or r11b, bl
xor r11b, 0xff
or sil, 0
and r11b, sil
or dil, r11b
test dil, 1
mov qword [rbp - 0x58], rax
jne 0x437492
jmp 0x4375ec
mov rax, qword [rbp - 0x18]
mov r9, qword [rax]
sub rsp, 0x20
mov rcx, qword [rbp - 0x38]
mov edx, 1
mov r8, qword [rbp - 0x58]
call sub.msvcrt.dll_fwrite
add rsp, 0x20
mov rcx, qword [rbp - 0x28]
mov qword [rcx], rax
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rdx]
sub rsp, 0x20
call sub.msvcrt.dll_fflush
add rsp, 0x20
xor r10d, r10d
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
mov eax, dword [0x0056b078]
mov r11d, dword [0x0056af1c]
sub r10d, 1
mov esi, eax
add esi, r10d
imul eax, esi
and eax, 1
cmp eax, 0
sete bl
cmp r11d, 0xa
setl dil
mov r14b, bl
xor r14b, 0xff
mov r15b, dil
xor r15b, 0xff
mov r12b, 1
xor r12b, 1
mov r13b, r14b
and r13b, 0xff
and bl, r12b
mov al, r15b
and al, 0xff
and dil, r12b
or r13b, bl
or al, dil
xor r13b, al
or r14b, r15b
xor r14b, 0xff
or r12b, 1
and r14b, r12b
or r13b, r14b
test r13b, 1
jne 0x43755b
jmp 0x4375ec
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, 0x10
mov qword [rbp - 0x60], rax
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x68], rax
mov rax, rcx
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x70], rax
mov rax, rcx
call fcn.0055ed60
sub rsp, rax
mov rax, rsp
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 8]
mov qword [rcx], rdx
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp]
mov qword [r8], r9
mov qword [rax], 0
jmp 0x4370df
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
sub rsp, 0x20
call sym.nimCStrLen
add rsp, 0x20
jmp 0x437249
jmp 0x437376
mov rax, qword [rbp - 0x18]
mov r9, qword [rax]
sub rsp, 0x20
mov rcx, qword [rbp - 0x38]
mov edx, 1
mov r8, qword [rbp - 0x58]
call sub.msvcrt.dll_fwrite
add rsp, 0x20
mov rcx, qword [rbp - 0x28]
mov qword [rcx], rax
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rdx]
sub rsp, 0x20
call sub.msvcrt.dll_fflush
add rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
jmp 0x437492