Function at 0x140050400
Capabilities:
Write file on windows

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x198]
sub rsp, 0x298
xor edx, edx
mov r14, rcx
call fcn.140024c30
mov edx, eax
shr edx, 0x1f
test dl, dl
jne 0x1400509a9
mov eax, dword [r14 + 0x264]
lea rcx, [r14 + 0x28]
imul eax, dword [r14 + 0x258]
mov qword [rsp + 0x2b0], rbx
mov ebx, 2
mov qword [rsp + 0x288], rdi
mov edx, ebx
mov qword [rsp + 0x280], r12
mov dword [r14 + 0x28c], eax
call fcn.140025da0
mov rdi, rax
cmp word [rax], 0x50
jne 0x14005098c
lea rcx, [rax + 8]
lea edx, [rbx + 0xe]
call fcn.140028160
cmp eax, 0x10
je 0x140050494
cmp eax, 0x18
jne 0x14005098c
mov ebx, 3
mov dword [r14 + 0x290], ebx
mov edx, eax
mov r9d, dword [r14 + 0x260]
mov rcx, r14
mov r8d, dword [r14 + 0x258]
call fcn.140024600
lea rdx, [rdi + 0x16]
lea rcx, str._24_fps_
call fcn.140028240
test al, al
je 0x1400504d2
mov r12d, 0x18
jmp 0x140050560
lea rdx, [rdi + 0x16]
lea rcx, str._25_fps_
call fcn.140028240
test al, al
je 0x1400504ee
mov r12d, 0x19
jmp 0x140050560
lea rdx, [rdi + 0x16]
lea rcx, str._29.97_fps_
call fcn.140028240
test al, al
je 0x14005050a
mov r12d, 0x1c
jmp 0x140050560
lea rdx, [rdi + 0x16]
lea rcx, str._29.97DF_fps_
call fcn.140028240
test al, al
je 0x140050526
mov r12d, 0x1d
jmp 0x140050560
lea rdx, [rdi + 0x16]
lea rcx, str._30_fps_
call fcn.140028240
test al, al
je 0x140050542
mov r12d, 0x1e
jmp 0x140050560
lea rdx, [rdi + 0x16]
lea rcx, str._30DF_fps_
call fcn.140028240
test al, al
je 0x14005098c
mov r12d, 0x1f
mov rcx, qword [r14 + 0x270]
test rcx, rcx
je 0x140050571
call fcn.1400b60a4
mov ecx, dword [r14 + 0x290]
imul ecx, dword [r14 + 0x28c]
call fcn.1400b609c
mov qword [r14 + 0x270], rax
test rax, rax
jne 0x14005059b
mov eax, 0x80040202
jmp 0x140050991
mov rcx, qword [r14 + 0x10]
mov edx, 3
mov qword [rsp + 0x290], rsi
mov qword [rsp + 0x278], r13
mov qword [rsp + 0x270], r15
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [r14 + 0x10]
mov edx, recv
mov rdi, rax
mov r8, qword [rcx]
call qword [r8 + 0x40]
mov rcx, qword [r14 + 0x10]
mov edx, recv
mov r13, rax
mov r8, qword [rcx]
call qword [r8 + 0x40]
xor ebx, ebx
mov qword [rbp + 0x1b8], rax
test rdi, rdi
je 0x14005060a
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp byte [rdi + rsi], bl
jne 0x140050600
jmp 0x14005060c
mov esi, ebx
test r13, r13
je 0x14005062b
mov r15, 0xffffffffffffffff
nop dword [rax + rax]
inc r15
cmp byte [r15 + r13], bl
jne 0x140050620
jmp 0x14005062e
mov r15d, ebx
test esi, esi
jne 0x1400506c3
mov rcx, qword [r14 + 0x10]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rdi, rax
test rax, rax
je 0x1400506b7
mov rcx, rax
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x140050654
add rdi, rax
cmp rdi, rcx
jbe 0x140050671
cmp byte [rdi], 0x2e
je 0x140050671
dec rdi
cmp rdi, rcx
ja 0x140050664
mov rsi, rdi
dec rdi
cmp byte [rsi], 0x2e
je 0x140050691
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rdi + rsi], bl
jne 0x140050683
add rsi, rdi
mov rdi, rsi
cmp rdi, rcx
jb 0x1400506a9
movzx eax, byte [rdi]
cmp al, 0x5c
je 0x1400506a9
cmp al, 0x2f
je 0x1400506a9
dec rdi
cmp rdi, rcx
jae 0x140050696
inc rdi
sub esi, edi
test rdi, rdi
je 0x1400506b7
test esi, esi
jne 0x1400506c3
lea rdi, str.unnamed
mov esi, 7
xor edx, edx
lea rcx, [rsp + 0x68]
mov r8d, 0x202
call fcn.1400ba240
movabs rax, 0x352e3156464654
mov qword [rsp + 0x60], rax
test esi, esi
je 0x140050702
mov eax, 0x3f
lea rcx, [rsp + 0x68]
cmp esi, eax
mov rdx, rdi
cmovl eax, esi
movsxd r8, eax
call fcn.1400b9e30
test r15d, r15d
je 0x140050722
mov eax, 0x7f
lea rcx, [rbp - 0x58]
cmp r15d, eax
mov rdx, r13
cmovl eax, r15d
movsxd r8, eax
call fcn.1400b9e30
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x30]
mov r15, qword [rsp + 0x270]
mov r13, qword [rsp + 0x278]
mov qword [rbp + 0x28], rax
test rcx, rcx
je 0x140050830
movzx eax, word [rsp + 0x40]
lea r9, [rbp + 0x1c0]
mov dword [rbp + 0x1b8], eax
lea r8, [rbp + 0x1b8]
movzx eax, word [rsp + 0x42]
lea rdx, str._d__d__d___d:_d:_d
mov dword [rbp + 0x1c0], eax
movzx eax, word [rsp + 0x46]
mov dword [rbp + 0x1c8], eax
movzx eax, word [rsp + 0x48]
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1c8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], ebx
call fcn.140010150
movzx eax, word [rbp + 0x1b8]
lea rdx, [rbp + 0x28]
mov word [rsp + 0x40], ax
lea rcx, [rsp + 0x40]
movzx eax, word [rbp + 0x1c0]
mov word [rsp + 0x42], ax
movzx eax, word [rbp + 0x1c8]
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x54]
mov word [rsp + 0x4a], ax
movzx eax, word [rsp + 0x58]
mov word [rsp + 0x4c], ax
mov word [rsp + 0x4e], bx
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
movzx eax, byte [rsp + 0x40]
sub al, 0x6c
mov byte [rbp + 0x3a], al
movzx eax, byte [rsp + 0x42]
mov byte [rbp + 0x39], al
movzx eax, byte [rsp + 0x46]
mov byte [rbp + 0x38], al
movzx eax, byte [rsp + 0x48]
mov byte [rbp + 0x3b], al
movzx eax, byte [rsp + 0x4a]
mov byte [rbp + 0x3c], al
movzx eax, byte [rsp + 0x4c]
mov byte [rbp + 0x3d], al
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [rbp + 0x3e], al
call fcn.1400feb8c
mov rcx, qword [r14 + 0x10]
mov edx, 0x19
mov byte [rbp + 0x3f], al
mov eax, dword [r14 + 0x260]
mov dword [rbp + 0x48], 0x76c
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x50], r12d
mov rax, qword [rcx]
call qword [rax + 0x40]
test rax, rax
je 0x1400508c4
lea rdx, [rbp + 0x1b8]
mov rcx, rax
call fcn.1400ff4c8
mov r9d, dword [rbp + 0x50]
lea rcx, [rbp + 0x54]
mov r8d, dword [rbp + 0x4c]
movaps xmm1, xmm0
mov byte [rsp + 0x20], 1
call fcn.140050c70
mov ecx, dword [r14 + 0x290]
lea r9, [rbp + 0x1b8]
mov eax, dword [r14 + 0x258]
lea rdx, [rsp + 0x60]
mov dword [rbp + 0x5e], eax
mov r8d, 0x20a
mov dword [rbp + 0x6a], ecx
lea eax, [rcx*8]
mov dword [rbp + 0x5a], 3
mov rcx, qword [r14 + 0x38]
mov dword [rbp + 0x66], eax
mov dword [rbp + 0x62], ebx
mov dword [rbp + 0x1b8], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r14
call fcn.1400246e0
movsxd rcx, dword [rbp + 0x6a]
mov esi, eax
mov rdi, qword [r14 + 0x268]
mov eax, 0xffffffff
imul rdi, rcx
movsxd rcx, dword [rbp + 0x5e]
mov rdx, rbx
imul rdi, rcx
mov rcx, qword [r14 + 0x38]
cmp rdi, rax
cmovg rdi, rax
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [r14 + 0x38]
lea r9, [rbp + 0x1b8]
mov r8d, 0x20a
mov dword [rbp + 0x166], edi
lea rdx, [rsp + 0x60]
mov dword [rbp + 0x1b8], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, esi
mov rsi, qword [rsp + 0x290]
jmp 0x140050991
mov eax, 0x80040208
mov rdi, qword [rsp + 0x288]
mov rbx, qword [rsp + 0x2b0]
mov r12, qword [rsp + 0x280]
add rsp, 0x298
pop r14
pop rbp
ret