Function at 0x450d90
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57193a
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x5eaea4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x114], edi
mov eax, dword [ebp + 8]
mov cl, byte [edi + 0xc0]
mov dword [ebp - 0x118], eax
mov eax, dword [edi + 0x10]
mov dword [edi + 0x90], eax
mov eax, dword [edi + 0x14]
mov dword [edi + 0xb0], 0x52
mov dword [edi + 0xb4], 0
mov dword [edi + 0x94], eax
test cl, cl
je 0x450e8f
mov eax, dword [edi + 0x10]
mov dword [edi + 0xa0], eax
add dword [edi + 0xa0], 0x52
mov eax, dword [edi + 0x14]
mov dword [edi + 0xa4], eax
adc dword [edi + 0xa4], 0
cmp cl, 2
jne 0x450e4f
cmp dword [edi + 0x14], 0
mov ecx, 0x800000
mov eax, dword [edi + 0x10]
mov dword [edi + 0x84], 0x800000
jg 0x450e5b
jl 0x450e45
cmp eax, ecx
jae 0x450e5b
mov dword [edi + 0x84], eax
mov ecx, eax
jmp 0x450e5b
mov dword [edi + 0x84], 0
xor ecx, ecx
mov eax, dword [edi + 0x10]
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0x14]
mov dword [edi + 0xac], eax
xor eax, eax
add ecx, 0x52
adc eax, eax
add dword [edi + 0xa8], ecx
mov ecx, edi
adc dword [edi + 0xac], eax
call fcn.00450b10
test al, al
je 0x451818
xorps xmm0, xmm0
push 0
push 0x40a
movups xmmword [ebp - 0xd0], xmm0
movups xmmword [ebp - 0xc0], xmm0
movq qword [ebp - 0xb0], xmm0
call fcn.00479fb0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0
push eax
mov dword [ebp - 4], 0
call fcn.0047c5e0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xb0]
call fcn.0047c530
push dword [ebp - 0xb0]
call fcn.00479e60
push 0
push dword [ebp - 0xac]
call fcn.00479f90
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x44], 0x20
push eax
push dword [ebp - 0xac]
call fcn.0047be10
add esp, 0x2c
call fcn.00454aa0
xorps xmm0, xmm0
mov dword [ebp - 0x44], eax
movups xmmword [ebp - 0x110], xmm0
movups xmmword [ebp - 0x100], xmm0
cmp byte [eax + 0x1f], 0
jl 0x450f9a
push dword [ebp - 0xb0]
call fcn.0047a8e0
push 0x20
push dword [ebp - 0x44]
push 0
push 0x40a
call fcn.0047c0c0
add esp, 0x14
mov dword [ebp - 0x44], eax
test eax, eax
je 0x450f9a
push eax
push dword [ebp - 0xb0]
call fcn.0047a950
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x20
push eax
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0xb0]
call fcn.0047a7f0
push dword [ebp - 0x44]
call fcn.0047bc40
add esp, 0x18
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x110]
call fcn.0044c6d0
add esp, 4
lea edx, [edi + 0x4a]
lea ecx, [ebp - 0xa8]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xf0], xmm0
movups xmm0, xmmword [eax + 0x10]
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xa0], 0
push eax
movups xmmword [ebp - 0xe0], xmm0
push 1
xorps xmm0, xmm0
movq qword [ebp - 0xa8], xmm0
call fcn.0044c5d0
add esp, 8
mov byte [ebp - 4], 1
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x6c], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0x74]
mov edx, 0x5d74a6
movq qword [ebp - 0x74], xmm0
push eax
push 1
call fcn.0044c5d0
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 0xf0]
xorps xmm0, xmm0
mov dword [ebp - 0x94], 0
lea ecx, [ebp - 0x9c]
movq qword [ebp - 0x9c], xmm0
push eax
push 0x20
call fcn.0044c5d0
mov byte [ebp - 4], 3
lea eax, [ebp - 0xf0]
movups xmm0, xmmword [ebp - 0xd0]
add esp, 8
mov dword [ebp - 0x88], 0
lea edx, [edi + 0x10]
movups xmmword [ebp - 0x34], xmm0
lea ecx, [ebp - 0x90]
movups xmm0, xmmword [ebp - 0xc0]
push eax
push 8
movups xmmword [ebp - 0x24], xmm0
xorps xmm0, xmm0
movq qword [ebp - 0x90], xmm0
call fcn.0044c5d0
add esp, 0xc
mov byte [ebp - 4], 4
mov al, byte [0x5f17a3]
test al, al
je 0x451835
push ecx
mov byte [ebp - 0x3d], al
lea edx, [ebp - 0x3d]
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x60], 0
push eax
xorps xmm0, xmm0
lea ecx, [ebp - 0x68]
push 1
movq qword [ebp - 0x68], xmm0
call fcn.0044c5d0
add esp, 8
mov byte [ebp - 4], 5
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x54], 0
xorps xmm0, xmm0
lea edx, [edi + 0x49]
lea ecx, [ebp - 0x5c]
movq qword [ebp - 0x5c], xmm0
push eax
push 1
call fcn.0044c5d0
add esp, 8
mov byte [ebp - 4], 6
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x7c], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0x84]
mov edx, 0x5d74a0
movq qword [ebp - 0x84], xmm0
push eax
push 6
call fcn.0044c5d0
add esp, 0xc
push 0
push 0
mov byte [ebp - 4], 7
push dword [edi + 0x94]
push dword [edi + 0x90]
push dword [edi]
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x4514cc
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
movq qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x50]
push dword [ebp - 0xa8]
push 0
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
cmp esi, ecx
je 0x4511a6
mov eax, dword [ebp - 0x74]
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x4511b8
push dword [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
xor edi, edi
nop word [eax + eax]
cmp esi, ecx
je 0x4511d0
mov al, byte [ebp + edi - 0x34]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x4511e5
lea eax, [ebp - 0x34]
add eax, edi
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
inc edi
cmp edi, 0x20
jl 0x4511c0
mov edi, dword [ebp - 0x114]
xor edx, edx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x9c]
add eax, edx
cmp esi, ecx
je 0x45120c
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x45121f
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
inc edx
mov dword [ebp - 0x44], edx
cmp edx, 0x20
jl 0x4511f6
xor edx, edx
mov dword [ebp - 0x44], edx
nop dword [eax]
mov eax, dword [ebp - 0x90]
add eax, edx
cmp esi, ecx
je 0x451246
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x451259
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
inc edx
mov dword [ebp - 0x44], edx
cmp edx, 8
jl 0x451230
cmp esi, ecx
je 0x451273
mov eax, dword [ebp - 0x68]
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x451285
push dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
cmp esi, ecx
je 0x451296
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x4512a8
push dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0x44], edx
nop dword [eax]
mov eax, dword [ebp - 0x84]
add eax, edx
cmp esi, ecx
je 0x4512c6
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x4512d9
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044cc60
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
inc edx
mov dword [ebp - 0x44], edx
cmp edx, 6
jl 0x4512b0
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x78]
push 0
push edx
sub ecx, eax
push ecx
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x451492
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x12]
nop word [eax + eax]
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x451310
xor eax, eax
mov dword [ebp - 0x118], edi
mov word [ebp - 0x134], ax
lea eax, [ebp - 0x12]
cmp edi, eax
mov dword [ebp - 0x124], edx
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0x120], 7
je 0x451373
mov ecx, dword [ebp - 0x118]
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x134]
call fcn.0044a8b0
push 0x18
push str.Cannot_write_tail._Code
push ecx
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 9
call fcn.004538c0
xor ecx, ecx
add edi, 0x30
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x144], xmm0
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x2c]
movq qword [ebp - 0x11c], xmm0
movq qword [ebp - 0x1c], xmm0
cmp edi, eax
je 0x4513e7
mov ecx, edi
call fcn.00449490
movups xmm0, xmmword [ebp - 0x144]
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x11c]
movq qword [edi + 0x10], xmm0
jmp 0x451421
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x451421
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x451417
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451850
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov edx, dword [ebp - 0x120]
cmp edx, 8
jb 0x451461
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x451457
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451855
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4515be
sub esi, ecx
mov eax, ecx
cmp esi, 0x1000
jb 0x45148c
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45185a
push esi
jmp 0x4515b5
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4514c3
sub esi, ecx
mov eax, ecx
cmp esi, 0x1000
jb 0x4514b9
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45185f
push esi
push ecx
call fcn.0052edf8
add esp, 8
mov byte [ebp - 0x3d], 1
jmp 0x4515c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.0044d3b0
push eax
mov edx, str.Tail:_Cannot_set_file_pointer._Code
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x134]
call fcn.00453260
mov esi, eax
add edi, 0x30
add esp, 4
cmp edi, esi
je 0x451527
mov ecx, edi
call fcn.00449490
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0x120]
cmp edx, 8
jb 0x451567
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45155d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451864
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 7
mov word [ebp - 0x134], ax
cmp edx, 8
jb 0x4515be
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4515b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451869
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov byte [ebp - 0x3d], 0
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x451611
mov edx, dword [ebp - 0x7c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4515ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45186e
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x45165a
mov edx, dword [ebp - 0x54]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45163b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451873
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x4516a3
mov edx, dword [ebp - 0x60]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x451684
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451878
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x90]
test ecx, ecx
je 0x4516fb
mov edx, dword [ebp - 0x88]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4516d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45187d
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x451753
mov edx, dword [ebp - 0x94]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45172b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451882
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov ecx, dword [ebp - 0x74]
test ecx, ecx
je 0x45179c
mov edx, dword [ebp - 0x6c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45177d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451887
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x4517f4
mov edx, dword [ebp - 0xa0]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4517cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45188c
push edx
push ecx
call fcn.0052edf8
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
push dword [ebp - 0xb0]
call fcn.00479e60
mov ecx, dword [ebp - 0xac]
add esp, 4
test ecx, ecx
je 0x451815
push ecx
call fcn.0047bc40
add esp, 4
mov al, byte [ebp - 0x3d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052ebb7
mov esp, ebp
pop ebp
ret 4
push str.DynamicInformationFromTail_not_initialized__ep_
lea ecx, [ebp - 0x50]
call fcn.00447e30
push 0x5e7b44
lea eax, [ebp - 0x50]
push eax
call fcn.005478cd
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
call fcn.0054a8a1
int3