Function at 0x433bdf
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rax, qword [rbp + 0x10]
add rax, 0x70
mov eax, dword [rax]
mov dword [rbp - 0x14], eax
mov rax, qword [rbp + 0x10]
add rax, 0x530
mov eax, dword [rax]
mov dword [rbp - 8], eax
movabs rax, 0x34
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x54]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, dword [rbp + 0x20]
cmp eax, 0
jle 0x433c5c
movabs rax, 0x20
mov word [rbp - 0x2a], ax
mov eax, dword [rbp + 0x20]
mov word [rbp - 0x28], ax
mov eax, 0x34
mov dword [rbp - 0x38], eax
mov eax, dword [rbp + 0x30]
add eax, 3
and eax, 0xfffffffc
mov dword [rbp + 0x30], eax
mov eax, 0x7f
mov byte [rbp - 0x54], al
mov eax, 0x45
mov byte [rbp - 0x53], al
mov eax, 0x4c
mov byte [rbp - 0x52], al
mov eax, 0x46
mov byte [rbp - 0x51], al
mov eax, 1
mov byte [rbp - 0x50], al
mov eax, 1
mov byte [rbp - 0x4f], al
mov eax, 1
mov byte [rbp - 0x4e], al
mov eax, dword [rbp - 0x14]
cmp eax, 3
jne 0x433cba
mov eax, 1
mov word [rbp - 0x44], ax
jmp 0x433da9
mov eax, dword [rbp - 0x14]
and eax, 4
cmp eax, 0
je 0x433cd7
mov eax, 3
mov word [rbp - 0x44], ax
jmp 0x433ce0
mov eax, 2
mov word [rbp - 0x44], ax
mov rax, qword [rbp + 0x10]
add rax, 0x50
mov rax, qword [rax]
cmp rax, 0
je 0x433d2d
mov rax, qword [rbp + 0x10]
add rax, 0x50
mov ecx, 0
mov r9, rcx
mov ecx, 1
mov r8, rcx
mov rax, qword [rax]
mov r11, rax
mov rax, qword [rbp + 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00431990
mov dword [rbp - 0x3c], eax
jmp 0x433d66
mov eax, dword [rbp - 0x14]
and eax, 2
cmp eax, 0
setne al
movzx eax, al
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, str._start
mov r11, rax
mov rax, qword [rbp + 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00431990
mov dword [rbp - 0x3c], eax
mov eax, dword [rbp - 0x3c]
cmp eax, 0xffffffff
jne 0x433d89
mov rax, qword [rbp + 0x10]
add rax, 0x548
mov rax, qword [rax]
add rax, 0x40
mov eax, dword [rax]
mov dword [rbp - 0x3c], eax
mov rax, qword [rbp + 0x10]
add rax, 0x220
mov eax, dword [rax]
cmp eax, 0
je 0x433da9
mov eax, 0xffffffff
jmp 0x4341d0
mov eax, 3
mov word [rbp - 0x42], ax
mov eax, 1
mov dword [rbp - 0x40], eax
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x34], eax
movabs rax, 0x34
mov word [rbp - 0x2c], ax
movabs rax, 0x28
mov word [rbp - 0x26], ax
mov eax, dword [rbp - 8]
mov word [rbp - 0x24], ax
mov eax, dword [rbp - 8]
sub eax, 1
mov word [rbp - 0x22], ax
mov rax, qword [rbp + 0x18]
mov r9, rax
movabs rax, 0x34
mov r8, rax
movabs rax, 1
mov r11, rax
lea rax, [rbp - 0x54]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0x28]
cmp rax, 0
je 0x433e61
mov eax, dword [rbp + 0x20]
movsxd rax, eax
shl rax, 5
mov rcx, qword [rbp + 0x18]
mov r9, rcx
mov r8, rax
movabs rax, 1
mov r11, rax
mov rax, qword [rbp + 0x28]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, dword [rbp + 0x20]
movsxd rax, eax
shl rax, 5
add rax, 0x34
shl rax, 0x20
shr rax, 0x20
mov dword [rbp - 0xc], eax
mov rax, qword [rbp + 0x10]
add rax, 0x588
mov rax, qword [rax]
mov r11, rax
mov rax, qword [rbp + 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004324f8
mov eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
mov ecx, dword [rbp - 8]
cmp eax, ecx
jge 0x433fd0
jmp 0x433ec5
mov eax, dword [rbp - 4]
mov ecx, eax
add eax, 1
mov dword [rbp - 4], eax
jmp 0x433ea5
mov rax, qword [rbp + 0x10]
add rax, 0x528
mov qword [rbp - 0x90], rax
mov rax, qword [rbp + 0x38]
cmp rax, 0
je 0x433efb
mov eax, dword [rbp - 4]
movsxd rax, eax
shl rax, 2
mov rcx, qword [rbp + 0x38]
add rcx, rax
jmp 0x433f03
mov eax, dword [rbp - 4]
jmp 0x433f07
mov ecx, dword [rcx]
mov eax, ecx
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp - 0x90]
mov rcx, qword [rcx]
add rcx, rax
mov rcx, qword [rcx]
mov qword [rbp - 0x20], rcx
mov rax, qword [rbp - 0x20]
add rax, 0x28
mov eax, dword [rax]
cmp eax, 8
je 0x433fcb
mov rax, qword [rbp - 0x20]
add rax, 0x44
mov ecx, dword [rbp - 0xc]
mov eax, dword [rax]
cmp ecx, eax
jae 0x433f71
mov rax, qword [rbp + 0x18]
mov r11, rax
mov eax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fputc
mov eax, dword [rbp - 0xc]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x433f35
mov rax, qword [rbp - 0x20]
add rax, 0x3c
mov eax, dword [rax]
mov dword [rbp - 0x10], eax
mov eax, dword [rbp - 0x10]
cmp eax, 0
je 0x433fc0
mov rax, qword [rbp - 0x20]
add rax, 8
mov ecx, dword [rbp - 0x10]
movsxd rcx, ecx
mov rdx, qword [rbp + 0x18]
mov r9, rdx
mov r8, rcx
movabs rcx, 1
mov r11, rcx
mov rax, qword [rax]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x10]
add eax, ecx
mov dword [rbp - 0xc], eax
jmp 0x433eb8
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x34]
cmp eax, ecx
jae 0x434005
mov rax, qword [rbp + 0x18]
mov r11, rax
mov eax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fputc
mov eax, dword [rbp - 0xc]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x433fd0
mov eax, 0
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
mov ecx, dword [rbp - 8]
cmp eax, ecx
jge 0x4341cb
jmp 0x43402d
mov eax, dword [rbp - 4]
mov ecx, eax
add eax, 1
mov dword [rbp - 4], eax
jmp 0x43400d
lea rax, [rbp - 0x7c]
mov qword [rbp - 0x88], rax
movabs rax, 0x28
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x88]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
add rax, 0x528
mov ecx, dword [rbp - 4]
movsxd rcx, ecx
shl rcx, 3
mov rax, qword [rax]
add rax, rcx
mov rax, qword [rax]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
cmp rax, 0
je 0x434190
mov rax, qword [rbp - 0x88]
mov rcx, qword [rbp - 0x20]
add rcx, 0x20
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 4
mov rcx, qword [rbp - 0x20]
add rcx, 0x28
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 8
mov rcx, qword [rbp - 0x20]
add rcx, 0x2c
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 0x24
mov rcx, qword [rbp - 0x20]
add rcx, 0x38
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 0x1c
mov rcx, qword [rbp - 0x20]
add rcx, 0x30
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x20]
add rax, 0x50
mov rax, qword [rax]
cmp rax, 0
je 0x434134
mov rax, qword [rbp - 0x88]
add rax, 0x18
mov rcx, qword [rbp - 0x20]
add rcx, 0x50
mov rcx, qword [rcx]
add rcx, 0x24
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 0x20
mov rcx, qword [rbp - 0x20]
add rcx, 0x34
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 0xc
mov rcx, qword [rbp - 0x20]
add rcx, 0x40
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 0x10
mov rcx, qword [rbp - 0x20]
add rcx, 0x44
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp - 0x88]
add rax, 0x14
mov rcx, qword [rbp - 0x20]
add rcx, 0x3c
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp + 0x18]
mov r9, rax
movabs rax, 0x28
mov r8, rax
movabs rax, 1
mov r11, rax
mov rax, qword [rbp - 0x88]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
jmp 0x434020
mov eax, 0
leave
ret