Function at 0x100aadd0
Capabilities:
Write file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e9eeb
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1438
call fcn.100ddf80
mov eax, dword [0x101a12fc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1440], esi
mov al, byte [esi + 0x30]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x1438], edi
test al, al
je 0x100ab567
lea eax, [ebp - 0x1420]
mov byte [ebp - 0x1422], 0
lea ecx, [ebp - 0xe18]
push 0x470
push eax
mov dword [ebp - 0x1428], ecx
call dword [0x100ef8cc]
push dword [0x101b9790]
call fcn.100a9030
add esp, 0xc
mov dword [ebp - 0x1444], eax
mov ecx, edi
call fcn.100d1e00
test al, al
je 0x100ab0d8
mov ecx, edi
call fcn.100d1520
test al, al
jne 0x100ab0d8
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x18c
je 0x100ab0d8
mov ecx, edi
call fcn.100d0a00
mov ecx, dword [ebp - 0x1438]
xor edi, edi
mov dword [ebp - 0x1400], eax
mov dword [ebp - 0x142c], edi
call fcn.100d1a10
test al, al
je 0x100aafcb
push 0x200
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100dd9d6
lea eax, [ebp - 0x1421]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x1434]
push eax
lea eax, [ebp - 0x1448]
push eax
push edi
push dword [ebp - 0x1438]
call fcn.100aa950
mov dl, byte [ebp - 0x1422]
add esp, 0x24
mov cl, byte [ebp - 0x1421]
movzx edi, dl
movzx esi, cl
lea eax, [esi + edi*4]
cmp eax, 0x80
ja 0x100aafa2
cmp dword [ebp - 0x1448], 1
jne 0x100aafa2
cmp cl, 4
ja 0x100aaf4c
mov eax, dword [ebp - 0x218]
inc dl
mov dword [ebp + edi*4 - 0xf18], eax
mov eax, dword [ebp - 0x1434]
mov dword [ebp + edi*4 - 0xe98], eax
jmp 0x100aaf9c
xor al, al
and cl, 3
xor dh, dh
cmp al, cl
sbb eax, eax
shr esi, 2
neg eax
add eax, esi
mov dword [ebp - 0x143c], eax
je 0x100aafa2
xor edi, edi
mov esi, eax
lea ebx, [ebx]
mov eax, dword [ebp + edi*4 - 0x218]
inc dh
movzx ecx, dl
inc dl
mov dword [ebp + ecx*4 - 0xf18], eax
mov eax, dword [ebp - 0x1434]
lea eax, [eax + edi*4]
movzx edi, dh
mov dword [ebp + ecx*4 - 0xe98], eax
cmp edi, esi
jb 0x100aaf70
mov byte [ebp - 0x1422], dl
mov edi, dword [ebp - 0x142c]
mov ecx, dword [ebp - 0x1438]
inc edi
mov dword [ebp - 0x142c], edi
call fcn.100d1a10
movzx eax, al
cmp edi, eax
jl 0x100aaec2
mov esi, dword [ebp - 0x1440]
mov edi, dword [ebp - 0x1438]
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x297
je 0x100ab097
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x29a
je 0x100ab097
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x29b
je 0x100ab097
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x29c
je 0x100ab097
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x47
je 0x100ab097
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x25f
je 0x100ab06b
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x263
je 0x100ab06b
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x264
je 0x100ab06b
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x265
je 0x100ab06b
mov ecx, edi
call fcn.100d0c40
cmp eax, 0x2b1
jne 0x100ab0d8
movzx edi, byte [ebp - 0x1422]
lea eax, [ebp - 0xf18]
push 0
push 0
shl edi, 2
push 4
add eax, edi
push eax
push dword [ebp - 0x1410]
call fcn.10079fb0
mov eax, dword [ebp - 0x1410]
jmp 0x100ab0c8
movzx edi, byte [ebp - 0x1422]
lea eax, [ebp - 0xf18]
push 0
push 0
shl edi, 2
add eax, edi
push 4
push eax
mov eax, dword [ebp - 0x1410]
add eax, 0xfffffffc
push eax
call fcn.10079fb0
mov eax, dword [ebp - 0x1410]
add eax, 0xfffffffc
add esp, 0x14
mov dword [ebp + edi - 0xe98], eax
inc byte [ebp - 0x1422]
cmp byte [esi + 0x31], 0
je 0x100ab3e9
xor al, al
mov byte [ebp - 0x1421], al
cmp byte [esi + 0x6a5], al
jbe 0x100ab12a
movzx ecx, al
lea eax, [ebp - 0xf98]
push 0
push 0
push 4
lea eax, [eax + ecx*4]
push eax
push dword [esi + ecx*4 + 0x610]
call fcn.10079fb0
mov al, byte [ebp - 0x1421]
add esp, 0x14
add al, 1
mov byte [ebp - 0x1421], al
cmp al, byte [esi + 0x6a5]
jb 0x100ab0f2
xor al, al
mov dword [ebp - 0x142c], 0xd8
mov byte [ebp - 0x1421], al
lea ecx, [esi + 0x4b0]
lea eax, [esi + 0x40]
lea edx, [ebp - 0x1420]
mov dword [ebp - 0x1434], eax
mov edi, eax
mov eax, dword [edi]
cmp eax, dword [edx]
jne 0x100ab16c
cmp byte [ecx], 0
jne 0x100ab16c
mov eax, dword [esi + 0x6a0]
dec eax
test eax, 0x1ff
jne 0x100ab172
inc byte [ebp - 0x1421]
add edi, 4
add edx, 4
inc ecx
dec dword [ebp - 0x142c]
jne 0x100ab153
mov edx, dword [esi + 0x588]
xor cl, cl
mov edi, dword [ebp - 0x1444]
cmp edi, edx
jne 0x100ab1a1
mov eax, dword [esi + 0x6a0]
dec eax
test eax, 0x1ff
jne 0x100ab1a3
mov cl, 0x80
mov al, byte [esi + 0x6a4]
or cl, al
mov byte [ebp - 0x142d], al
mov al, byte [ebp - 0x1421]
mov byte [ebp - 0xe17], al
mov al, byte [esi + 0x6a5]
mov byte [ebp - 0xe15], cl
lea ecx, [ebp - 0xe14]
mov byte [ebp - 0xe18], 0
mov byte [ebp - 0xe16], al
mov dword [ebp - 0x1428], ecx
cmp edi, edx
jne 0x100ab1fd
cmp byte [esi + 0x58c], 0
jne 0x100ab1fd
mov eax, dword [esi + 0x6a0]
dec eax
test eax, 0x1ff
jne 0x100ab21a
cmp edi, edx
mov dword [ebp - 0xe14], edx
lea ecx, [ebp - 0xe10]
setne al
mov dword [ebp - 0x1428], ecx
mov byte [esi + 0x58c], al
movzx edi, byte [ebp - 0x142d]
lea eax, [esi + 0x690]
push edi
push eax
push ecx
call fcn.100dd9d0
mov ecx, dword [ebp - 0x1428]
add esp, 0xc
add ecx, edi
mov dword [ebp - 0x142c], 0xffffffff
xor edx, edx
mov eax, dword [esi + edx*4 + 0x40]
lea edi, [esi + 0x4b0]
cmp eax, dword [ebp + edx*4 - 0x1420]
jne 0x100ab26d
cmp byte [edi + edx], 0
jne 0x100ab26d
mov eax, dword [esi + 0x6a0]
dec eax
test eax, 0x1ff
jne 0x100ab280
mov al, dl
sub al, byte [ebp - 0x142c]
dec al
mov dword [ebp - 0x142c], edx
mov byte [ecx], al
inc ecx
inc edx
cmp edx, 0xd8
jb 0x100ab246
lea edx, [ebp - 0x1420]
mov dword [ebp - 0x142c], 0xd8
lea eax, [esi + 0x40]
lea esp, [esp]
mov eax, dword [eax]
mov dword [ebp - 0x143c], eax
cmp eax, dword [edx]
jne 0x100ab2c5
cmp byte [edi], 0
jne 0x100ab2c5
mov eax, dword [esi + 0x6a0]
dec eax
test eax, 0x1ff
jne 0x100ab2ca
mov eax, dword [ebp - 0x143c]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x1434]
mov eax, dword [eax]
cmp eax, dword [edx]
setne al
add edx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebp - 0x1434]
add eax, 4
dec dword [ebp - 0x142c]
mov dword [ebp - 0x1434], eax
jne 0x100ab2a0
xor al, al
mov dword [ebp - 0x1428], ecx
mov byte [ebp - 0x1421], al
cmp byte [esi + 0x6a5], al
jbe 0x100ab34e
mov edi, 1
nop
movzx ecx, al
xor dl, dl
movzx edx, dl
mov eax, dword [esi + ecx*4 + 0x590]
cmp eax, dword [ebp + ecx*4 - 0xf98]
mov ecx, dword [ebp - 0x1428]
mov al, byte [ebp - 0x1421]
cmove edx, edi
add al, 1
mov byte [ebp - 0x1421], al
mov byte [ecx], dl
inc ecx
mov dword [ebp - 0x1428], ecx
cmp al, byte [esi + 0x6a5]
jb 0x100ab310
xor dl, dl
cmp byte [esi + 0x6a5], dl
jbe 0x100ab380
jmp 0x100ab360
movzx eax, dl
add dl, 1
mov eax, dword [esi + eax*4 + 0x610]
mov dword [ecx], eax
add ecx, 4
cmp dl, byte [esi + 0x6a5]
jb 0x100ab360
mov dword [ebp - 0x1428], ecx
xor dl, dl
cmp byte [esi + 0x6a5], dl
jbe 0x100ab3b0
lea ebx, [ebx]
movzx eax, dl
add dl, 1
mov eax, dword [esi + eax*4 + 0x590]
mov dword [ecx], eax
add ecx, 4
cmp dl, byte [esi + 0x6a5]
jb 0x100ab390
mov dword [ebp - 0x1428], ecx
xor dl, dl
cmp byte [esi + 0x6a5], dl
jbe 0x100ab3e9
lea ebx, [ebx]
movzx eax, dl
mov edi, dword [ebp + eax*4 - 0xf98]
cmp dword [esi + eax*4 + 0x590], edi
je 0x100ab3d8
mov dword [ecx], edi
add ecx, 4
add dl, 1
cmp dl, byte [esi + 0x6a5]
jb 0x100ab3c0
mov dword [ebp - 0x1428], ecx
mov eax, dword [ebp - 0x1444]
lea edi, [esi + 0x40]
mov dword [esi + 0x588], eax
mov ecx, 0x11c
mov eax, dword [ebp - 0x1440]
lea esi, [ebp - 0x1420]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [ebp - 0x1422]
lea esi, [ebp - 0xf18]
mov byte [eax + 0x6a5], cl
lea edi, [eax + 0x590]
mov ecx, 0x20
xorps xmm0, xmm0
rep movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x610]
mov ecx, 0x20
lea esi, [ebp - 0xe98]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x1438]
mov esi, eax
lea edi, [esi + 0x690]
movdqu xmmword [edi], xmm0
call fcn.100d1de0
and al, 0xf
push 0
mov byte [esi + 0x6a4], al
push 0
movzx eax, al
push eax
push edi
push dword [ebp - 0x1400]
call fcn.10079fb0
add esp, 0x14
cmp byte [esi + 0x31], 0
je 0x100ab558
mov edi, dword [ebp - 0x1428]
lea eax, [ebp - 0xe18]
sub edi, eax
cmp edi, 0xc00
ja 0x100ab557
push 0
lea eax, [ebp - 0x143c]
push eax
push edi
lea eax, [ebp - 0xe18]
push eax
push dword [esi + 0x34]
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [ebp - 0x143c], edi
jae 0x100ab558
push dword [esi + 0x34]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x18
mov ecx, esp
push eax
push str.winerror__x
push ecx
call fcn.1009f310
add esp, 0xc
lea eax, [ebp - 0xfb0]
push eax
call fcn.1009ce80
cmp dword [ebp - 0xf9c], 0x10
lea eax, [ebp - 0xfb0]
mov dword [ebp - 4], 0
cmovae eax, dword [ebp - 0xfb0]
push eax
push str.Trace_recording_has_stopped_unexpectedly_because_WriteFile___failed._GetLastError_____s._r_n
call fcn.10044d60
add esp, 0x24
mov byte [esi + 0x30], 0
cmp dword [ebp - 0xf9c], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x100ab53a
push dword [ebp - 0xfb0]
call fcn.100dd8b4
add esp, 4
mov dword [ebp - 0xf9c], 0xf
mov dword [ebp - 0xfa0], 0
mov byte [ebp - 0xfb0], 0
jmp 0x100ab558
int3
inc dword [esi + 0x6a0]
mov byte [esi + 0x31], 1
call fcn.100535f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100dd9b4
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4