Function at 0x450df0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57210a
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x5ebea4]
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 0x450eef
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 0x450eaf
cmp dword [edi + 0x14], 0
mov ecx, 0x800000
mov eax, dword [edi + 0x10]
mov dword [edi + 0x84], 0x800000
jg 0x450ebb
jl 0x450ea5
cmp eax, ecx
jae 0x450ebb
mov dword [edi + 0x84], eax
mov ecx, eax
jmp 0x450ebb
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.00450b70
test al, al
je 0x451878
xorps xmm0, xmm0
push 0
push 0x40a
movups xmmword [ebp - 0xd0], xmm0
movups xmmword [ebp - 0xc0], xmm0
movq qword [ebp - 0xb0], xmm0
call fcn.0047a7a0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0
push eax
mov dword [ebp - 4], 0
call fcn.0047cdb0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xb0]
call fcn.0047cd00
push dword [ebp - 0xb0]
call fcn.0047a650
push 0
push dword [ebp - 0xac]
call fcn.0047a780
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.0047c5f0
add esp, 0x2c
call fcn.00454b00
xorps xmm0, xmm0
mov dword [ebp - 0x44], eax
movups xmmword [ebp - 0x110], xmm0
movups xmmword [ebp - 0x100], xmm0
cmp byte [eax + 0x1f], 0
jl 0x450ffa
push dword [ebp - 0xb0]
call fcn.0047b0d0
push 0x20
push dword [ebp - 0x44]
push 0
push 0x40a
call fcn.0047c890
add esp, 0x14
mov dword [ebp - 0x44], eax
test eax, eax
je 0x450ffa
push eax
push dword [ebp - 0xb0]
call fcn.0047b140
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x20
push eax
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0xb0]
call fcn.0047afe0
push dword [ebp - 0x44]
call fcn.0047c420
add esp, 0x18
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x110]
call fcn.0044c730
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.0044c630
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, 0x5d84b6
movq qword [ebp - 0x74], xmm0
push eax
push 1
call fcn.0044c630
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.0044c630
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.0044c630
add esp, 0xc
mov byte [ebp - 4], 4
mov al, byte [0x5f27c4]
test al, al
je 0x451895
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.0044c630
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.0044c630
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, 0x5d84b0
movq qword [ebp - 0x84], xmm0
push eax
push 6
call fcn.0044c630
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 0x45152c
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.0044ccc0
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
cmp esi, ecx
je 0x451206
mov eax, dword [ebp - 0x74]
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x451218
push dword [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
xor edi, edi
nop word [eax + eax]
cmp esi, ecx
je 0x451230
mov al, byte [ebp + edi - 0x34]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x451245
lea eax, [ebp - 0x34]
add eax, edi
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
inc edi
cmp edi, 0x20
jl 0x451220
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 0x45126c
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x45127f
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
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 0x451256
xor edx, edx
mov dword [ebp - 0x44], edx
nop dword [eax]
mov eax, dword [ebp - 0x90]
add eax, edx
cmp esi, ecx
je 0x4512a6
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x4512b9
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
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 0x451290
cmp esi, ecx
je 0x4512d3
mov eax, dword [ebp - 0x68]
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x4512e5
push dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
cmp esi, ecx
je 0x4512f6
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x451308
push dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
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 0x451326
mov al, byte [eax]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x4c], ecx
jmp 0x451339
push eax
push ecx
lea ecx, [ebp - 0x50]
call fcn.0044ccc0
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 0x451310
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 0x4514f2
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 0x451370
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 0x4513d3
mov ecx, dword [ebp - 0x118]
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x134]
call fcn.0044a910
push 0x18
push str.Cannot_write_tail._Code
push ecx
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 9
call fcn.00453920
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 0x451447
mov ecx, edi
call fcn.004494f0
movups xmm0, xmmword [ebp - 0x144]
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x11c]
movq qword [edi + 0x10], xmm0
jmp 0x451481
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x451481
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x451477
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518b0
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov edx, dword [ebp - 0x120]
cmp edx, 8
jb 0x4514c1
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4514b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518b5
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x45161e
sub esi, ecx
mov eax, ecx
cmp esi, 0x1000
jb 0x4514ec
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518ba
push esi
jmp 0x451615
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x451523
sub esi, ecx
mov eax, ecx
cmp esi, 0x1000
jb 0x451519
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518bf
push esi
push ecx
call fcn.0052f5d6
add esp, 8
mov byte [ebp - 0x3d], 1
jmp 0x451622
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.0044d410
push eax
mov edx, str.Tail:_Cannot_set_file_pointer._Code
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x134]
call fcn.004532c0
mov esi, eax
add edi, 0x30
add esp, 4
cmp edi, esi
je 0x451587
mov ecx, edi
call fcn.004494f0
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 0x4515c7
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4515bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518c4
push edx
push ecx
call fcn.0052f5d6
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 0x45161e
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x451614
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518c9
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov byte [ebp - 0x3d], 0
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x451671
mov edx, dword [ebp - 0x7c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45164f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518ce
push edx
push ecx
call fcn.0052f5d6
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 0x4516ba
mov edx, dword [ebp - 0x54]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45169b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518d3
push edx
push ecx
call fcn.0052f5d6
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 0x451703
mov edx, dword [ebp - 0x60]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4516e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518d8
push edx
push ecx
call fcn.0052f5d6
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 0x45175b
mov edx, dword [ebp - 0x88]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x451733
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518dd
push edx
push ecx
call fcn.0052f5d6
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 0x4517b3
mov edx, dword [ebp - 0x94]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45178b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518e2
push edx
push ecx
call fcn.0052f5d6
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 0x4517fc
mov edx, dword [ebp - 0x6c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4517dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518e7
push edx
push ecx
call fcn.0052f5d6
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 0x451854
mov edx, dword [ebp - 0xa0]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45182c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4518ec
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
push dword [ebp - 0xb0]
call fcn.0047a650
mov ecx, dword [ebp - 0xac]
add esp, 4
test ecx, ecx
je 0x451875
push ecx
call fcn.0047c420
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.0052f395
mov esp, ebp
pop ebp
ret 4
push str.DynamicInformationFromTail_not_initialized__ep_
lea ecx, [ebp - 0x50]
call fcn.00447e90
push 0x5e8c44
lea eax, [ebp - 0x50]
push eax
call fcn.0054809d
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
int3