Function at 0x18000d4d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r15
sub rsp, 0xe0
mov rax, qword [0x180045010]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rcx, qword [0x180047050]
lea rdx, str.EEPHRD_r
add rcx, 0x12c92e0
call fcn.180001120
mov rbx, qword [0x180047050]
xor r15d, r15d
mov rbp, 0xffffffffffffffff
cmp dword [rbx + 0x12ca2f8], 1
jne 0x18000da82
mov rdi, qword [rbx + 0x4174770]
cmp dword [rdi + 8], 1
je 0x18000d56f
lea rdx, [rbx + 0x12c92e0]
mov r8, rbp
inc r8
cmp byte [rdx + r8], r15b
jne 0x18000d541
mov rcx, qword [rdi + 0xe00028]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [0x180047050]
mov dword [rdi + 0xe00020], r15d
cmp dword [rbx + 0x12ca2f8], 1
jne 0x18000da82
lea rdi, [rbx + 0xbb12e0]
mov rbx, qword [rbx + 0x4174770]
cmp dword [rbx + 8], 1
jne 0x18000d598
mov byte [rdi], r15b
jmp 0x18000da82
mov qword [rsp + 0x100], rsi
call qword [sym.imp.WINMM.dll_timeGetTime]
mov esi, eax
call qword [sym.imp.WINMM.dll_timeGetTime]
movsxd rdx, dword [rbx + 0xe0001c]
cmp dword [rbx + 0xe00018], edx
jne 0x18000d5d7
sub eax, esi
cmp eax, 0x3e8
ja 0x18000da7a
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18000d5a8
sub eax, dword [rbx + 0xe00024]
cmp eax, 0x14
jae 0x18000d5ef
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18000d5a8
mov r8d, r15d
mov r9, rdx
nop word [rax + rax]
movzx eax, byte [r9 + rbx + 0x700018]
lea ecx, [rdx + 1]
mov byte [rdi], al
lea rdi, [rdi + 1]
inc r8d
lea rax, [r9 + 1]
cmp ecx, 0x700000
mov edx, r15d
mov r9, r15
cmovb edx, ecx
cmovb r9, rax
cmp edx, dword [rbx + 0xe00018]
jne 0x18000d600
test r8d, r8d
jle 0x18000da7a
mov rbx, qword [0x180047050]
mov edx, r15d
movsxd rax, r8d
mov qword [rsp + 0x108], r14
movaps xmmword [rsp + 0xd0], xmm6
mov byte [rax + rbx + 0xbb12e0], r15b
mov rcx, qword [rbx + 0x4174770]
mov r9d, dword [rcx + 0xe00018]
mov eax, dword [rcx + 0xe0001c]
cmp r9d, eax
je 0x18000d698
inc eax
mov dword [rcx + 0xe0001c], eax
cmp eax, 0x700000
jb 0x18000d691
mov dword [rcx + 0xe0001c], r15d
inc edx
cmp edx, r8d
jl 0x18000d670
lea r10, [rbx + 0xbb12e7]
mov r11, r15
mov r8d, r15d
mov r9d, r15d
mov rdx, r15
nop dword [rax + rax]
movzx ecx, byte [rdx + r10]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x18000d6c9
movsx eax, al
lea ecx, [r8 + r8*4]
lea r8d, [rax + rcx*2]
jmp 0x18000d6d4
cmp cl, 0x2d
jne 0x18000d6df
mov r9d, 1
inc rdx
cmp rdx, 0x10
jl 0x18000d6b0
jmp 0x18000d6e7
cmp cl, 0x2c
jne 0x18000d6e7
inc rdx
add r10, rdx
mov eax, r8d
neg eax
cmp r9d, 1
movzx ecx, byte [r10]
cmovne eax, r8d
mov dword [rsp + r11*4 + 0x40], eax
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x18000d70f
sub cl, 0x2c
cmp cl, 1
ja 0x18000d71b
inc r11
cmp r11, 0x1000
jl 0x18000d6a2
movsd xmm6, qword [0x18003ee90]
lea rdx, [rsp + 0x44]
mov r14d, 3
lea rcx, [rbx + 0x6009c0]
mov r8d, r14d
nop dword [rax + rax]
mov eax, dword [rdx - 4]
lea rcx, [rcx + 0x20]
sub eax, 0x8000
lea rdx, [rdx + 0x10]
movd xmm0, eax
mov eax, dword [rdx - 0x10]
cvtdq2pd xmm0, xmm0
sub eax, 0x8000
divsd xmm0, xmm6
movsd qword [rcx - 0x80], xmm0
movsd qword [rcx - 0x20], xmm0
movd xmm0, eax
mov eax, dword [rdx - 0xc]
cvtdq2pd xmm0, xmm0
sub eax, 0x8000
divsd xmm0, xmm6
movsd qword [rcx - 0x78], xmm0
movsd qword [rcx - 0x18], xmm0
movd xmm0, eax
mov eax, dword [rdx - 8]
cvtdq2pd xmm0, xmm0
sub eax, 0x8000
divsd xmm0, xmm6
movsd qword [rcx - 0x70], xmm0
movsd qword [rcx - 0x10], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm6
movsd qword [rcx - 0x68], xmm0
movsd qword [rcx - 8], xmm0
sub r8, 1
jne 0x18000d740
lea rcx, [rbx + 0x12c92e0]
lea rdx, str.EEAMPRD_r
call fcn.180001120
mov rbx, qword [0x180047050]
cmp dword [rbx + 0x12ca2f8], 1
jne 0x18000da6a
mov rdi, qword [rbx + 0x4174770]
cmp dword [rdi + 8], 1
je 0x18000d836
lea rdx, [rbx + 0x12c92e0]
inc rbp
cmp byte [rdx + rbp], r15b
jne 0x18000d805
mov rcx, qword [rdi + 0xe00028]
lea r9, [rsp + 0x30]
mov r8, rbp
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [0x180047050]
mov dword [rdi + 0xe00020], r15d
cmp dword [rbx + 0x12ca2f8], 1
jne 0x18000da6a
lea rdi, [rbx + 0xbb12e0]
mov rbx, qword [rbx + 0x4174770]
cmp dword [rbx + 8], 1
jne 0x18000d85f
mov byte [rdi], r15b
jmp 0x18000da6a
call qword [sym.imp.WINMM.dll_timeGetTime]
mov esi, eax
call qword [sym.imp.WINMM.dll_timeGetTime]
movsxd rdx, dword [rbx + 0xe0001c]
cmp dword [rbx + 0xe00018], edx
jne 0x18000d896
sub eax, esi
cmp eax, 0x3e8
ja 0x18000da6a
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18000d867
sub eax, dword [rbx + 0xe00024]
cmp eax, 0x14
jae 0x18000d8ae
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18000d867
mov r8d, r15d
mov r9, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + rbx + 0x700018]
lea ecx, [rdx + 1]
mov byte [rdi], al
lea rdi, [rdi + 1]
inc r8d
lea rax, [r9 + 1]
cmp ecx, 0x700000
mov edx, r15d
mov r9, r15
cmovb edx, ecx
cmovb r9, rax
cmp edx, dword [rbx + 0xe00018]
jne 0x18000d8c0
test r8d, r8d
jle 0x18000da6a
mov rbx, qword [0x180047050]
mov edx, r15d
movsxd rax, r8d
mov byte [rax + rbx + 0xbb12e0], r15b
mov rcx, qword [rbx + 0x4174770]
mov r9d, dword [rcx + 0xe00018]
mov eax, dword [rcx + 0xe0001c]
cmp r9d, eax
je 0x18000d948
inc eax
mov dword [rcx + 0xe0001c], eax
cmp eax, 0x700000
jb 0x18000d941
mov dword [rcx + 0xe0001c], r15d
inc edx
cmp edx, r8d
jl 0x18000d920
lea r10, [rbx + 0xbb12e8]
mov r11, r15
mov r8d, r15d
mov r9d, r15d
mov rdx, r15
nop dword [rax + rax]
movzx ecx, byte [rdx + r10]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x18000d979
movsx eax, al
lea ecx, [r8 + r8*4]
lea r8d, [rax + rcx*2]
jmp 0x18000d984
cmp cl, 0x2d
jne 0x18000d98f
mov r9d, 1
inc rdx
cmp rdx, 0x10
jl 0x18000d960
jmp 0x18000d997
cmp cl, 0x2c
jne 0x18000d997
inc rdx
add r10, rdx
mov eax, r8d
neg eax
cmp r9d, 1
movzx ecx, byte [r10]
cmovne eax, r8d
mov dword [rsp + r11*4 + 0x40], eax
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x18000d9bf
sub cl, 0x2c
cmp cl, 1
ja 0x18000d9cb
inc r11
cmp r11, 0x1000
jl 0x18000d952
lea rdx, [rsp + 0x44]
lea rcx, [rbx + 0x600900]
nop word [rax + rax]
mov eax, dword [rdx - 4]
lea rcx, [rcx + 0x20]
sub eax, 0x8000
lea rdx, [rdx + 0x10]
movd xmm0, eax
mov eax, dword [rdx - 0x10]
cvtdq2pd xmm0, xmm0
sub eax, 0x8000
divsd xmm0, xmm6
movsd qword [rcx - 0x80], xmm0
movsd qword [rcx - 0x20], xmm0
movd xmm0, eax
mov eax, dword [rdx - 0xc]
cvtdq2pd xmm0, xmm0
sub eax, 0x8000
divsd xmm0, xmm6
movsd qword [rcx - 0x78], xmm0
movsd qword [rcx - 0x18], xmm0
movd xmm0, eax
mov eax, dword [rdx - 8]
cvtdq2pd xmm0, xmm0
sub eax, 0x8000
divsd xmm0, xmm6
movsd qword [rcx - 0x70], xmm0
movsd qword [rcx - 0x10], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm6
movsd qword [rcx - 0x68], xmm0
movsd qword [rcx - 8], xmm0
sub r14, 1
jne 0x18000d9e0
mov r14, qword [rsp + 0x108]
movaps xmm6, xmmword [rsp + 0xd0]
mov rsi, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.180014fd0
mov rbx, qword [rsp + 0x110]
add rsp, 0xe0
pop r15
pop rdi
pop rbp
ret